1 heat_template_version: 2016-04-08
4 Deploy an OpenStack environment, consisting of several node types (roles),
5 Controller, Compute, BlockStorage, SwiftStorage and CephStorage. The Storage
6 roles enable independent scaling of the storage components, but the minimal
7 deployment is one Controller and one Compute node.
10 # TODO(shadower): we should probably use the parameter groups to put
14 # Common parameters (not specific to a role)
16 description: The password for the keystone admin account, used for monitoring, querying neutron etc.
20 description: The password for the aodh services.
25 description: The ceilometer backend type.
27 CeilometerMeteringSecret:
28 description: Secret shared by the ceilometer services.
32 description: The password for the ceilometer service account.
35 CeilometerMeterDispatcher:
37 description: Dispatcher to process meter data
40 - allowed_values: ['gnocchi', 'database']
41 # This has to be an UUID so for now we generate it outside the template
45 description: The Ceph cluster FSID. Must be a UUID.
48 description: The Ceph monitors key. Can be created with ceph-authtool --gen-print-key.
53 description: The Ceph admin client key. Can be created with ceph-authtool --gen-print-key.
56 CinderEnableNfsBackend:
58 description: Whether to enable or not the NFS backend for Cinder
62 description: The Ceph client key. Can be created with ceph-authtool --gen-print-key. Currently only used for external Ceph deployments to create the openstack user keyring.
68 description: List of externally managed Ceph Mon Host IPs. Only used for external Ceph deployments.
69 CinderEnableRbdBackend:
71 description: Whether to enable or not the Rbd backend for Cinder
75 description: The DNS name of this cloud. E.g. ci-overcloud.tripleo.org
79 description: Should be used for arbitrary ips.
83 description: Enable IPv6 in Corosync
87 description: Set to True to enable debugging on all services.
91 description: Syslog address where HAproxy will send its log
95 description: A list of IP/Hostname allowed to connect to horizon
96 type: comma_delimited_list
98 default: 'REBUILD_PRESERVE_EPHEMERAL'
99 description: What policy to use when reconstructing instances. REBUILD for rebuilds, REBUILD_PRESERVE_EPHEMERAL to preserve /mnt.
101 InternalApiVirtualFixedIPs:
104 Control the IP allocation for the InternalApiVirtualInterface port. E.g.
105 [{'ip_address':'1.2.3.4'}]
109 description: Name of an existing Nova key pair to enable SSH access to the instances
112 - custom_constraint: nova.keypair
115 description: Enable IPv6 features in Memcached.
117 NeutronBridgeMappings:
119 The OVS logical->physical bridge mappings to use. See the Neutron
120 documentation for details. Defaults to mapping br-ex - the external
121 bridge on hosts - to a physical name 'datacentre' which can be used
122 to create provider networks (and we use this for the default floating
123 network) - if changing this either use different post-install network
124 scripts or be sure to keep 'datacentre' as a mapping network name.
125 type: comma_delimited_list
126 default: "datacentre:br-ex"
127 NeutronControlPlaneID:
130 description: Neutron ID or name for ctlplane network.
131 NeutronEnableTunnelling:
137 Enable/disable the L2 population feature in the Neutron agents.
140 type: comma_delimited_list
141 default: 'datacentre'
143 If set, flat networks to configure in neutron plugins. Defaults to
144 'datacentre' to permit external network creation.
147 description: The tenant network type for Neutron.
148 type: comma_delimited_list
150 description: The password for the neutron service account, used by neutron agents.
153 NeutronPublicInterface:
155 description: What interface to bridge onto br-ex for network nodes.
157 NeutronMetadataProxySharedSecret:
158 description: Shared secret to prevent spoofing
163 The default MTU for tenant networks. For VXLAN/GRE tunneling, this should
164 be at least 50 bytes smaller than the MTU on the physical network. This
165 value will be used to set the MTU on the virtual Ethernet device.
166 This value will be used to construct the NeutronDnsmasqOptions, since that
167 will determine the MTU that is assigned to the VM host through DHCP.
173 The tunnel types for the Neutron tenant network.
174 type: comma_delimited_list
175 type: comma_delimited_list
179 The core plugin for Neutron. The value should be the entrypoint to be loaded
180 from neutron.core_plugins namespace.
182 NeutronServicePlugins:
183 default: "router,qos"
185 Comma-separated list of service plugin entrypoints to be loaded from the
186 neutron.service_plugins namespace.
187 type: comma_delimited_list
189 default: "vxlan,vlan,flat,gre"
191 Comma-separated list of network type driver entrypoints to be loaded.
192 type: comma_delimited_list
193 NeutronMechanismDrivers:
194 default: 'openvswitch'
196 The mechanism drivers for the Neutron tenant network.
197 type: comma_delimited_list
198 type: comma_delimited_list
199 NeutronAgentExtensions:
202 Comma-separated list of extensions enabled for the Neutron agents.
203 type: comma_delimited_list
204 NeutronAllowL3AgentFailover:
206 description: Allow automatic l3-agent failover
210 description: Whether to enable l3-agent HA
214 description: Enable IPv6 features in Nova
217 description: The password for the nova service account, used by nova-api.
220 #TODO(ccamacho): Remove after landing Ntp in all roles
223 description: Comma-separated list of ntp servers
224 type: comma_delimited_list
225 PublicVirtualFixedIPs:
228 Control the IP allocation for the PublicVirtualInterface port. E.g.
229 [{'ip_address':'1.2.3.4'}]
234 description: Salt for the rabbit cookie, change this to force the randomly generated rabbit cookie to change.
237 description: The username for RabbitMQ
240 description: The password for RabbitMQ
246 Rabbit client subscriber parameter to specify
247 an SSL connection to the RabbitMQ host.
251 description: Set rabbit subscriber port, change this if using SSL
254 description: The password for Redis
257 StorageVirtualFixedIPs:
260 Control the IP allocation for the StorageVirtualInterface port. E.g.
261 [{'ip_address':'1.2.3.4'}]
263 StorageMgmtVirtualFixedIPs:
266 Control the IP allocation for the StorageMgmgVirtualInterface port. E.g.
267 [{'ip_address':'1.2.3.4'}]
269 #TODO(ccamacho):Remove after landing composable timezone for all nodes
272 description: The timezone to be set on nodes.
275 default: 'localdomain'
278 The DNS domain used for the hosts. This should match the dhcp_domain
279 configured in the Undercloud neutron. Defaults to localdomain.
283 Extra properties or metadata passed to Nova for the created nodes in
284 the overcloud. It's accessible via the Nova metadata API.
287 # Controller-specific params
293 controllerExtraConfig:
296 Deprecated. Use ControllerExtraConfig via parameter_defaults instead.
300 default: overcloud-full
302 - custom_constraint: glance.image
303 OvercloudControlFlavor:
304 description: Flavor for control nodes to request when deploying.
308 - custom_constraint: nova.flavor
309 ControlVirtualInterface:
311 description: Interface where virtual ip will be assigned.
315 description: Whether to enable fencing in Pacemaker or not.
319 description: Whether to use Galera instead of regular MariaDB.
321 ControllerEnableCephStorage:
323 description: Whether to deploy Ceph Storage (OSD) on the Controller
325 ControllerSchedulerHints:
327 description: Optional scheduler hints to pass to nova
332 Additional configuration to inject into the cluster. The format required
333 may be implementation specific, e.g puppet hieradata. Any role specific
334 ExtraConfig, e.g controllerExtraConfig takes precedence over ExtraConfig.
339 Pacemaker fencing configuration. The JSON should have
340 the following structure:
344 "agent": "AGENT_NAME",
345 "host_mac": "HOST_MAC_ADDRESS",
346 "params": {"PARAM_NAME": "PARAM_VALUE"}
354 "agent": "fence_xvm",
355 "host_mac": "52:54:00:aa:bb:cc",
357 "multicast_address": "225.0.0.12",
358 "port": "baremetal_0",
360 "manage_key_file": true,
361 "key_file": "/etc/fence_xvm.key",
362 "key_file_password": "abcdef"
370 description: The short name of the Gnocchi backend to use. Should be one
371 of swift, rbd or file
374 - allowed_values: ['swift', 'file', 'rbd']
375 GnocchiIndexerBackend:
377 description: The short name of the Gnocchi indexer backend to use.
380 description: The password for the gnocchi service account.
383 InstanceNameTemplate:
384 default: 'instance-%08x'
385 description: Template string to be used to generate instance names
389 description: Whether to manage IPtables rules.
393 description: Whether IPtables rules should be purged before setting up the ones.
395 MysqlInnodbBufferPoolSize:
397 Specifies the size of the buffer pool in megabytes. Setting to
398 zero should be interpreted as "no value" and will defer to the
403 description: Configures MySQL max_connections config setting
406 PublicVirtualInterface:
409 Specifies the interface where the public-facing virtual ip will be assigned.
410 This should be int_public when a VLAN is being used.
413 description: A random string to be used as a salt when hashing to determine mappings in the ring.
419 description: The minimum time (in hours) before a partition in a ring can be moved following a rebalance.
422 description: Partition Power to use when building Swift rings
427 description: How many replicas to use in the swift rings.
429 # Compute-specific params
430 CeilometerComputeAgent:
431 description: Indicates whether the Compute agent is present and expects nova-compute to be configured accordingly
435 - allowed_values: ['', Present]
439 HypervisorNeutronPhysicalBridge:
442 An OVS bridge to create on each hypervisor. This defaults to br-ex the
443 same as the control plane nodes, as we have a uniform configuration of
444 the openvswitch agent. Typically should not need to be changed.
446 HypervisorNeutronPublicInterface:
448 description: What interface to add to the HypervisorNeutronPhysicalBridge.
450 NeutronNetworkVLANRanges:
451 default: 'datacentre:1:1000'
453 The Neutron ML2 and OpenVSwitch vlan mapping range to support. See the
454 Neutron documentation for permitted values. Defaults to permitting any
455 VLAN on the 'datacentre' physical network (See NeutronBridgeMappings).
456 type: comma_delimited_list
459 default: libvirt.LibvirtDriver
460 NovaComputeExtraConfig:
463 NovaCompute specific configuration to inject into the cluster. Same
464 structure as ExtraConfig.
466 NovaComputeLibvirtType:
469 NovaComputeLibvirtVifDriver:
471 description: Libvirt VIF driver configuration for the network
473 NovaComputeSchedulerHints:
475 description: Optional scheduler hints to pass to nova
477 NovaEnableRbdBackend:
479 description: Whether to enable or not the Rbd backend for Nova
483 default: overcloud-full
485 - custom_constraint: glance.image
488 description: Name of integration bridge used by Open vSwitch
490 NovaSecurityGroupAPI:
492 description: The full class name of the security API class
494 OvercloudComputeFlavor:
495 description: Use this flavor
499 - custom_constraint: nova.flavor
502 NeutronTenantNetwork: tenant
503 CeilometerApiNetwork: internal_api
504 AodhApiNetwork: internal_api
505 GnocchiApiNetwork: internal_api
506 MongoDbNetwork: internal_api
507 CinderApiNetwork: internal_api
508 CinderIscsiNetwork: storage
509 GlanceApiNetwork: storage
510 GlanceRegistryNetwork: internal_api
511 IronicApiNetwork: internal_api
512 KeystoneAdminApiNetwork: ctlplane # allows undercloud to config endpoints
513 KeystonePublicApiNetwork: internal_api
514 NeutronApiNetwork: internal_api
515 HeatApiNetwork: internal_api
516 NovaApiNetwork: internal_api
517 NovaMetadataNetwork: internal_api
518 NovaVncProxyNetwork: internal_api
519 SwiftMgmtNetwork: storage_mgmt
520 SwiftProxyNetwork: storage
521 SaharaApiNetwork: internal_api
522 HorizonNetwork: internal_api
523 MemcachedNetwork: internal_api
524 RabbitMqNetwork: internal_api
525 RedisNetwork: internal_api
526 MysqlNetwork: internal_api
527 CephClusterNetwork: storage_mgmt
528 CephPublicNetwork: storage
529 ControllerHostnameResolveNetwork: internal_api
530 ComputeHostnameResolveNetwork: internal_api
531 BlockStorageHostnameResolveNetwork: internal_api
532 ObjectStorageHostnameResolveNetwork: internal_api
533 CephStorageHostnameResolveNetwork: storage
534 description: Mapping of service_name -> network name. Typically set
535 via parameter_defaults in the resource registry.
540 - OS::TripleO::Services::CinderApi
541 - OS::TripleO::Services::CinderScheduler
542 - OS::TripleO::Services::CinderVolume
543 - OS::TripleO::Services::Keystone
544 - OS::TripleO::Services::GlanceApi
545 - OS::TripleO::Services::GlanceRegistry
546 - OS::TripleO::Services::HeatApi
547 - OS::TripleO::Services::HeatApiCfn
548 - OS::TripleO::Services::HeatApiCloudwatch
549 - OS::TripleO::Services::HeatEngine
550 - OS::TripleO::Services::NeutronDhcpAgent
551 - OS::TripleO::Services::NeutronL3Agent
552 - OS::TripleO::Services::NeutronMetadataAgent
553 - OS::TripleO::Services::NeutronServer
554 - OS::TripleO::Services::NeutronCorePlugin
555 - OS::TripleO::Services::NeutronOvsAgent
556 - OS::TripleO::Services::RabbitMQ
557 - OS::TripleO::Services::HAproxy
558 - OS::TripleO::Services::Keepalived
559 - OS::TripleO::Services::Memcached
560 - OS::TripleO::Services::Redis
561 - OS::TripleO::Services::NovaConductor
562 - OS::TripleO::Services::MongoDb
563 - OS::TripleO::Services::NovaApi
564 - OS::TripleO::Services::NovaScheduler
565 - OS::TripleO::Services::NovaConsoleauth
566 - OS::TripleO::Services::NovaVncproxy
567 - OS::TripleO::Services::Ntp
568 - OS::TripleO::Services::SwiftProxy
569 - OS::TripleO::Services::SwiftStorage
570 - OS::TripleO::Services::Snmp
571 - OS::TripleO::Services::Timezone
572 description: A list of service resources (configured in the Heat
573 resource_registry) which represent nested stacks
574 for each service that should get installed on the Controllers.
575 type: comma_delimited_list
579 - OS::TripleO::Services::Timezone
580 - OS::TripleO::Services::Ntp
581 - OS::TripleO::Services::Snmp
582 - OS::TripleO::Services::NovaCompute
583 - OS::TripleO::Services::NovaLibvirt
584 description: A list of service resources (configured in the Heat
585 resource_registry) which represent nested stacks
586 for each service that should get installed on the Compute Nodes.
587 type: comma_delimited_list
589 # Block storage specific parameters
594 default: overcloud-full
596 OvercloudBlockStorageFlavor:
597 description: Flavor for block storage nodes to request when deploying.
601 - custom_constraint: nova.flavor
602 BlockStorageExtraConfig:
605 BlockStorage specific configuration to inject into the cluster. Same
606 structure as ExtraConfig.
608 BlockStorageSchedulerHints:
610 description: Optional scheduler hints to pass to nova
612 BlockStorageServices:
614 - OS::TripleO::Services::CinderVolume
615 description: A list of service resources (configured in the Heat
616 resource_registry) which represent nested stacks
617 for each service that should get installed on the BlockStorage nodes.
618 type: comma_delimited_list
620 # Object storage specific parameters
624 OvercloudSwiftStorageFlavor:
625 description: Flavor for Swift storage nodes to request when deploying.
629 - custom_constraint: nova.flavor
631 default: overcloud-full
633 ObjectStorageExtraConfig:
636 ObjectStorage specific configuration to inject into the cluster. Same
637 structure as ExtraConfig.
639 ObjectStorageSchedulerHints:
641 description: Optional scheduler hints to pass to nova
643 ObjectStorageServices:
645 - OS::TripleO::Services::Ntp
646 - OS::TripleO::Services::SwiftStorage
647 - OS::TripleO::Services::Snmp
648 description: A list of service resources (configured in the Heat
649 resource_registry) which represent nested stacks
650 for each service that should get installed on the ObjectStorage nodes.
651 Note this role currently only supports steps 2, 3 and 4 configuration.
652 type: comma_delimited_list
655 # Ceph storage specific parameters
660 default: overcloud-full
662 OvercloudCephStorageFlavor:
664 description: Flavor for Ceph storage nodes to request when deploying.
667 - custom_constraint: nova.flavor
668 CephStorageExtraConfig:
671 CephStorage specific configuration to inject into the cluster. Same
672 structure as ExtraConfig.
674 CephStorageSchedulerHints:
676 description: Optional scheduler hints to pass to nova
680 - OS::TripleO::Services::Ntp
681 - OS::TripleO::Services::Timezone
682 description: A list of service resources (configured in the Heat
683 resource_registry) which represent nested stacks
684 for each service that should get installed on the CephStorage nodes.
685 type: comma_delimited_list
687 # Hostname format for each role
688 # Note %index% is translated into the index of the node, e.g 0/1/2 etc
689 # and %stackname% is replaced with OS::stack_name in the template below.
690 # If you want to use the heat generated names, pass '' (empty string).
691 ControllerHostnameFormat:
693 description: Format for Controller node hostnames
694 default: '%stackname%-controller-%index%'
695 ComputeHostnameFormat:
697 description: Format for Compute node hostnames
698 default: '%stackname%-novacompute-%index%'
699 BlockStorageHostnameFormat:
701 description: Format for BlockStorage node hostnames
702 default: '%stackname%-blockstorage-%index%'
703 ObjectStorageHostnameFormat:
705 description: Format for SwiftStorage node hostnames
706 default: '%stackname%-objectstorage-%index%'
707 CephStorageHostnameFormat:
709 description: Format for CephStorage node hostnames
710 default: '%stackname%-cephstorage-%index%'
712 # Identifiers to trigger tasks on nodes
717 Setting to a previously unused value during stack-update will trigger
718 package update on all nodes
723 Setting this to a unique value will re-run any deployment tasks which
724 perform configuration on a Heat stack-update.
726 # If you want to remove a specific node from a resource group, you can pass
727 # the node name or id as a <Group>RemovalPolicies parameter, for example:
728 # ComputeRemovalPolicies: [{'resource_list': ['0']}]
729 ControllerRemovalPolicies:
733 List of resources to be removed from ControllerResourceGroup when
734 doing an update which requires removal of specific resources.
735 ComputeRemovalPolicies:
739 List of resources to be removed from ComputeResourceGroup when
740 doing an update which requires removal of specific resources.
741 BlockStorageRemovalPolicies:
745 List of resources to be removed from BlockStorageResourceGroup when
746 doing an update which requires removal of specific resources.
747 ObjectStorageRemovalPolicies:
751 List of resources to be removed from ObjectStorageResourceGroup when
752 doing an update which requires removal of specific resources.
753 CephStorageRemovalPolicies:
757 List of resources to be removed from CephStorageResourceGroup when
758 doing an update which requires removal of specific resources.
762 description: Do not use deprecated params, they will be removed.
764 - controllerExtraConfig
769 HeatAuthEncryptionKey:
770 type: OS::Heat::RandomString
773 type: OS::Heat::RandomString
778 type: OS::Heat::RandomString
783 type: OS::TripleO::EndpointMap
785 CloudName: {get_param: CloudName}
786 CeilometerApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
787 AodhApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
788 CinderApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
789 GlanceApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
790 GlanceRegistryVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
791 GnocchiApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
792 HeatApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
793 IronicApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
794 KeystoneAdminApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
795 KeystonePublicApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
796 MysqlVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
797 NeutronApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
798 NovaApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
799 SaharaApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
800 SwiftProxyVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
801 PublicVirtualIP: {get_attr: [VipMap, net_ip_uri_map, external]}
803 ControllerServiceChain:
804 type: OS::TripleO::Services
807 Services: {get_param: ControllerServices}
808 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
811 type: OS::Heat::ResourceGroup
814 count: {get_param: ControllerCount}
815 removal_policies: {get_param: ControllerRemovalPolicies}
817 type: OS::TripleO::Controller
819 AdminPassword: {get_param: AdminPassword}
820 AodhPassword: {get_param: AodhPassword}
821 CeilometerBackend: {get_param: CeilometerBackend}
822 CeilometerMeteringSecret: {get_param: CeilometerMeteringSecret}
823 CeilometerPassword: {get_param: CeilometerPassword}
824 CeilometerMeterDispatcher: {get_param: CeilometerMeterDispatcher}
825 CloudDomain: {get_param: CloudDomain}
826 ControlVirtualInterface: {get_param: ControlVirtualInterface}
827 controllerExtraConfig: {get_param: controllerExtraConfig}
828 CorosyncIPv6: {get_param: CorosyncIPv6}
829 Debug: {get_param: Debug}
830 EnableFencing: {get_param: EnableFencing}
831 ManageFirewall: {get_param: ManageFirewall}
832 PurgeFirewallRules: {get_param: PurgeFirewallRules}
833 EnableGalera: {get_param: EnableGalera}
834 EnableCephStorage: {get_param: ControllerEnableCephStorage}
835 ExtraConfig: {get_param: ExtraConfig}
836 FencingConfig: {get_param: FencingConfig}
837 Flavor: {get_param: OvercloudControlFlavor}
838 GnocchiPassword: {get_param: GnocchiPassword}
839 GnocchiBackend: {get_param: GnocchiBackend}
840 GnocchiIndexerBackend: {get_param: GnocchiIndexerBackend}
841 HAProxySyslogAddress: {get_param: HAProxySyslogAddress}
842 HeatAuthEncryptionKey: {get_resource: HeatAuthEncryptionKey}
843 HorizonAllowedHosts: {get_param: HorizonAllowedHosts}
844 HorizonSecret: {get_resource: HorizonSecret}
845 Image: {get_param: controllerImage}
846 ImageUpdatePolicy: {get_param: ImageUpdatePolicy}
847 InstanceNameTemplate: {get_param: InstanceNameTemplate}
848 KeyName: {get_param: KeyName}
849 MemcachedIPv6: {get_param: MemcachedIPv6}
850 MysqlClusterUniquePart: {get_attr: [MysqlClusterUniquePart, value]}
851 MysqlInnodbBufferPoolSize: {get_param: MysqlInnodbBufferPoolSize}
852 MysqlMaxConnections: {get_param: MysqlMaxConnections}
853 MysqlRootPassword: {get_attr: [MysqlRootPassword, value]}
854 NeutronTenantMtu: {get_param: NeutronTenantMtu}
855 NeutronPublicInterface: {get_param: NeutronPublicInterface}
856 NeutronPassword: {get_param: NeutronPassword}
857 NeutronMetadataProxySharedSecret: {get_param: NeutronMetadataProxySharedSecret}
858 NovaIPv6: {get_param: NovaIPv6}
859 NovaPassword: {get_param: NovaPassword}
860 PcsdPassword: {get_resource: PcsdPassword}
861 PublicVirtualInterface: {get_param: PublicVirtualInterface}
862 RabbitPassword: {get_param: RabbitPassword}
863 RabbitUserName: {get_param: RabbitUserName}
864 RabbitCookie: {get_attr: [RabbitCookie, value]}
865 RabbitClientUseSSL: {get_param: RabbitClientUseSSL}
866 RabbitClientPort: {get_param: RabbitClientPort}
867 RedisPassword: {get_param: RedisPassword}
868 RedisVirtualIP: {get_attr: [RedisVirtualIP, ip_address]}
869 RedisVirtualIPUri: {get_attr: [RedisVirtualIP, ip_address_uri]}
870 SwiftHashSuffix: {get_param: SwiftHashSuffix}
871 SwiftMinPartHours: {get_param: SwiftMinPartHours}
872 SwiftPartPower: {get_param: SwiftPartPower}
873 SwiftReplicas: { get_param: SwiftReplicas}
874 ServiceNetMap: {get_param: ServiceNetMap}
875 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
876 MysqlVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
877 UpdateIdentifier: {get_param: UpdateIdentifier}
880 template: {get_param: ControllerHostnameFormat}
882 '%stackname%': {get_param: 'OS::stack_name'}
884 ServerMetadata: {get_param: ServerMetadata}
885 SchedulerHints: {get_param: ControllerSchedulerHints}
886 ServiceConfigSettings: {get_attr: [ControllerServiceChain, config_settings]}
889 type: OS::TripleO::Services
891 Services: {get_param: ComputeServices}
892 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
895 type: OS::Heat::ResourceGroup
898 count: {get_param: ComputeCount}
899 removal_policies: {get_param: ComputeRemovalPolicies}
901 type: OS::TripleO::Compute
903 AdminPassword: {get_param: AdminPassword}
904 CeilometerComputeAgent: {get_param: CeilometerComputeAgent}
905 CeilometerMeteringSecret: {get_param: CeilometerMeteringSecret}
906 CeilometerPassword: {get_param: CeilometerPassword}
907 CinderEnableNfsBackend: {get_param: CinderEnableNfsBackend}
908 CinderEnableRbdBackend: {get_param: CinderEnableRbdBackend}
909 Debug: {get_param: Debug}
910 ExtraConfig: {get_param: ExtraConfig}
911 Flavor: {get_param: OvercloudComputeFlavor}
912 GlanceHost: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
913 Image: {get_param: NovaImage}
914 ImageUpdatePolicy: {get_param: ImageUpdatePolicy}
915 KeyName: {get_param: KeyName}
916 KeystoneAdminApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
917 KeystonePublicApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
918 NeutronBridgeMappings: {get_param: NeutronBridgeMappings}
919 NeutronTenantMtu: {get_param: NeutronTenantMtu}
920 NeutronEnableTunnelling: {get_param: NeutronEnableTunnelling}
921 NeutronEnableL2Pop : {get_param: NeutronEnableL2Pop}
922 NeutronFlatNetworks: {get_param: NeutronFlatNetworks}
923 NeutronHost: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
924 NeutronNetworkType: {get_param: NeutronNetworkType}
925 NeutronTunnelTypes: {get_param: NeutronTunnelTypes}
926 NeutronNetworkVLANRanges: {get_param: NeutronNetworkVLANRanges}
927 NeutronPassword: {get_param: NeutronPassword}
928 NeutronPhysicalBridge: {get_param: HypervisorNeutronPhysicalBridge}
929 NeutronPublicInterface: {get_param: HypervisorNeutronPublicInterface}
930 NeutronMetadataProxySharedSecret: {get_param: NeutronMetadataProxySharedSecret}
931 NeutronCorePlugin: {get_param: NeutronCorePlugin}
932 NeutronServicePlugins: {get_param: NeutronServicePlugins}
933 NeutronTypeDrivers: {get_param: NeutronTypeDrivers}
934 NeutronMechanismDrivers: {get_param: NeutronMechanismDrivers}
935 NeutronAgentExtensions: {get_param: NeutronAgentExtensions}
936 # L3 HA and Failover is not relevant for Computes, should be removed
937 NeutronAllowL3AgentFailover: {get_param: NeutronAllowL3AgentFailover}
938 NeutronL3HA: {get_param: NeutronL3HA}
939 NovaApiHost: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
940 NovaComputeDriver: {get_param: NovaComputeDriver}
941 NovaComputeExtraConfig: {get_param: NovaComputeExtraConfig}
942 NovaComputeLibvirtType: {get_param: NovaComputeLibvirtType}
943 NovaComputeLibvirtVifDriver: {get_param: NovaComputeLibvirtVifDriver}
944 NovaEnableRbdBackend: {get_param: NovaEnableRbdBackend}
945 NovaIPv6: {get_param: NovaIPv6}
946 NovaPublicIP: {get_attr: [VipMap, net_ip_map, external]}
947 NovaPassword: {get_param: NovaPassword}
948 NovaOVSBridge: {get_param: NovaOVSBridge}
949 NovaSecurityGroupAPI: {get_param: NovaSecurityGroupAPI}
950 RabbitHost: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]}
951 RabbitPassword: {get_param: RabbitPassword}
952 RabbitUserName: {get_param: RabbitUserName}
953 RabbitClientUseSSL: {get_param: RabbitClientUseSSL}
954 RabbitClientPort: {get_param: RabbitClientPort}
955 ServiceNetMap: {get_param: ServiceNetMap}
956 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
957 UpdateIdentifier: {get_param: UpdateIdentifier}
960 template: {get_param: ComputeHostnameFormat}
962 '%stackname%': {get_param: 'OS::stack_name'}
963 CloudDomain: {get_param: CloudDomain}
964 ServerMetadata: {get_param: ServerMetadata}
965 SchedulerHints: {get_param: NovaComputeSchedulerHints}
967 ServiceConfigSettings: {get_attr: [ComputeServiceChain, config_settings]}
969 BlockStorageServiceChain:
970 type: OS::TripleO::Services
972 Services: {get_param: BlockStorageServices}
973 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
976 type: OS::Heat::ResourceGroup
979 count: {get_param: BlockStorageCount}
980 removal_policies: {get_param: BlockStorageRemovalPolicies}
982 type: OS::TripleO::BlockStorage
984 Image: {get_param: BlockStorageImage}
985 KeyName: {get_param: KeyName}
986 Flavor: {get_param: OvercloudBlockStorageFlavor}
987 TimeZone: {get_param: TimeZone}
988 NtpServer: {get_param: NtpServer}
989 UpdateIdentifier: {get_param: UpdateIdentifier}
992 template: {get_param: BlockStorageHostnameFormat}
994 '%stackname%': {get_param: 'OS::stack_name'}
995 ServiceNetMap: {get_param: ServiceNetMap}
996 ExtraConfig: {get_param: ExtraConfig}
997 BlockStorageExtraConfig: {get_param: BlockStorageExtraConfig}
998 CloudDomain: {get_param: CloudDomain}
999 ServerMetadata: {get_param: ServerMetadata}
1000 SchedulerHints: {get_param: BlockStorageSchedulerHints}
1001 NodeIndex: '%index%'
1002 ServiceConfigSettings: {get_attr: [BlockStorageServiceChain, config_settings]}
1004 ObjectStorageServiceChain:
1005 type: OS::TripleO::Services
1007 Services: {get_param: ObjectStorageServices}
1008 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
1011 type: OS::Heat::ResourceGroup
1012 depends_on: Networks
1014 count: {get_param: ObjectStorageCount}
1015 removal_policies: {get_param: ObjectStorageRemovalPolicies}
1017 type: OS::TripleO::ObjectStorage
1019 KeyName: {get_param: KeyName}
1020 Flavor: {get_param: OvercloudSwiftStorageFlavor}
1021 HashSuffix: {get_param: SwiftHashSuffix}
1022 MinPartHours: {get_param: SwiftMinPartHours}
1023 PartPower: {get_param: SwiftPartPower}
1024 Image: {get_param: SwiftStorageImage}
1025 Replicas: { get_param: SwiftReplicas}
1026 TimeZone: {get_param: TimeZone}
1027 UpdateIdentifier: {get_param: UpdateIdentifier}
1028 ServiceNetMap: {get_param: ServiceNetMap}
1031 template: {get_param: ObjectStorageHostnameFormat}
1033 '%stackname%': {get_param: 'OS::stack_name'}
1034 ExtraConfig: {get_param: ExtraConfig}
1035 ObjectStorageExtraConfig: {get_param: ObjectStorageExtraConfig}
1036 CloudDomain: {get_param: CloudDomain}
1037 ServerMetadata: {get_param: ServerMetadata}
1038 SchedulerHints: {get_param: ObjectStorageSchedulerHints}
1039 NodeIndex: '%index%'
1040 ServiceConfigSettings: {get_attr: [ObjectStorageServiceChain, config_settings]}
1042 CephStorageServiceChain:
1043 type: OS::TripleO::Services
1045 Services: {get_param: CephStorageServices}
1046 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
1049 type: OS::Heat::ResourceGroup
1050 depends_on: Networks
1052 count: {get_param: CephStorageCount}
1053 removal_policies: {get_param: CephStorageRemovalPolicies}
1055 type: OS::TripleO::CephStorage
1057 Image: {get_param: CephStorageImage}
1058 KeyName: {get_param: KeyName}
1059 Flavor: {get_param: OvercloudCephStorageFlavor}
1060 ServiceNetMap: {get_param: ServiceNetMap}
1061 UpdateIdentifier: {get_param: UpdateIdentifier}
1064 template: {get_param: CephStorageHostnameFormat}
1066 '%stackname%': {get_param: 'OS::stack_name'}
1067 ExtraConfig: {get_param: ExtraConfig}
1068 CephStorageExtraConfig: {get_param: CephStorageExtraConfig}
1069 CloudDomain: {get_param: CloudDomain}
1070 ServerMetadata: {get_param: ServerMetadata}
1071 SchedulerHints: {get_param: CephStorageSchedulerHints}
1072 NodeIndex: '%index%'
1073 ServiceConfigSettings: {get_attr: [CephStorageServiceChain, config_settings]}
1075 ControllerIpListMap:
1076 type: OS::TripleO::Network::Ports::NetIpListMap
1078 ControlPlaneIpList: {get_attr: [Controller, ip_address]}
1079 ExternalIpList: {get_attr: [Controller, external_ip_address]}
1080 InternalApiIpList: {get_attr: [Controller, internal_api_ip_address]}
1081 StorageIpList: {get_attr: [Controller, storage_ip_address]}
1082 StorageMgmtIpList: {get_attr: [Controller, storage_mgmt_ip_address]}
1083 TenantIpList: {get_attr: [Controller, tenant_ip_address]}
1084 ManagementIpList: {get_attr: [Controller, management_ip_address]}
1087 type: OS::TripleO::AllNodes::SoftwareConfig
1089 compute_hosts: {get_attr: [Compute, hosts_entry]}
1090 controller_hosts: {get_attr: [Controller, hosts_entry]}
1091 controller_ips: {get_attr: [Controller, ip_address]}
1092 block_storage_hosts: {get_attr: [BlockStorage, hosts_entry]}
1093 object_storage_hosts: {get_attr: [ObjectStorage, hosts_entry]}
1094 ceph_storage_hosts: {get_attr: [CephStorage, hosts_entry]}
1095 controller_names: {get_attr: [Controller, hostname]}
1096 rabbit_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]}
1097 mongo_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, MongoDbNetwork]}]}
1098 redis_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, RedisNetwork]}]}
1099 memcache_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, MemcachedNetwork]}]}
1100 mysql_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
1101 horizon_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, HorizonNetwork]}]}
1102 heat_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
1103 swift_proxy_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
1104 ceilometer_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
1105 aodh_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
1106 gnocchi_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
1107 nova_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
1108 nova_metadata_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, NovaMetadataNetwork]}]}
1109 glance_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
1110 glance_registry_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
1111 cinder_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
1112 neutron_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
1113 keystone_public_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
1114 keystone_admin_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
1115 sahara_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
1116 ironic_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
1117 DeployIdentifier: {get_param: DeployIdentifier}
1118 UpdateIdentifier: {get_param: UpdateIdentifier}
1121 type: OS::Heat::RandomString
1125 MysqlClusterUniquePart:
1126 type: OS::Heat::RandomString
1131 type: OS::Heat::RandomString
1134 salt: {get_param: RabbitCookieSalt}
1136 # creates the network architecture
1138 type: OS::TripleO::Network
1141 type: OS::Neutron::Port
1142 depends_on: Networks
1144 name: control_virtual_ip
1145 network: {get_param: NeutronControlPlaneID}
1146 fixed_ips: {get_param: ControlFixedIPs}
1147 replacement_policy: AUTO
1150 depends_on: Networks
1151 type: OS::TripleO::Network::Ports::RedisVipPort
1153 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
1154 ControlPlaneNetwork: {get_param: NeutronControlPlaneID}
1155 PortName: redis_virtual_ip
1156 NetworkName: {get_param: [ServiceNetMap, RedisNetwork]}
1159 # The public VIP is on the External net, falls back to ctlplane
1161 depends_on: Networks
1162 type: OS::TripleO::Network::Ports::ExternalVipPort
1164 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
1165 ControlPlaneNetwork: {get_param: NeutronControlPlaneID}
1166 PortName: public_virtual_ip
1167 FixedIPs: {get_param: PublicVirtualFixedIPs}
1169 InternalApiVirtualIP:
1170 depends_on: Networks
1171 type: OS::TripleO::Network::Ports::InternalApiVipPort
1173 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
1174 PortName: internal_api_virtual_ip
1175 FixedIPs: {get_param: InternalApiVirtualFixedIPs}
1178 depends_on: Networks
1179 type: OS::TripleO::Network::Ports::StorageVipPort
1181 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
1182 PortName: storage_virtual_ip
1183 FixedIPs: {get_param: StorageVirtualFixedIPs}
1185 StorageMgmtVirtualIP:
1186 depends_on: Networks
1187 type: OS::TripleO::Network::Ports::StorageMgmtVipPort
1189 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
1190 PortName: storage_management_virtual_ip
1191 FixedIPs: {get_param: StorageMgmtVirtualFixedIPs}
1194 type: OS::TripleO::Network::Ports::NetVipMap
1196 ControlPlaneIp: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
1197 ExternalIp: {get_attr: [PublicVirtualIP, ip_address]}
1198 ExternalIpUri: {get_attr: [PublicVirtualIP, ip_address_uri]}
1199 InternalApiIp: {get_attr: [InternalApiVirtualIP, ip_address]}
1200 InternalApiIpUri: {get_attr: [InternalApiVirtualIP, ip_address_uri]}
1201 StorageIp: {get_attr: [StorageVirtualIP, ip_address]}
1202 StorageIpUri: {get_attr: [StorageVirtualIP, ip_address_uri]}
1203 StorageMgmtIp: {get_attr: [StorageMgmtVirtualIP, ip_address]}
1204 StorageMgmtIpUri: {get_attr: [StorageMgmtVirtualIP, ip_address_uri]}
1205 # No tenant or management VIP required
1208 type: OS::TripleO::VipConfig
1211 type: OS::Heat::StructuredDeployments
1214 config: {get_resource: VipConfig}
1215 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1217 # service VIP mappings
1218 keystone_admin_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
1219 keystone_public_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
1220 neutron_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
1221 cinder_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
1222 glance_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
1223 glance_registry_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
1224 swift_proxy_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
1225 nova_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
1226 nova_metadata_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaMetadataNetwork]}]}
1227 ceilometer_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
1228 aodh_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
1229 gnocchi_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
1230 heat_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
1231 horizon_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HorizonNetwork]}]}
1232 redis_vip: {get_attr: [RedisVirtualIP, ip_address]}
1233 mysql_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
1234 rabbit_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]}
1235 # direct configuration of Virtual IPs for each network
1236 control_virtual_ip: {get_attr: [VipMap, net_ip_map, ctlplane]}
1237 public_virtual_ip: {get_attr: [VipMap, net_ip_map, external]}
1238 internal_api_virtual_ip: {get_attr: [VipMap, net_ip_map, internal_api]}
1239 sahara_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
1240 ironic_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
1241 storage_virtual_ip: {get_attr: [VipMap, net_ip_map, storage]}
1242 storage_mgmt_virtual_ip: {get_attr: [VipMap, net_ip_map, storage_mgmt]}
1244 ControllerBootstrapNodeConfig:
1245 type: OS::TripleO::BootstrapNode::SoftwareConfig
1247 bootstrap_nodeid: {get_attr: [Controller, resource.0.hostname]}
1248 bootstrap_nodeid_ip: {get_attr: [Controller, resource.0.ip_address]}
1250 ControllerBootstrapNodeDeployment:
1251 type: OS::Heat::StructuredDeployments
1253 name: ControllerBootstrapNodeDeployment
1254 config: {get_attr: [ControllerBootstrapNodeConfig, config_id]}
1255 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1257 ControllerSwiftDeployment:
1258 type: OS::Heat::StructuredDeployments
1260 name: ControllerSwiftDeployment
1261 config: {get_attr: [SwiftDevicesAndProxyConfig, config_id]}
1262 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1264 ObjectStorageSwiftDeployment:
1265 type: OS::Heat::StructuredDeployments
1267 name: ObjectStorageSwiftDeployment
1268 config: {get_attr: [SwiftDevicesAndProxyConfig, config_id]}
1269 servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1271 SwiftDevicesAndProxyConfig:
1272 type: OS::TripleO::SwiftDevicesAndProxy::SoftwareConfig
1274 controller_swift_devices: {get_attr: [Controller, swift_device]}
1275 object_store_swift_devices: {get_attr: [ObjectStorage, swift_device]}
1276 controller_swift_proxy_memcaches: {get_attr: [Controller, swift_proxy_memcache]}
1278 ComputeCephDeployment:
1279 type: OS::Heat::StructuredDeployments
1281 name: ComputeCephDeployment
1282 config: {get_attr: [CephClusterConfig, config_id]}
1283 servers: {get_attr: [Compute, attributes, nova_server_resource]}
1285 ControllerCephDeployment:
1286 type: OS::Heat::StructuredDeployments
1288 name: ControllerCephDeployment
1289 config: {get_attr: [CephClusterConfig, config_id]}
1290 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1292 CephStorageCephDeployment:
1293 type: OS::Heat::StructuredDeployments
1295 name: CephStorageCephDeployment
1296 config: {get_attr: [CephClusterConfig, config_id]}
1297 servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1300 type: OS::TripleO::CephClusterConfig::SoftwareConfig
1302 ceph_storage_count: {get_param: CephStorageCount}
1303 ceph_fsid: {get_param: CephClusterFSID}
1304 ceph_mon_key: {get_param: CephMonKey}
1305 ceph_admin_key: {get_param: CephAdminKey}
1306 ceph_client_key: {get_param: CephClientKey}
1307 ceph_external_mon_ips: {get_param: CephExternalMonHost}
1308 ceph_mon_names: {get_attr: [Controller, hostname]}
1309 ceph_mon_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, CephPublicNetwork]}]}
1311 ControllerAllNodesDeployment:
1312 type: OS::Heat::StructuredDeployments
1314 name: ControllerAllNodesDeployment
1315 config: {get_attr: [allNodesConfig, config_id]}
1316 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1318 ComputeAllNodesDeployment:
1319 type: OS::Heat::StructuredDeployments
1321 name: ComputeAllNodesDeployment
1322 config: {get_attr: [allNodesConfig, config_id]}
1323 servers: {get_attr: [Compute, attributes, nova_server_resource]}
1325 BlockStorageAllNodesDeployment:
1326 type: OS::Heat::StructuredDeployments
1328 name: BlockStorageAllNodesDeployment
1329 config: {get_attr: [allNodesConfig, config_id]}
1330 servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
1332 ObjectStorageAllNodesDeployment:
1333 type: OS::Heat::StructuredDeployments
1335 name: ObjectStorageAllNodesDeployment
1336 config: {get_attr: [allNodesConfig, config_id]}
1337 servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1339 CephStorageAllNodesDeployment:
1340 type: OS::Heat::StructuredDeployments
1342 name: CephStorageAllNodesDeployment
1343 config: {get_attr: [allNodesConfig, config_id]}
1344 servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1346 # All Nodes Validations
1347 AllNodesValidationConfig:
1348 type: OS::TripleO::AllNodes::Validation
1353 - - {get_attr: [Controller, resource.0.external_ip_address]}
1354 - {get_attr: [Controller, resource.0.internal_api_ip_address]}
1355 - {get_attr: [Controller, resource.0.storage_ip_address]}
1356 - {get_attr: [Controller, resource.0.storage_mgmt_ip_address]}
1357 - {get_attr: [Controller, resource.0.tenant_ip_address]}
1359 ControllerAllNodesValidationDeployment:
1360 type: OS::Heat::StructuredDeployments
1361 depends_on: ControllerAllNodesDeployment
1363 name: ControllerAllNodesValidationDeployment
1364 config: {get_resource: AllNodesValidationConfig}
1365 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1367 ComputeAllNodesValidationDeployment:
1368 type: OS::Heat::StructuredDeployments
1369 depends_on: ComputeAllNodesDeployment
1371 name: ComputeAllNodesValidationDeployment
1372 config: {get_resource: AllNodesValidationConfig}
1373 servers: {get_attr: [Compute, attributes, nova_server_resource]}
1375 BlockStorageAllNodesValidationDeployment:
1376 type: OS::Heat::StructuredDeployments
1377 depends_on: BlockStorageAllNodesDeployment
1379 name: BlockStorageAllNodesValidationDeployment
1380 config: {get_resource: AllNodesValidationConfig}
1381 servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
1383 ObjectStorageAllNodesValidationDeployment:
1384 type: OS::Heat::StructuredDeployments
1385 depends_on: ObjectStorageAllNodesDeployment
1387 name: ObjectStorageAllNodesValidationDeployment
1388 config: {get_resource: AllNodesValidationConfig}
1389 servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1391 CephStorageAllNodesValidationDeployment:
1392 type: OS::Heat::StructuredDeployments
1393 depends_on: CephStorageAllNodesDeployment
1395 name: CephStorageAllNodesValidationDeployment
1396 config: {get_resource: AllNodesValidationConfig}
1397 servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1400 type: OS::TripleO::Tasks::UpdateWorkflow
1402 controller_servers: {get_attr: [Controller, attributes, nova_server_resource]}
1403 compute_servers: {get_attr: [Compute, attributes, nova_server_resource]}
1404 blockstorage_servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
1405 objectstorage_servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1406 cephstorage_servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1408 deploy_identifier: {get_param: DeployIdentifier}
1409 update_identifier: {get_param: UpdateIdentifier}
1411 # Optional ExtraConfig for all nodes - all roles are passed in here, but
1412 # the nested template may configure each role differently (or not at all)
1413 AllNodesExtraConfig:
1414 type: OS::TripleO::AllNodesExtraConfig
1417 - ComputeAllNodesValidationDeployment
1418 - BlockStorageAllNodesValidationDeployment
1419 - ObjectStorageAllNodesValidationDeployment
1420 - CephStorageAllNodesValidationDeployment
1421 - ControllerAllNodesValidationDeployment
1423 controller_servers: {get_attr: [Controller, attributes, nova_server_resource]}
1424 compute_servers: {get_attr: [Compute, attributes, nova_server_resource]}
1425 blockstorage_servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
1426 objectstorage_servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1427 cephstorage_servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1429 # Nested stack deployment runs after all other controller deployments
1430 ControllerNodesPostDeployment:
1431 type: OS::TripleO::ControllerPostDeployment
1432 depends_on: [ControllerBootstrapNodeDeployment, ControllerAllNodesDeployment, ControllerSwiftDeployment, ControllerCephDeployment]
1434 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1435 NodeConfigIdentifiers:
1436 allnodes_extra: {get_attr: [AllNodesExtraConfig, config_identifier]}
1437 controller_config: {get_attr: [Controller, attributes, config_identifier]}
1438 deployment_identifier: {get_param: DeployIdentifier}
1439 StepConfig: {get_attr: [ControllerServiceChain, step_config]}
1441 ComputeNodesPostDeployment:
1442 type: OS::TripleO::ComputePostDeployment
1443 depends_on: [ComputeAllNodesDeployment, ComputeCephDeployment]
1445 servers: {get_attr: [Compute, attributes, nova_server_resource]}
1446 NodeConfigIdentifiers:
1447 allnodes_extra: {get_attr: [AllNodesExtraConfig, config_identifier]}
1448 compute_config: {get_attr: [Compute, attributes, config_identifier]}
1449 deployment_identifier: {get_param: DeployIdentifier}
1450 StepConfig: {get_attr: [ComputeServiceChain, step_config]}
1452 ObjectStorageNodesPostDeployment:
1453 type: OS::TripleO::ObjectStoragePostDeployment
1454 depends_on: [ObjectStorageSwiftDeployment, ObjectStorageAllNodesDeployment]
1456 servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1457 NodeConfigIdentifiers:
1458 allnodes_extra: {get_attr: [AllNodesExtraConfig, config_identifier]}
1459 objectstorage_config: {get_attr: [ObjectStorage, attributes, config_identifier]}
1460 deployment_identifier: {get_param: DeployIdentifier}
1461 StepConfig: {get_attr: [ObjectStorageServiceChain, step_config]}
1463 BlockStorageNodesPostDeployment:
1464 type: OS::TripleO::BlockStoragePostDeployment
1465 depends_on: [ControllerNodesPostDeployment, BlockStorageAllNodesDeployment]
1467 servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
1468 NodeConfigIdentifiers:
1469 allnodes_extra: {get_attr: [AllNodesExtraConfig, config_identifier]}
1470 blockstorage_config: {get_attr: [BlockStorage, attributes, config_identifier]}
1471 deployment_identifier: {get_param: DeployIdentifier}
1472 StepConfig: {get_attr: [BlockStorageServiceChain, step_config]}
1475 CephStorageNodesPostDeployment:
1476 type: OS::TripleO::CephStoragePostDeployment
1477 depends_on: [ControllerNodesPostDeployment, CephStorageCephDeployment, CephStorageAllNodesDeployment]
1479 servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1480 NodeConfigIdentifiers:
1481 allnodes_extra: {get_attr: [AllNodesExtraConfig, config_identifier]}
1482 cephstorage_config: {get_attr: [CephStorage, attributes, config_identifier]}
1483 deployment_identifier: {get_param: DeployIdentifier}
1484 StepConfig: {get_attr: [CephStorageServiceChain, step_config]}
1488 description: URL for the Overcloud Keystone service
1489 value: {get_attr: [EndpointMap, endpoint_map, KeystonePublic, uri]}
1491 description: Keystone Admin VIP endpoint
1492 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
1494 description: Controller VIP for public API endpoints
1495 value: {get_attr: [VipMap, net_ip_map, external]}
1497 description: VIP for Aodh API internal endpoint
1498 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
1499 CeilometerInternalVip:
1500 description: VIP for Ceilometer API internal endpoint
1501 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
1503 description: VIP for Cinder API internal endpoint
1504 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
1506 description: VIP for Glance API internal endpoint
1507 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
1509 description: VIP for Gnocchi API internal endpoint
1510 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
1512 description: VIP for Heat API internal endpoint
1513 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
1515 description: VIP for Ironic API internal endpoint
1516 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
1517 KeystoneInternalVip:
1518 description: VIP for Keystone API internal endpoint
1519 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
1521 description: VIP for Neutron API internal endpoint
1522 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
1524 description: VIP for Nova API internal endpoint
1525 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
1527 description: VIP for Sahara API internal endpoint
1528 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
1530 description: VIP for Swift Proxy internal endpoint
1531 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
1534 Mapping of the resources with the needed info for their endpoints.
1535 This includes the protocol used, the IP, port and also a full
1536 representation of the URI.
1537 value: {get_attr: [EndpointMap, endpoint_map]}
1540 The content that should be appended to your /etc/hosts if you want to get
1541 hostname-based access to the deployed nodes (useful for testing without
1543 value: {get_attr: [allNodesConfig, hosts_entries]}