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'}]
271 description: The timezone to be set on nodes.
274 default: 'localdomain'
277 The DNS domain used for the hosts. This should match the dhcp_domain
278 configured in the Undercloud neutron. Defaults to localdomain.
282 Extra properties or metadata passed to Nova for the created nodes in
283 the overcloud. It's accessible via the Nova metadata API.
286 # Controller-specific params
292 controllerExtraConfig:
295 Deprecated. Use ControllerExtraConfig via parameter_defaults instead.
299 default: overcloud-full
301 - custom_constraint: glance.image
302 OvercloudControlFlavor:
303 description: Flavor for control nodes to request when deploying.
307 - custom_constraint: nova.flavor
308 ControlVirtualInterface:
310 description: Interface where virtual ip will be assigned.
314 description: Whether to enable fencing in Pacemaker or not.
318 description: Whether to use Galera instead of regular MariaDB.
320 ControllerEnableCephStorage:
322 description: Whether to deploy Ceph Storage (OSD) on the Controller
324 ControllerSchedulerHints:
326 description: Optional scheduler hints to pass to nova
331 Additional configuration to inject into the cluster. The format required
332 may be implementation specific, e.g puppet hieradata. Any role specific
333 ExtraConfig, e.g controllerExtraConfig takes precedence over ExtraConfig.
338 Pacemaker fencing configuration. The JSON should have
339 the following structure:
343 "agent": "AGENT_NAME",
344 "host_mac": "HOST_MAC_ADDRESS",
345 "params": {"PARAM_NAME": "PARAM_VALUE"}
353 "agent": "fence_xvm",
354 "host_mac": "52:54:00:aa:bb:cc",
356 "multicast_address": "225.0.0.12",
357 "port": "baremetal_0",
359 "manage_key_file": true,
360 "key_file": "/etc/fence_xvm.key",
361 "key_file_password": "abcdef"
369 description: The short name of the Gnocchi backend to use. Should be one
370 of swift, rbd or file
373 - allowed_values: ['swift', 'file', 'rbd']
374 GnocchiIndexerBackend:
376 description: The short name of the Gnocchi indexer backend to use.
379 description: The password for the gnocchi service account.
382 InstanceNameTemplate:
383 default: 'instance-%08x'
384 description: Template string to be used to generate instance names
388 description: Whether to manage IPtables rules.
392 description: Whether IPtables rules should be purged before setting up the ones.
394 MysqlInnodbBufferPoolSize:
396 Specifies the size of the buffer pool in megabytes. Setting to
397 zero should be interpreted as "no value" and will defer to the
402 description: Configures MySQL max_connections config setting
405 PublicVirtualInterface:
408 Specifies the interface where the public-facing virtual ip will be assigned.
409 This should be int_public when a VLAN is being used.
412 description: A random string to be used as a salt when hashing to determine mappings in the ring.
418 description: The minimum time (in hours) before a partition in a ring can be moved following a rebalance.
421 description: Partition Power to use when building Swift rings
426 description: How many replicas to use in the swift rings.
428 # Compute-specific params
429 CeilometerComputeAgent:
430 description: Indicates whether the Compute agent is present and expects nova-compute to be configured accordingly
434 - allowed_values: ['', Present]
438 HypervisorNeutronPhysicalBridge:
441 An OVS bridge to create on each hypervisor. This defaults to br-ex the
442 same as the control plane nodes, as we have a uniform configuration of
443 the openvswitch agent. Typically should not need to be changed.
445 HypervisorNeutronPublicInterface:
447 description: What interface to add to the HypervisorNeutronPhysicalBridge.
449 NeutronNetworkVLANRanges:
450 default: 'datacentre:1:1000'
452 The Neutron ML2 and OpenVSwitch vlan mapping range to support. See the
453 Neutron documentation for permitted values. Defaults to permitting any
454 VLAN on the 'datacentre' physical network (See NeutronBridgeMappings).
455 type: comma_delimited_list
458 default: libvirt.LibvirtDriver
459 NovaComputeExtraConfig:
462 NovaCompute specific configuration to inject into the cluster. Same
463 structure as ExtraConfig.
465 NovaComputeLibvirtType:
468 NovaComputeLibvirtVifDriver:
470 description: Libvirt VIF driver configuration for the network
472 NovaComputeSchedulerHints:
474 description: Optional scheduler hints to pass to nova
476 NovaEnableRbdBackend:
478 description: Whether to enable or not the Rbd backend for Nova
482 default: overcloud-full
484 - custom_constraint: glance.image
487 description: Name of integration bridge used by Open vSwitch
489 NovaSecurityGroupAPI:
491 description: The full class name of the security API class
493 OvercloudComputeFlavor:
494 description: Use this flavor
498 - custom_constraint: nova.flavor
501 NeutronTenantNetwork: tenant
502 CeilometerApiNetwork: internal_api
503 AodhApiNetwork: internal_api
504 GnocchiApiNetwork: internal_api
505 MongoDbNetwork: internal_api
506 CinderApiNetwork: internal_api
507 CinderIscsiNetwork: storage
508 GlanceApiNetwork: storage
509 GlanceRegistryNetwork: internal_api
510 IronicApiNetwork: internal_api
511 KeystoneAdminApiNetwork: ctlplane # allows undercloud to config endpoints
512 KeystonePublicApiNetwork: internal_api
513 NeutronApiNetwork: internal_api
514 HeatApiNetwork: internal_api
515 NovaApiNetwork: internal_api
516 NovaMetadataNetwork: internal_api
517 NovaVncProxyNetwork: internal_api
518 SwiftMgmtNetwork: storage_mgmt
519 SwiftProxyNetwork: storage
520 SaharaApiNetwork: internal_api
521 HorizonNetwork: internal_api
522 MemcachedNetwork: internal_api
523 RabbitMqNetwork: internal_api
524 RedisNetwork: internal_api
525 MysqlNetwork: internal_api
526 CephClusterNetwork: storage_mgmt
527 CephPublicNetwork: storage
528 ControllerHostnameResolveNetwork: internal_api
529 ComputeHostnameResolveNetwork: internal_api
530 BlockStorageHostnameResolveNetwork: internal_api
531 ObjectStorageHostnameResolveNetwork: internal_api
532 CephStorageHostnameResolveNetwork: storage
533 description: Mapping of service_name -> network name. Typically set
534 via parameter_defaults in the resource registry.
539 - OS::TripleO::Services::CinderApi
540 - OS::TripleO::Services::CinderScheduler
541 - OS::TripleO::Services::CinderVolume
542 - OS::TripleO::Services::Keystone
543 - OS::TripleO::Services::GlanceApi
544 - OS::TripleO::Services::GlanceRegistry
545 - OS::TripleO::Services::HeatApi
546 - OS::TripleO::Services::HeatApiCfn
547 - OS::TripleO::Services::HeatApiCloudwatch
548 - OS::TripleO::Services::HeatEngine
549 - OS::TripleO::Services::NeutronDhcpAgent
550 - OS::TripleO::Services::NeutronL3Agent
551 - OS::TripleO::Services::NeutronMetadataAgent
552 - OS::TripleO::Services::NeutronServer
553 - OS::TripleO::Services::NeutronCorePlugin
554 - OS::TripleO::Services::NeutronOvsAgent
555 - OS::TripleO::Services::RabbitMQ
556 - OS::TripleO::Services::HAproxy
557 - OS::TripleO::Services::Keepalived
558 - OS::TripleO::Services::Memcached
559 - OS::TripleO::Services::Redis
560 - OS::TripleO::Services::NovaConductor
561 - OS::TripleO::Services::MongoDb
562 - OS::TripleO::Services::NovaApi
563 - OS::TripleO::Services::NovaScheduler
564 - OS::TripleO::Services::NovaConsoleauth
565 - OS::TripleO::Services::NovaVncproxy
566 - OS::TripleO::Services::Ntp
567 - OS::TripleO::Services::SwiftProxy
568 - OS::TripleO::Services::SwiftStorage
569 - OS::TripleO::Services::Snmp
570 description: A list of service resources (configured in the Heat
571 resource_registry) which represent nested stacks
572 for each service that should get installed on the Controllers.
573 type: comma_delimited_list
577 - OS::TripleO::Services::NovaCompute
578 - OS::TripleO::Services::Ntp
579 - OS::TripleO::Services::Snmp
580 description: A list of service resources (configured in the Heat
581 resource_registry) which represent nested stacks
582 for each service that should get installed on the Compute Nodes.
583 type: comma_delimited_list
585 # Block storage specific parameters
590 default: overcloud-full
592 OvercloudBlockStorageFlavor:
593 description: Flavor for block storage nodes to request when deploying.
597 - custom_constraint: nova.flavor
598 BlockStorageExtraConfig:
601 BlockStorage specific configuration to inject into the cluster. Same
602 structure as ExtraConfig.
604 BlockStorageSchedulerHints:
606 description: Optional scheduler hints to pass to nova
608 BlockStorageServices:
610 - OS::TripleO::Services::CinderVolume
611 description: A list of service resources (configured in the Heat
612 resource_registry) which represent nested stacks
613 for each service that should get installed on the BlockStorage nodes.
614 type: comma_delimited_list
616 # Object storage specific parameters
620 OvercloudSwiftStorageFlavor:
621 description: Flavor for Swift storage nodes to request when deploying.
625 - custom_constraint: nova.flavor
627 default: overcloud-full
629 ObjectStorageExtraConfig:
632 ObjectStorage specific configuration to inject into the cluster. Same
633 structure as ExtraConfig.
635 ObjectStorageSchedulerHints:
637 description: Optional scheduler hints to pass to nova
639 ObjectStorageServices:
641 - OS::TripleO::Services::Ntp
642 - OS::TripleO::Services::SwiftStorage
643 - OS::TripleO::Services::Snmp
644 description: A list of service resources (configured in the Heat
645 resource_registry) which represent nested stacks
646 for each service that should get installed on the ObjectStorage nodes.
647 Note this role currently only supports steps 2, 3 and 4 configuration.
648 type: comma_delimited_list
651 # Ceph storage specific parameters
656 default: overcloud-full
658 OvercloudCephStorageFlavor:
660 description: Flavor for Ceph storage nodes to request when deploying.
663 - custom_constraint: nova.flavor
664 CephStorageExtraConfig:
667 CephStorage specific configuration to inject into the cluster. Same
668 structure as ExtraConfig.
670 CephStorageSchedulerHints:
672 description: Optional scheduler hints to pass to nova
676 - OS::TripleO::Services::Ntp
677 description: A list of service resources (configured in the Heat
678 resource_registry) which represent nested stacks
679 for each service that should get installed on the CephStorage nodes.
680 type: comma_delimited_list
682 # Hostname format for each role
683 # Note %index% is translated into the index of the node, e.g 0/1/2 etc
684 # and %stackname% is replaced with OS::stack_name in the template below.
685 # If you want to use the heat generated names, pass '' (empty string).
686 ControllerHostnameFormat:
688 description: Format for Controller node hostnames
689 default: '%stackname%-controller-%index%'
690 ComputeHostnameFormat:
692 description: Format for Compute node hostnames
693 default: '%stackname%-novacompute-%index%'
694 BlockStorageHostnameFormat:
696 description: Format for BlockStorage node hostnames
697 default: '%stackname%-blockstorage-%index%'
698 ObjectStorageHostnameFormat:
700 description: Format for SwiftStorage node hostnames
701 default: '%stackname%-objectstorage-%index%'
702 CephStorageHostnameFormat:
704 description: Format for CephStorage node hostnames
705 default: '%stackname%-cephstorage-%index%'
707 # Identifiers to trigger tasks on nodes
712 Setting to a previously unused value during stack-update will trigger
713 package update on all nodes
718 Setting this to a unique value will re-run any deployment tasks which
719 perform configuration on a Heat stack-update.
721 # If you want to remove a specific node from a resource group, you can pass
722 # the node name or id as a <Group>RemovalPolicies parameter, for example:
723 # ComputeRemovalPolicies: [{'resource_list': ['0']}]
724 ControllerRemovalPolicies:
728 List of resources to be removed from ControllerResourceGroup when
729 doing an update which requires removal of specific resources.
730 ComputeRemovalPolicies:
734 List of resources to be removed from ComputeResourceGroup when
735 doing an update which requires removal of specific resources.
736 BlockStorageRemovalPolicies:
740 List of resources to be removed from BlockStorageResourceGroup when
741 doing an update which requires removal of specific resources.
742 ObjectStorageRemovalPolicies:
746 List of resources to be removed from ObjectStorageResourceGroup when
747 doing an update which requires removal of specific resources.
748 CephStorageRemovalPolicies:
752 List of resources to be removed from CephStorageResourceGroup when
753 doing an update which requires removal of specific resources.
757 description: Do not use deprecated params, they will be removed.
759 - controllerExtraConfig
764 HeatAuthEncryptionKey:
765 type: OS::Heat::RandomString
768 type: OS::Heat::RandomString
773 type: OS::Heat::RandomString
778 type: OS::TripleO::EndpointMap
780 CloudName: {get_param: CloudName}
781 CeilometerApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
782 AodhApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
783 CinderApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
784 GlanceApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
785 GlanceRegistryVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
786 GnocchiApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
787 HeatApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
788 IronicApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
789 KeystoneAdminApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
790 KeystonePublicApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
791 MysqlVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
792 NeutronApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
793 NovaApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
794 SaharaApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
795 SwiftProxyVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
796 PublicVirtualIP: {get_attr: [VipMap, net_ip_uri_map, external]}
798 ControllerServiceChain:
799 type: OS::TripleO::Services
802 Services: {get_param: ControllerServices}
803 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
806 type: OS::Heat::ResourceGroup
809 count: {get_param: ControllerCount}
810 removal_policies: {get_param: ControllerRemovalPolicies}
812 type: OS::TripleO::Controller
814 AdminPassword: {get_param: AdminPassword}
815 AodhPassword: {get_param: AodhPassword}
816 CeilometerBackend: {get_param: CeilometerBackend}
817 CeilometerMeteringSecret: {get_param: CeilometerMeteringSecret}
818 CeilometerPassword: {get_param: CeilometerPassword}
819 CeilometerMeterDispatcher: {get_param: CeilometerMeterDispatcher}
820 CloudDomain: {get_param: CloudDomain}
821 ControlVirtualInterface: {get_param: ControlVirtualInterface}
822 controllerExtraConfig: {get_param: controllerExtraConfig}
823 CorosyncIPv6: {get_param: CorosyncIPv6}
824 Debug: {get_param: Debug}
825 EnableFencing: {get_param: EnableFencing}
826 ManageFirewall: {get_param: ManageFirewall}
827 PurgeFirewallRules: {get_param: PurgeFirewallRules}
828 EnableGalera: {get_param: EnableGalera}
829 EnableCephStorage: {get_param: ControllerEnableCephStorage}
830 ExtraConfig: {get_param: ExtraConfig}
831 FencingConfig: {get_param: FencingConfig}
832 Flavor: {get_param: OvercloudControlFlavor}
833 GnocchiPassword: {get_param: GnocchiPassword}
834 GnocchiBackend: {get_param: GnocchiBackend}
835 GnocchiIndexerBackend: {get_param: GnocchiIndexerBackend}
836 HAProxySyslogAddress: {get_param: HAProxySyslogAddress}
837 HeatAuthEncryptionKey: {get_resource: HeatAuthEncryptionKey}
838 HorizonAllowedHosts: {get_param: HorizonAllowedHosts}
839 HorizonSecret: {get_resource: HorizonSecret}
840 Image: {get_param: controllerImage}
841 ImageUpdatePolicy: {get_param: ImageUpdatePolicy}
842 InstanceNameTemplate: {get_param: InstanceNameTemplate}
843 KeyName: {get_param: KeyName}
844 MemcachedIPv6: {get_param: MemcachedIPv6}
845 MysqlClusterUniquePart: {get_attr: [MysqlClusterUniquePart, value]}
846 MysqlInnodbBufferPoolSize: {get_param: MysqlInnodbBufferPoolSize}
847 MysqlMaxConnections: {get_param: MysqlMaxConnections}
848 MysqlRootPassword: {get_attr: [MysqlRootPassword, value]}
849 NeutronTenantMtu: {get_param: NeutronTenantMtu}
850 NeutronPublicInterface: {get_param: NeutronPublicInterface}
851 NeutronPassword: {get_param: NeutronPassword}
852 NeutronMetadataProxySharedSecret: {get_param: NeutronMetadataProxySharedSecret}
853 NovaIPv6: {get_param: NovaIPv6}
854 NovaPassword: {get_param: NovaPassword}
855 PcsdPassword: {get_resource: PcsdPassword}
856 PublicVirtualInterface: {get_param: PublicVirtualInterface}
857 RabbitPassword: {get_param: RabbitPassword}
858 RabbitUserName: {get_param: RabbitUserName}
859 RabbitCookie: {get_attr: [RabbitCookie, value]}
860 RabbitClientUseSSL: {get_param: RabbitClientUseSSL}
861 RabbitClientPort: {get_param: RabbitClientPort}
862 RedisPassword: {get_param: RedisPassword}
863 RedisVirtualIP: {get_attr: [RedisVirtualIP, ip_address]}
864 RedisVirtualIPUri: {get_attr: [RedisVirtualIP, ip_address_uri]}
865 SwiftHashSuffix: {get_param: SwiftHashSuffix}
866 SwiftMinPartHours: {get_param: SwiftMinPartHours}
867 SwiftPartPower: {get_param: SwiftPartPower}
868 SwiftReplicas: { get_param: SwiftReplicas}
869 TimeZone: {get_param: TimeZone}
870 ServiceNetMap: {get_param: ServiceNetMap}
871 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
872 MysqlVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
873 UpdateIdentifier: {get_param: UpdateIdentifier}
876 template: {get_param: ControllerHostnameFormat}
878 '%stackname%': {get_param: 'OS::stack_name'}
880 ServerMetadata: {get_param: ServerMetadata}
881 SchedulerHints: {get_param: ControllerSchedulerHints}
882 ServiceConfigSettings: {get_attr: [ControllerServiceChain, config_settings]}
885 type: OS::TripleO::Services
887 Services: {get_param: ComputeServices}
888 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
891 type: OS::Heat::ResourceGroup
894 count: {get_param: ComputeCount}
895 removal_policies: {get_param: ComputeRemovalPolicies}
897 type: OS::TripleO::Compute
899 AdminPassword: {get_param: AdminPassword}
900 CeilometerComputeAgent: {get_param: CeilometerComputeAgent}
901 CeilometerMeteringSecret: {get_param: CeilometerMeteringSecret}
902 CeilometerPassword: {get_param: CeilometerPassword}
903 CinderEnableNfsBackend: {get_param: CinderEnableNfsBackend}
904 CinderEnableRbdBackend: {get_param: CinderEnableRbdBackend}
905 Debug: {get_param: Debug}
906 ExtraConfig: {get_param: ExtraConfig}
907 Flavor: {get_param: OvercloudComputeFlavor}
908 GlanceHost: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
909 Image: {get_param: NovaImage}
910 ImageUpdatePolicy: {get_param: ImageUpdatePolicy}
911 KeyName: {get_param: KeyName}
912 KeystoneAdminApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
913 KeystonePublicApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
914 NeutronBridgeMappings: {get_param: NeutronBridgeMappings}
915 NeutronTenantMtu: {get_param: NeutronTenantMtu}
916 NeutronEnableTunnelling: {get_param: NeutronEnableTunnelling}
917 NeutronEnableL2Pop : {get_param: NeutronEnableL2Pop}
918 NeutronFlatNetworks: {get_param: NeutronFlatNetworks}
919 NeutronHost: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
920 NeutronNetworkType: {get_param: NeutronNetworkType}
921 NeutronTunnelTypes: {get_param: NeutronTunnelTypes}
922 NeutronNetworkVLANRanges: {get_param: NeutronNetworkVLANRanges}
923 NeutronPassword: {get_param: NeutronPassword}
924 NeutronPhysicalBridge: {get_param: HypervisorNeutronPhysicalBridge}
925 NeutronPublicInterface: {get_param: HypervisorNeutronPublicInterface}
926 NeutronMetadataProxySharedSecret: {get_param: NeutronMetadataProxySharedSecret}
927 NeutronCorePlugin: {get_param: NeutronCorePlugin}
928 NeutronServicePlugins: {get_param: NeutronServicePlugins}
929 NeutronTypeDrivers: {get_param: NeutronTypeDrivers}
930 NeutronMechanismDrivers: {get_param: NeutronMechanismDrivers}
931 NeutronAgentExtensions: {get_param: NeutronAgentExtensions}
932 # L3 HA and Failover is not relevant for Computes, should be removed
933 NeutronAllowL3AgentFailover: {get_param: NeutronAllowL3AgentFailover}
934 NeutronL3HA: {get_param: NeutronL3HA}
935 NovaApiHost: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
936 NovaComputeDriver: {get_param: NovaComputeDriver}
937 NovaComputeExtraConfig: {get_param: NovaComputeExtraConfig}
938 NovaComputeLibvirtType: {get_param: NovaComputeLibvirtType}
939 NovaComputeLibvirtVifDriver: {get_param: NovaComputeLibvirtVifDriver}
940 NovaEnableRbdBackend: {get_param: NovaEnableRbdBackend}
941 NovaIPv6: {get_param: NovaIPv6}
942 NovaPublicIP: {get_attr: [VipMap, net_ip_map, external]}
943 NovaPassword: {get_param: NovaPassword}
944 NovaOVSBridge: {get_param: NovaOVSBridge}
945 NovaSecurityGroupAPI: {get_param: NovaSecurityGroupAPI}
946 RabbitHost: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]}
947 RabbitPassword: {get_param: RabbitPassword}
948 RabbitUserName: {get_param: RabbitUserName}
949 RabbitClientUseSSL: {get_param: RabbitClientUseSSL}
950 RabbitClientPort: {get_param: RabbitClientPort}
951 ServiceNetMap: {get_param: ServiceNetMap}
952 TimeZone: {get_param: TimeZone}
953 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
954 UpdateIdentifier: {get_param: UpdateIdentifier}
957 template: {get_param: ComputeHostnameFormat}
959 '%stackname%': {get_param: 'OS::stack_name'}
960 CloudDomain: {get_param: CloudDomain}
961 ServerMetadata: {get_param: ServerMetadata}
962 SchedulerHints: {get_param: NovaComputeSchedulerHints}
964 ServiceConfigSettings: {get_attr: [ComputeServiceChain, config_settings]}
966 BlockStorageServiceChain:
967 type: OS::TripleO::Services
969 Services: {get_param: BlockStorageServices}
970 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
973 type: OS::Heat::ResourceGroup
976 count: {get_param: BlockStorageCount}
977 removal_policies: {get_param: BlockStorageRemovalPolicies}
979 type: OS::TripleO::BlockStorage
981 Image: {get_param: BlockStorageImage}
982 KeyName: {get_param: KeyName}
983 Flavor: {get_param: OvercloudBlockStorageFlavor}
984 TimeZone: {get_param: TimeZone}
985 NtpServer: {get_param: NtpServer}
986 UpdateIdentifier: {get_param: UpdateIdentifier}
989 template: {get_param: BlockStorageHostnameFormat}
991 '%stackname%': {get_param: 'OS::stack_name'}
992 ServiceNetMap: {get_param: ServiceNetMap}
993 ExtraConfig: {get_param: ExtraConfig}
994 BlockStorageExtraConfig: {get_param: BlockStorageExtraConfig}
995 CloudDomain: {get_param: CloudDomain}
996 ServerMetadata: {get_param: ServerMetadata}
997 SchedulerHints: {get_param: BlockStorageSchedulerHints}
999 ServiceConfigSettings: {get_attr: [BlockStorageServiceChain, config_settings]}
1001 ObjectStorageServiceChain:
1002 type: OS::TripleO::Services
1004 Services: {get_param: ObjectStorageServices}
1005 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
1008 type: OS::Heat::ResourceGroup
1009 depends_on: Networks
1011 count: {get_param: ObjectStorageCount}
1012 removal_policies: {get_param: ObjectStorageRemovalPolicies}
1014 type: OS::TripleO::ObjectStorage
1016 KeyName: {get_param: KeyName}
1017 Flavor: {get_param: OvercloudSwiftStorageFlavor}
1018 HashSuffix: {get_param: SwiftHashSuffix}
1019 MinPartHours: {get_param: SwiftMinPartHours}
1020 PartPower: {get_param: SwiftPartPower}
1021 Image: {get_param: SwiftStorageImage}
1022 Replicas: { get_param: SwiftReplicas}
1023 TimeZone: {get_param: TimeZone}
1024 UpdateIdentifier: {get_param: UpdateIdentifier}
1025 ServiceNetMap: {get_param: ServiceNetMap}
1028 template: {get_param: ObjectStorageHostnameFormat}
1030 '%stackname%': {get_param: 'OS::stack_name'}
1031 ExtraConfig: {get_param: ExtraConfig}
1032 ObjectStorageExtraConfig: {get_param: ObjectStorageExtraConfig}
1033 CloudDomain: {get_param: CloudDomain}
1034 ServerMetadata: {get_param: ServerMetadata}
1035 SchedulerHints: {get_param: ObjectStorageSchedulerHints}
1036 NodeIndex: '%index%'
1037 ServiceConfigSettings: {get_attr: [ObjectStorageServiceChain, config_settings]}
1039 CephStorageServiceChain:
1040 type: OS::TripleO::Services
1042 Services: {get_param: CephStorageServices}
1043 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
1046 type: OS::Heat::ResourceGroup
1047 depends_on: Networks
1049 count: {get_param: CephStorageCount}
1050 removal_policies: {get_param: CephStorageRemovalPolicies}
1052 type: OS::TripleO::CephStorage
1054 Image: {get_param: CephStorageImage}
1055 KeyName: {get_param: KeyName}
1056 Flavor: {get_param: OvercloudCephStorageFlavor}
1057 ServiceNetMap: {get_param: ServiceNetMap}
1058 TimeZone: {get_param: TimeZone}
1059 UpdateIdentifier: {get_param: UpdateIdentifier}
1062 template: {get_param: CephStorageHostnameFormat}
1064 '%stackname%': {get_param: 'OS::stack_name'}
1065 ExtraConfig: {get_param: ExtraConfig}
1066 CephStorageExtraConfig: {get_param: CephStorageExtraConfig}
1067 CloudDomain: {get_param: CloudDomain}
1068 ServerMetadata: {get_param: ServerMetadata}
1069 SchedulerHints: {get_param: CephStorageSchedulerHints}
1070 NodeIndex: '%index%'
1071 ServiceConfigSettings: {get_attr: [CephStorageServiceChain, config_settings]}
1073 ControllerIpListMap:
1074 type: OS::TripleO::Network::Ports::NetIpListMap
1076 ControlPlaneIpList: {get_attr: [Controller, ip_address]}
1077 ExternalIpList: {get_attr: [Controller, external_ip_address]}
1078 InternalApiIpList: {get_attr: [Controller, internal_api_ip_address]}
1079 StorageIpList: {get_attr: [Controller, storage_ip_address]}
1080 StorageMgmtIpList: {get_attr: [Controller, storage_mgmt_ip_address]}
1081 TenantIpList: {get_attr: [Controller, tenant_ip_address]}
1082 ManagementIpList: {get_attr: [Controller, management_ip_address]}
1085 type: OS::TripleO::AllNodes::SoftwareConfig
1087 compute_hosts: {get_attr: [Compute, hosts_entry]}
1088 controller_hosts: {get_attr: [Controller, hosts_entry]}
1089 controller_ips: {get_attr: [Controller, ip_address]}
1090 block_storage_hosts: {get_attr: [BlockStorage, hosts_entry]}
1091 object_storage_hosts: {get_attr: [ObjectStorage, hosts_entry]}
1092 ceph_storage_hosts: {get_attr: [CephStorage, hosts_entry]}
1093 controller_names: {get_attr: [Controller, hostname]}
1094 rabbit_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]}
1095 mongo_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, MongoDbNetwork]}]}
1096 redis_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, RedisNetwork]}]}
1097 memcache_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, MemcachedNetwork]}]}
1098 mysql_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
1099 horizon_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, HorizonNetwork]}]}
1100 heat_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
1101 swift_proxy_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
1102 ceilometer_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
1103 aodh_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
1104 gnocchi_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
1105 nova_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
1106 nova_metadata_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, NovaMetadataNetwork]}]}
1107 glance_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
1108 glance_registry_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
1109 cinder_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
1110 neutron_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
1111 keystone_public_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
1112 keystone_admin_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
1113 sahara_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
1114 ironic_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
1115 DeployIdentifier: {get_param: DeployIdentifier}
1116 UpdateIdentifier: {get_param: UpdateIdentifier}
1119 type: OS::Heat::RandomString
1123 MysqlClusterUniquePart:
1124 type: OS::Heat::RandomString
1129 type: OS::Heat::RandomString
1132 salt: {get_param: RabbitCookieSalt}
1134 # creates the network architecture
1136 type: OS::TripleO::Network
1139 type: OS::Neutron::Port
1140 depends_on: Networks
1142 name: control_virtual_ip
1143 network: {get_param: NeutronControlPlaneID}
1144 fixed_ips: {get_param: ControlFixedIPs}
1145 replacement_policy: AUTO
1148 depends_on: Networks
1149 type: OS::TripleO::Network::Ports::RedisVipPort
1151 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
1152 ControlPlaneNetwork: {get_param: NeutronControlPlaneID}
1153 PortName: redis_virtual_ip
1154 NetworkName: {get_param: [ServiceNetMap, RedisNetwork]}
1157 # The public VIP is on the External net, falls back to ctlplane
1159 depends_on: Networks
1160 type: OS::TripleO::Network::Ports::ExternalVipPort
1162 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
1163 ControlPlaneNetwork: {get_param: NeutronControlPlaneID}
1164 PortName: public_virtual_ip
1165 FixedIPs: {get_param: PublicVirtualFixedIPs}
1167 InternalApiVirtualIP:
1168 depends_on: Networks
1169 type: OS::TripleO::Network::Ports::InternalApiVipPort
1171 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
1172 PortName: internal_api_virtual_ip
1173 FixedIPs: {get_param: InternalApiVirtualFixedIPs}
1176 depends_on: Networks
1177 type: OS::TripleO::Network::Ports::StorageVipPort
1179 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
1180 PortName: storage_virtual_ip
1181 FixedIPs: {get_param: StorageVirtualFixedIPs}
1183 StorageMgmtVirtualIP:
1184 depends_on: Networks
1185 type: OS::TripleO::Network::Ports::StorageMgmtVipPort
1187 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
1188 PortName: storage_management_virtual_ip
1189 FixedIPs: {get_param: StorageMgmtVirtualFixedIPs}
1192 type: OS::TripleO::Network::Ports::NetVipMap
1194 ControlPlaneIp: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
1195 ExternalIp: {get_attr: [PublicVirtualIP, ip_address]}
1196 ExternalIpUri: {get_attr: [PublicVirtualIP, ip_address_uri]}
1197 InternalApiIp: {get_attr: [InternalApiVirtualIP, ip_address]}
1198 InternalApiIpUri: {get_attr: [InternalApiVirtualIP, ip_address_uri]}
1199 StorageIp: {get_attr: [StorageVirtualIP, ip_address]}
1200 StorageIpUri: {get_attr: [StorageVirtualIP, ip_address_uri]}
1201 StorageMgmtIp: {get_attr: [StorageMgmtVirtualIP, ip_address]}
1202 StorageMgmtIpUri: {get_attr: [StorageMgmtVirtualIP, ip_address_uri]}
1203 # No tenant or management VIP required
1206 type: OS::TripleO::VipConfig
1209 type: OS::Heat::StructuredDeployments
1212 config: {get_resource: VipConfig}
1213 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1215 # service VIP mappings
1216 keystone_admin_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
1217 keystone_public_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
1218 neutron_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
1219 cinder_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
1220 glance_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
1221 glance_registry_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
1222 swift_proxy_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
1223 nova_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
1224 nova_metadata_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaMetadataNetwork]}]}
1225 ceilometer_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
1226 aodh_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
1227 gnocchi_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
1228 heat_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
1229 horizon_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HorizonNetwork]}]}
1230 redis_vip: {get_attr: [RedisVirtualIP, ip_address]}
1231 mysql_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
1232 rabbit_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]}
1233 # direct configuration of Virtual IPs for each network
1234 control_virtual_ip: {get_attr: [VipMap, net_ip_map, ctlplane]}
1235 public_virtual_ip: {get_attr: [VipMap, net_ip_map, external]}
1236 internal_api_virtual_ip: {get_attr: [VipMap, net_ip_map, internal_api]}
1237 sahara_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
1238 ironic_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
1239 storage_virtual_ip: {get_attr: [VipMap, net_ip_map, storage]}
1240 storage_mgmt_virtual_ip: {get_attr: [VipMap, net_ip_map, storage_mgmt]}
1242 ControllerBootstrapNodeConfig:
1243 type: OS::TripleO::BootstrapNode::SoftwareConfig
1245 bootstrap_nodeid: {get_attr: [Controller, resource.0.hostname]}
1246 bootstrap_nodeid_ip: {get_attr: [Controller, resource.0.ip_address]}
1248 ControllerBootstrapNodeDeployment:
1249 type: OS::Heat::StructuredDeployments
1251 name: ControllerBootstrapNodeDeployment
1252 config: {get_attr: [ControllerBootstrapNodeConfig, config_id]}
1253 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1255 ControllerSwiftDeployment:
1256 type: OS::Heat::StructuredDeployments
1258 name: ControllerSwiftDeployment
1259 config: {get_attr: [SwiftDevicesAndProxyConfig, config_id]}
1260 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1262 ObjectStorageSwiftDeployment:
1263 type: OS::Heat::StructuredDeployments
1265 name: ObjectStorageSwiftDeployment
1266 config: {get_attr: [SwiftDevicesAndProxyConfig, config_id]}
1267 servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1269 SwiftDevicesAndProxyConfig:
1270 type: OS::TripleO::SwiftDevicesAndProxy::SoftwareConfig
1272 controller_swift_devices: {get_attr: [Controller, swift_device]}
1273 object_store_swift_devices: {get_attr: [ObjectStorage, swift_device]}
1274 controller_swift_proxy_memcaches: {get_attr: [Controller, swift_proxy_memcache]}
1276 ComputeCephDeployment:
1277 type: OS::Heat::StructuredDeployments
1279 name: ComputeCephDeployment
1280 config: {get_attr: [CephClusterConfig, config_id]}
1281 servers: {get_attr: [Compute, attributes, nova_server_resource]}
1283 ControllerCephDeployment:
1284 type: OS::Heat::StructuredDeployments
1286 name: ControllerCephDeployment
1287 config: {get_attr: [CephClusterConfig, config_id]}
1288 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1290 CephStorageCephDeployment:
1291 type: OS::Heat::StructuredDeployments
1293 name: CephStorageCephDeployment
1294 config: {get_attr: [CephClusterConfig, config_id]}
1295 servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1298 type: OS::TripleO::CephClusterConfig::SoftwareConfig
1300 ceph_storage_count: {get_param: CephStorageCount}
1301 ceph_fsid: {get_param: CephClusterFSID}
1302 ceph_mon_key: {get_param: CephMonKey}
1303 ceph_admin_key: {get_param: CephAdminKey}
1304 ceph_client_key: {get_param: CephClientKey}
1305 ceph_external_mon_ips: {get_param: CephExternalMonHost}
1306 ceph_mon_names: {get_attr: [Controller, hostname]}
1307 ceph_mon_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, CephPublicNetwork]}]}
1309 ControllerAllNodesDeployment:
1310 type: OS::Heat::StructuredDeployments
1312 name: ControllerAllNodesDeployment
1313 config: {get_attr: [allNodesConfig, config_id]}
1314 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1316 ComputeAllNodesDeployment:
1317 type: OS::Heat::StructuredDeployments
1319 name: ComputeAllNodesDeployment
1320 config: {get_attr: [allNodesConfig, config_id]}
1321 servers: {get_attr: [Compute, attributes, nova_server_resource]}
1323 BlockStorageAllNodesDeployment:
1324 type: OS::Heat::StructuredDeployments
1326 name: BlockStorageAllNodesDeployment
1327 config: {get_attr: [allNodesConfig, config_id]}
1328 servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
1330 ObjectStorageAllNodesDeployment:
1331 type: OS::Heat::StructuredDeployments
1333 name: ObjectStorageAllNodesDeployment
1334 config: {get_attr: [allNodesConfig, config_id]}
1335 servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1337 CephStorageAllNodesDeployment:
1338 type: OS::Heat::StructuredDeployments
1340 name: CephStorageAllNodesDeployment
1341 config: {get_attr: [allNodesConfig, config_id]}
1342 servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1344 # All Nodes Validations
1345 AllNodesValidationConfig:
1346 type: OS::TripleO::AllNodes::Validation
1351 - - {get_attr: [Controller, resource.0.external_ip_address]}
1352 - {get_attr: [Controller, resource.0.internal_api_ip_address]}
1353 - {get_attr: [Controller, resource.0.storage_ip_address]}
1354 - {get_attr: [Controller, resource.0.storage_mgmt_ip_address]}
1355 - {get_attr: [Controller, resource.0.tenant_ip_address]}
1357 ControllerAllNodesValidationDeployment:
1358 type: OS::Heat::StructuredDeployments
1359 depends_on: ControllerAllNodesDeployment
1361 name: ControllerAllNodesValidationDeployment
1362 config: {get_resource: AllNodesValidationConfig}
1363 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1365 ComputeAllNodesValidationDeployment:
1366 type: OS::Heat::StructuredDeployments
1367 depends_on: ComputeAllNodesDeployment
1369 name: ComputeAllNodesValidationDeployment
1370 config: {get_resource: AllNodesValidationConfig}
1371 servers: {get_attr: [Compute, attributes, nova_server_resource]}
1373 BlockStorageAllNodesValidationDeployment:
1374 type: OS::Heat::StructuredDeployments
1375 depends_on: BlockStorageAllNodesDeployment
1377 name: BlockStorageAllNodesValidationDeployment
1378 config: {get_resource: AllNodesValidationConfig}
1379 servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
1381 ObjectStorageAllNodesValidationDeployment:
1382 type: OS::Heat::StructuredDeployments
1383 depends_on: ObjectStorageAllNodesDeployment
1385 name: ObjectStorageAllNodesValidationDeployment
1386 config: {get_resource: AllNodesValidationConfig}
1387 servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1389 CephStorageAllNodesValidationDeployment:
1390 type: OS::Heat::StructuredDeployments
1391 depends_on: CephStorageAllNodesDeployment
1393 name: CephStorageAllNodesValidationDeployment
1394 config: {get_resource: AllNodesValidationConfig}
1395 servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1398 type: OS::TripleO::Tasks::UpdateWorkflow
1400 controller_servers: {get_attr: [Controller, attributes, nova_server_resource]}
1401 compute_servers: {get_attr: [Compute, attributes, nova_server_resource]}
1402 blockstorage_servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
1403 objectstorage_servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1404 cephstorage_servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1406 deploy_identifier: {get_param: DeployIdentifier}
1407 update_identifier: {get_param: UpdateIdentifier}
1409 # Optional ExtraConfig for all nodes - all roles are passed in here, but
1410 # the nested template may configure each role differently (or not at all)
1411 AllNodesExtraConfig:
1412 type: OS::TripleO::AllNodesExtraConfig
1415 - ComputeAllNodesValidationDeployment
1416 - BlockStorageAllNodesValidationDeployment
1417 - ObjectStorageAllNodesValidationDeployment
1418 - CephStorageAllNodesValidationDeployment
1419 - ControllerAllNodesValidationDeployment
1421 controller_servers: {get_attr: [Controller, attributes, nova_server_resource]}
1422 compute_servers: {get_attr: [Compute, attributes, nova_server_resource]}
1423 blockstorage_servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
1424 objectstorage_servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1425 cephstorage_servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1427 # Nested stack deployment runs after all other controller deployments
1428 ControllerNodesPostDeployment:
1429 type: OS::TripleO::ControllerPostDeployment
1430 depends_on: [ControllerBootstrapNodeDeployment, ControllerAllNodesDeployment, ControllerSwiftDeployment, ControllerCephDeployment]
1432 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1433 NodeConfigIdentifiers:
1434 allnodes_extra: {get_attr: [AllNodesExtraConfig, config_identifier]}
1435 controller_config: {get_attr: [Controller, attributes, config_identifier]}
1436 deployment_identifier: {get_param: DeployIdentifier}
1437 StepConfig: {get_attr: [ControllerServiceChain, step_config]}
1439 ComputeNodesPostDeployment:
1440 type: OS::TripleO::ComputePostDeployment
1441 depends_on: [ComputeAllNodesDeployment, ComputeCephDeployment]
1443 servers: {get_attr: [Compute, attributes, nova_server_resource]}
1444 NodeConfigIdentifiers:
1445 allnodes_extra: {get_attr: [AllNodesExtraConfig, config_identifier]}
1446 compute_config: {get_attr: [Compute, attributes, config_identifier]}
1447 deployment_identifier: {get_param: DeployIdentifier}
1448 StepConfig: {get_attr: [ComputeServiceChain, step_config]}
1450 ObjectStorageNodesPostDeployment:
1451 type: OS::TripleO::ObjectStoragePostDeployment
1452 depends_on: [ObjectStorageSwiftDeployment, ObjectStorageAllNodesDeployment]
1454 servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1455 NodeConfigIdentifiers:
1456 allnodes_extra: {get_attr: [AllNodesExtraConfig, config_identifier]}
1457 objectstorage_config: {get_attr: [ObjectStorage, attributes, config_identifier]}
1458 deployment_identifier: {get_param: DeployIdentifier}
1459 StepConfig: {get_attr: [ObjectStorageServiceChain, step_config]}
1461 BlockStorageNodesPostDeployment:
1462 type: OS::TripleO::BlockStoragePostDeployment
1463 depends_on: [ControllerNodesPostDeployment, BlockStorageAllNodesDeployment]
1465 servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
1466 NodeConfigIdentifiers:
1467 allnodes_extra: {get_attr: [AllNodesExtraConfig, config_identifier]}
1468 blockstorage_config: {get_attr: [BlockStorage, attributes, config_identifier]}
1469 deployment_identifier: {get_param: DeployIdentifier}
1470 StepConfig: {get_attr: [BlockStorageServiceChain, step_config]}
1473 CephStorageNodesPostDeployment:
1474 type: OS::TripleO::CephStoragePostDeployment
1475 depends_on: [ControllerNodesPostDeployment, CephStorageCephDeployment, CephStorageAllNodesDeployment]
1477 servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1478 NodeConfigIdentifiers:
1479 allnodes_extra: {get_attr: [AllNodesExtraConfig, config_identifier]}
1480 cephstorage_config: {get_attr: [CephStorage, attributes, config_identifier]}
1481 deployment_identifier: {get_param: DeployIdentifier}
1482 StepConfig: {get_attr: [CephStorageServiceChain, step_config]}
1486 description: URL for the Overcloud Keystone service
1487 value: {get_attr: [EndpointMap, endpoint_map, KeystonePublic, uri]}
1489 description: Keystone Admin VIP endpoint
1490 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
1492 description: Controller VIP for public API endpoints
1493 value: {get_attr: [VipMap, net_ip_map, external]}
1495 description: VIP for Aodh API internal endpoint
1496 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
1497 CeilometerInternalVip:
1498 description: VIP for Ceilometer API internal endpoint
1499 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
1501 description: VIP for Cinder API internal endpoint
1502 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
1504 description: VIP for Glance API internal endpoint
1505 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
1507 description: VIP for Gnocchi API internal endpoint
1508 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
1510 description: VIP for Heat API internal endpoint
1511 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
1513 description: VIP for Ironic API internal endpoint
1514 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
1515 KeystoneInternalVip:
1516 description: VIP for Keystone API internal endpoint
1517 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
1519 description: VIP for Neutron API internal endpoint
1520 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
1522 description: VIP for Nova API internal endpoint
1523 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
1525 description: VIP for Sahara API internal endpoint
1526 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
1528 description: VIP for Swift Proxy internal endpoint
1529 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
1532 Mapping of the resources with the needed info for their endpoints.
1533 This includes the protocol used, the IP, port and also a full
1534 representation of the URI.
1535 value: {get_attr: [EndpointMap, endpoint_map]}
1538 The content that should be appended to your /etc/hosts if you want to get
1539 hostname-based access to the deployed nodes (useful for testing without
1541 value: {get_attr: [allNodesConfig, hosts_entries]}