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.
23 CinderEnableNfsBackend:
25 description: Whether to enable or not the NFS backend for Cinder
27 CinderEnableRbdBackend:
29 description: Whether to enable or not the Rbd backend for Cinder
33 description: The DNS name of this cloud. E.g. ci-overcloud.tripleo.org
37 description: Should be used for arbitrary ips.
41 description: Enable IPv6 in Corosync
45 description: Set to True to enable debugging on all services.
49 description: Syslog address where HAproxy will send its log
52 default: 'REBUILD_PRESERVE_EPHEMERAL'
53 description: What policy to use when reconstructing instances. REBUILD for rebuilds, REBUILD_PRESERVE_EPHEMERAL to preserve /mnt.
55 InternalApiVirtualFixedIPs:
58 Control the IP allocation for the InternalApiVirtualInterface port. E.g.
59 [{'ip_address':'1.2.3.4'}]
63 description: Name of an existing Nova key pair to enable SSH access to the instances
66 - custom_constraint: nova.keypair
69 description: Enable IPv6 features in Memcached.
71 NeutronControlPlaneID:
74 description: Neutron ID or name for ctlplane network.
76 description: The password for the neutron service account, used by neutron agents.
79 NeutronPublicInterface:
81 description: What interface to bridge onto br-ex for network nodes.
85 description: Enable IPv6 features in Nova
88 description: The password for the nova service account, used by nova-api.
91 PublicVirtualFixedIPs:
94 Control the IP allocation for the PublicVirtualInterface port. E.g.
95 [{'ip_address':'1.2.3.4'}]
100 description: Salt for the rabbit cookie, change this to force the randomly generated rabbit cookie to change.
103 description: The username for RabbitMQ
106 description: The password for RabbitMQ
112 Rabbit client subscriber parameter to specify
113 an SSL connection to the RabbitMQ host.
117 description: Set rabbit subscriber port, change this if using SSL
120 description: The password for Redis
123 StorageVirtualFixedIPs:
126 Control the IP allocation for the StorageVirtualInterface port. E.g.
127 [{'ip_address':'1.2.3.4'}]
129 StorageMgmtVirtualFixedIPs:
132 Control the IP allocation for the StorageMgmgVirtualInterface port. E.g.
133 [{'ip_address':'1.2.3.4'}]
136 default: 'localdomain'
139 The DNS domain used for the hosts. This should match the dhcp_domain
140 configured in the Undercloud neutron. Defaults to localdomain.
144 Extra properties or metadata passed to Nova for the created nodes in
145 the overcloud. It's accessible via the Nova metadata API.
148 # Controller-specific params
154 controllerExtraConfig:
157 Deprecated. Use ControllerExtraConfig via parameter_defaults instead.
161 default: overcloud-full
163 - custom_constraint: glance.image
164 OvercloudControlFlavor:
165 description: Flavor for control nodes to request when deploying.
169 - custom_constraint: nova.flavor
170 ControlVirtualInterface:
172 description: Interface where virtual ip will be assigned.
176 description: Whether to enable fencing in Pacemaker or not.
180 description: Whether to use Galera instead of regular MariaDB.
182 ControllerSchedulerHints:
184 description: Optional scheduler hints to pass to nova
189 Additional configuration to inject into the cluster. The format required
190 may be implementation specific, e.g puppet hieradata. Any role specific
191 ExtraConfig, e.g controllerExtraConfig takes precedence over ExtraConfig.
196 Pacemaker fencing configuration. The JSON should have
197 the following structure:
201 "agent": "AGENT_NAME",
202 "host_mac": "HOST_MAC_ADDRESS",
203 "params": {"PARAM_NAME": "PARAM_VALUE"}
211 "agent": "fence_xvm",
212 "host_mac": "52:54:00:aa:bb:cc",
214 "multicast_address": "225.0.0.12",
215 "port": "baremetal_0",
217 "manage_key_file": true,
218 "key_file": "/etc/fence_xvm.key",
219 "key_file_password": "abcdef"
227 description: The short name of the Gnocchi backend to use. Should be one
228 of swift, rbd or file
231 - allowed_values: ['swift', 'file', 'rbd']
232 GnocchiIndexerBackend:
234 description: The short name of the Gnocchi indexer backend to use.
237 description: The password for the gnocchi service account.
240 InstanceNameTemplate:
241 default: 'instance-%08x'
242 description: Template string to be used to generate instance names
246 description: Whether to manage IPtables rules.
250 description: Whether IPtables rules should be purged before setting up the ones.
252 MysqlInnodbBufferPoolSize:
254 Specifies the size of the buffer pool in megabytes. Setting to
255 zero should be interpreted as "no value" and will defer to the
260 description: Configures MySQL max_connections config setting
263 PublicVirtualInterface:
266 Specifies the interface where the public-facing virtual ip will be assigned.
267 This should be int_public when a VLAN is being used.
270 description: A random string to be used as a salt when hashing to determine mappings in the ring.
276 description: The minimum time (in hours) before a partition in a ring can be moved following a rebalance.
279 description: Partition Power to use when building Swift rings
284 description: How many replicas to use in the swift rings.
286 # Compute-specific params
287 CeilometerComputeAgent:
288 description: Indicates whether the Compute agent is present and expects nova-compute to be configured accordingly
292 - allowed_values: ['', Present]
296 HypervisorNeutronPhysicalBridge:
299 An OVS bridge to create on each hypervisor. This defaults to br-ex the
300 same as the control plane nodes, as we have a uniform configuration of
301 the openvswitch agent. Typically should not need to be changed.
303 HypervisorNeutronPublicInterface:
305 description: What interface to add to the HypervisorNeutronPhysicalBridge.
309 default: libvirt.LibvirtDriver
310 NovaComputeExtraConfig:
313 NovaCompute specific configuration to inject into the cluster. Same
314 structure as ExtraConfig.
316 NovaComputeLibvirtType:
319 NovaComputeLibvirtVifDriver:
321 description: Libvirt VIF driver configuration for the network
323 NovaComputeSchedulerHints:
325 description: Optional scheduler hints to pass to nova
327 NovaEnableRbdBackend:
329 description: Whether to enable or not the Rbd backend for Nova
333 default: overcloud-full
335 - custom_constraint: glance.image
338 description: Name of integration bridge used by Open vSwitch
340 NovaSecurityGroupAPI:
342 description: The full class name of the security API class
344 OvercloudComputeFlavor:
345 description: Use this flavor
349 - custom_constraint: nova.flavor
352 NeutronTenantNetwork: tenant
353 CeilometerApiNetwork: internal_api
354 AodhApiNetwork: internal_api
355 GnocchiApiNetwork: internal_api
356 MongoDbNetwork: internal_api
357 CinderApiNetwork: internal_api
358 CinderIscsiNetwork: storage
359 GlanceApiNetwork: storage
360 GlanceRegistryNetwork: internal_api
361 IronicApiNetwork: internal_api
362 KeystoneAdminApiNetwork: ctlplane # allows undercloud to config endpoints
363 KeystonePublicApiNetwork: internal_api
364 NeutronApiNetwork: internal_api
365 HeatApiNetwork: internal_api
366 NovaApiNetwork: internal_api
367 NovaMetadataNetwork: internal_api
368 NovaVncProxyNetwork: internal_api
369 SwiftMgmtNetwork: storage_mgmt
370 SwiftProxyNetwork: storage
371 SaharaApiNetwork: internal_api
372 HorizonNetwork: internal_api
373 MemcachedNetwork: internal_api
374 RabbitMqNetwork: internal_api
375 RedisNetwork: internal_api
376 MysqlNetwork: internal_api
377 CephClusterNetwork: storage_mgmt
378 CephPublicNetwork: storage
379 ControllerHostnameResolveNetwork: internal_api
380 ComputeHostnameResolveNetwork: internal_api
381 BlockStorageHostnameResolveNetwork: internal_api
382 ObjectStorageHostnameResolveNetwork: internal_api
383 CephStorageHostnameResolveNetwork: storage
384 description: Mapping of service_name -> network name. Typically set
385 via parameter_defaults in the resource registry.
390 - OS::TripleO::Services::CephMon
391 - OS::TripleO::Services::CephExternal
392 - OS::TripleO::Services::CinderApi
393 - OS::TripleO::Services::CinderScheduler
394 - OS::TripleO::Services::CinderVolume
395 - OS::TripleO::Services::Kernel
396 - OS::TripleO::Services::Keystone
397 - OS::TripleO::Services::GlanceApi
398 - OS::TripleO::Services::GlanceRegistry
399 - OS::TripleO::Services::HeatApi
400 - OS::TripleO::Services::HeatApiCfn
401 - OS::TripleO::Services::HeatApiCloudwatch
402 - OS::TripleO::Services::HeatEngine
403 - OS::TripleO::Services::NeutronDhcpAgent
404 - OS::TripleO::Services::NeutronL3Agent
405 - OS::TripleO::Services::NeutronMetadataAgent
406 - OS::TripleO::Services::NeutronServer
407 - OS::TripleO::Services::NeutronCorePlugin
408 - OS::TripleO::Services::NeutronOvsAgent
409 - OS::TripleO::Services::RabbitMQ
410 - OS::TripleO::Services::HAproxy
411 - OS::TripleO::Services::Keepalived
412 - OS::TripleO::Services::Memcached
413 - OS::TripleO::Services::Redis
414 - OS::TripleO::Services::NovaConductor
415 - OS::TripleO::Services::MongoDb
416 - OS::TripleO::Services::NovaApi
417 - OS::TripleO::Services::NovaScheduler
418 - OS::TripleO::Services::NovaConsoleauth
419 - OS::TripleO::Services::NovaVncproxy
420 - OS::TripleO::Services::Ntp
421 - OS::TripleO::Services::SwiftProxy
422 - OS::TripleO::Services::SwiftStorage
423 - OS::TripleO::Services::Snmp
424 - OS::TripleO::Services::Timezone
425 - OS::TripleO::Services::CeilometerApi
426 - OS::TripleO::Services::CeilometerCollector
427 - OS::TripleO::Services::CeilometerExpirer
428 - OS::TripleO::Services::CeilometerAgentCentral
429 - OS::TripleO::Services::CeilometerAgentNotification
430 - OS::TripleO::Services::Horizon
432 description: A list of service resources (configured in the Heat
433 resource_registry) which represent nested stacks
434 for each service that should get installed on the Controllers.
435 type: comma_delimited_list
439 - OS::TripleO::Services::CephClient
440 - OS::TripleO::Services::CephExternal
441 - OS::TripleO::Services::Timezone
442 - OS::TripleO::Services::Ntp
443 - OS::TripleO::Services::Snmp
444 - OS::TripleO::Services::NovaCompute
445 - OS::TripleO::Services::NovaLibvirt
446 - OS::TripleO::Services::Kernel
447 - OS::TripleO::Services::ComputeNeutronCorePlugin
448 - OS::TripleO::Services::ComputeNeutronOvsAgent
449 description: A list of service resources (configured in the Heat
450 resource_registry) which represent nested stacks
451 for each service that should get installed on the Compute Nodes.
452 type: comma_delimited_list
454 # Block storage specific parameters
459 default: overcloud-full
461 OvercloudBlockStorageFlavor:
462 description: Flavor for block storage nodes to request when deploying.
466 - custom_constraint: nova.flavor
467 BlockStorageExtraConfig:
470 BlockStorage specific configuration to inject into the cluster. Same
471 structure as ExtraConfig.
473 BlockStorageSchedulerHints:
475 description: Optional scheduler hints to pass to nova
477 BlockStorageServices:
479 - OS::TripleO::Services::CinderVolume
480 - OS::TripleO::Services::Kernel
481 - OS::TripleO::Services::Ntp
482 - OS::TripleO::Services::Timezone
483 - OS::TripleO::Services::Snmp
484 description: A list of service resources (configured in the Heat
485 resource_registry) which represent nested stacks
486 for each service that should get installed on the BlockStorage nodes.
487 type: comma_delimited_list
489 # Object storage specific parameters
493 OvercloudSwiftStorageFlavor:
494 description: Flavor for Swift storage nodes to request when deploying.
498 - custom_constraint: nova.flavor
500 default: overcloud-full
502 ObjectStorageExtraConfig:
505 ObjectStorage specific configuration to inject into the cluster. Same
506 structure as ExtraConfig.
508 ObjectStorageSchedulerHints:
510 description: Optional scheduler hints to pass to nova
512 ObjectStorageServices:
514 - OS::TripleO::Services::Kernel
515 - OS::TripleO::Services::Ntp
516 - OS::TripleO::Services::SwiftStorage
517 - OS::TripleO::Services::Snmp
518 - OS::TripleO::Services::Timezone
519 description: A list of service resources (configured in the Heat
520 resource_registry) which represent nested stacks
521 for each service that should get installed on the ObjectStorage nodes.
522 Note this role currently only supports steps 2, 3 and 4 configuration.
523 type: comma_delimited_list
526 # Ceph storage specific parameters
531 default: overcloud-full
533 OvercloudCephStorageFlavor:
535 description: Flavor for Ceph storage nodes to request when deploying.
538 - custom_constraint: nova.flavor
539 CephStorageExtraConfig:
542 CephStorage specific configuration to inject into the cluster. Same
543 structure as ExtraConfig.
545 CephStorageSchedulerHints:
547 description: Optional scheduler hints to pass to nova
551 - OS::TripleO::Services::CephOSD
552 - OS::TripleO::Services::Kernel
553 - OS::TripleO::Services::Ntp
554 - OS::TripleO::Services::Timezone
555 description: A list of service resources (configured in the Heat
556 resource_registry) which represent nested stacks
557 for each service that should get installed on the CephStorage nodes.
558 type: comma_delimited_list
560 # Hostname format for each role
561 # Note %index% is translated into the index of the node, e.g 0/1/2 etc
562 # and %stackname% is replaced with OS::stack_name in the template below.
563 # If you want to use the heat generated names, pass '' (empty string).
564 ControllerHostnameFormat:
566 description: Format for Controller node hostnames
567 default: '%stackname%-controller-%index%'
568 ComputeHostnameFormat:
570 description: Format for Compute node hostnames
571 default: '%stackname%-novacompute-%index%'
572 BlockStorageHostnameFormat:
574 description: Format for BlockStorage node hostnames
575 default: '%stackname%-blockstorage-%index%'
576 ObjectStorageHostnameFormat:
578 description: Format for SwiftStorage node hostnames
579 default: '%stackname%-objectstorage-%index%'
580 CephStorageHostnameFormat:
582 description: Format for CephStorage node hostnames
583 default: '%stackname%-cephstorage-%index%'
585 # Identifiers to trigger tasks on nodes
590 Setting to a previously unused value during stack-update will trigger
591 package update on all nodes
596 Setting this to a unique value will re-run any deployment tasks which
597 perform configuration on a Heat stack-update.
599 # If you want to remove a specific node from a resource group, you can pass
600 # the node name or id as a <Group>RemovalPolicies parameter, for example:
601 # ComputeRemovalPolicies: [{'resource_list': ['0']}]
602 ControllerRemovalPolicies:
606 List of resources to be removed from ControllerResourceGroup when
607 doing an update which requires removal of specific resources.
608 ComputeRemovalPolicies:
612 List of resources to be removed from ComputeResourceGroup when
613 doing an update which requires removal of specific resources.
614 BlockStorageRemovalPolicies:
618 List of resources to be removed from BlockStorageResourceGroup when
619 doing an update which requires removal of specific resources.
620 ObjectStorageRemovalPolicies:
624 List of resources to be removed from ObjectStorageResourceGroup when
625 doing an update which requires removal of specific resources.
626 CephStorageRemovalPolicies:
630 List of resources to be removed from CephStorageResourceGroup when
631 doing an update which requires removal of specific resources.
635 description: Do not use deprecated params, they will be removed.
637 - controllerExtraConfig
642 HeatAuthEncryptionKey:
643 type: OS::Heat::RandomString
646 type: OS::Heat::RandomString
651 type: OS::Heat::RandomString
656 type: OS::TripleO::EndpointMap
658 CloudName: {get_param: CloudName}
659 CeilometerApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
660 AodhApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
661 CinderApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
662 GlanceApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
663 GlanceRegistryVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
664 GnocchiApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
665 HeatApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
666 IronicApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
667 KeystoneAdminApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
668 KeystonePublicApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
669 MysqlVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
670 MysqlNoBracketsVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
671 NeutronApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
672 NovaApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
673 SaharaApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
674 SwiftProxyVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
675 PublicVirtualIP: {get_attr: [VipMap, net_ip_uri_map, external]}
677 ControllerServiceChain:
678 type: OS::TripleO::Services
680 Services: {get_param: ControllerServices}
681 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
684 type: OS::Heat::ResourceGroup
687 count: {get_param: ControllerCount}
688 removal_policies: {get_param: ControllerRemovalPolicies}
690 type: OS::TripleO::Controller
692 AdminPassword: {get_param: AdminPassword}
693 AodhPassword: {get_param: AodhPassword}
694 CloudDomain: {get_param: CloudDomain}
695 ControlVirtualInterface: {get_param: ControlVirtualInterface}
696 controllerExtraConfig: {get_param: controllerExtraConfig}
697 CorosyncIPv6: {get_param: CorosyncIPv6}
698 Debug: {get_param: Debug}
699 EnableFencing: {get_param: EnableFencing}
700 ManageFirewall: {get_param: ManageFirewall}
701 PurgeFirewallRules: {get_param: PurgeFirewallRules}
702 EnableGalera: {get_param: EnableGalera}
703 ExtraConfig: {get_param: ExtraConfig}
704 FencingConfig: {get_param: FencingConfig}
705 Flavor: {get_param: OvercloudControlFlavor}
706 GnocchiPassword: {get_param: GnocchiPassword}
707 GnocchiBackend: {get_param: GnocchiBackend}
708 GnocchiIndexerBackend: {get_param: GnocchiIndexerBackend}
709 HAProxySyslogAddress: {get_param: HAProxySyslogAddress}
710 HeatAuthEncryptionKey: {get_resource: HeatAuthEncryptionKey}
711 HorizonSecret: {get_resource: HorizonSecret}
712 Image: {get_param: controllerImage}
713 ImageUpdatePolicy: {get_param: ImageUpdatePolicy}
714 InstanceNameTemplate: {get_param: InstanceNameTemplate}
715 KeyName: {get_param: KeyName}
716 MemcachedIPv6: {get_param: MemcachedIPv6}
717 MysqlClusterUniquePart: {get_attr: [MysqlClusterUniquePart, value]}
718 MysqlInnodbBufferPoolSize: {get_param: MysqlInnodbBufferPoolSize}
719 MysqlMaxConnections: {get_param: MysqlMaxConnections}
720 MysqlRootPassword: {get_attr: [MysqlRootPassword, value]}
721 NeutronPublicInterface: {get_param: NeutronPublicInterface}
722 NeutronPassword: {get_param: NeutronPassword}
723 NovaIPv6: {get_param: NovaIPv6}
724 NovaPassword: {get_param: NovaPassword}
725 PcsdPassword: {get_resource: PcsdPassword}
726 PublicVirtualInterface: {get_param: PublicVirtualInterface}
727 RabbitPassword: {get_param: RabbitPassword}
728 RabbitUserName: {get_param: RabbitUserName}
729 RabbitCookie: {get_attr: [RabbitCookie, value]}
730 RabbitClientUseSSL: {get_param: RabbitClientUseSSL}
731 RabbitClientPort: {get_param: RabbitClientPort}
732 RedisPassword: {get_param: RedisPassword}
733 RedisVirtualIP: {get_attr: [RedisVirtualIP, ip_address]}
734 RedisVirtualIPUri: {get_attr: [RedisVirtualIP, ip_address_uri]}
735 SwiftHashSuffix: {get_param: SwiftHashSuffix}
736 SwiftMinPartHours: {get_param: SwiftMinPartHours}
737 SwiftPartPower: {get_param: SwiftPartPower}
738 SwiftReplicas: { get_param: SwiftReplicas}
739 ServiceNetMap: {get_param: ServiceNetMap}
740 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
741 MysqlVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
742 UpdateIdentifier: {get_param: UpdateIdentifier}
745 template: {get_param: ControllerHostnameFormat}
747 '%stackname%': {get_param: 'OS::stack_name'}
749 ServerMetadata: {get_param: ServerMetadata}
750 SchedulerHints: {get_param: ControllerSchedulerHints}
751 ServiceConfigSettings: {get_attr: [ControllerServiceChain, role_data, config_settings]}
755 type: OS::TripleO::Services
757 Services: {get_param: ComputeServices}
758 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
761 type: OS::Heat::ResourceGroup
764 count: {get_param: ComputeCount}
765 removal_policies: {get_param: ComputeRemovalPolicies}
767 type: OS::TripleO::Compute
769 AdminPassword: {get_param: AdminPassword}
770 CeilometerComputeAgent: {get_param: CeilometerComputeAgent}
771 CinderEnableNfsBackend: {get_param: CinderEnableNfsBackend}
772 CinderEnableRbdBackend: {get_param: CinderEnableRbdBackend}
773 Debug: {get_param: Debug}
774 ExtraConfig: {get_param: ExtraConfig}
775 Flavor: {get_param: OvercloudComputeFlavor}
776 GlanceHost: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
777 Image: {get_param: NovaImage}
778 ImageUpdatePolicy: {get_param: ImageUpdatePolicy}
779 KeyName: {get_param: KeyName}
780 KeystoneAdminApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
781 KeystonePublicApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
782 NeutronPassword: {get_param: NeutronPassword}
783 NeutronPhysicalBridge: {get_param: HypervisorNeutronPhysicalBridge}
784 NeutronPublicInterface: {get_param: HypervisorNeutronPublicInterface}
785 # L3 HA and Failover is not relevant for Computes, should be removed
786 NovaApiHost: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
787 NovaComputeDriver: {get_param: NovaComputeDriver}
788 NovaComputeExtraConfig: {get_param: NovaComputeExtraConfig}
789 NovaComputeLibvirtType: {get_param: NovaComputeLibvirtType}
790 NovaComputeLibvirtVifDriver: {get_param: NovaComputeLibvirtVifDriver}
791 NovaEnableRbdBackend: {get_param: NovaEnableRbdBackend}
792 NovaIPv6: {get_param: NovaIPv6}
793 NovaPublicIP: {get_attr: [VipMap, net_ip_map, external]}
794 NovaPassword: {get_param: NovaPassword}
795 NovaOVSBridge: {get_param: NovaOVSBridge}
796 NovaSecurityGroupAPI: {get_param: NovaSecurityGroupAPI}
797 RabbitHost: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]}
798 RabbitPassword: {get_param: RabbitPassword}
799 RabbitUserName: {get_param: RabbitUserName}
800 RabbitClientUseSSL: {get_param: RabbitClientUseSSL}
801 RabbitClientPort: {get_param: RabbitClientPort}
802 ServiceNetMap: {get_param: ServiceNetMap}
803 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
804 UpdateIdentifier: {get_param: UpdateIdentifier}
807 template: {get_param: ComputeHostnameFormat}
809 '%stackname%': {get_param: 'OS::stack_name'}
810 CloudDomain: {get_param: CloudDomain}
811 ServerMetadata: {get_param: ServerMetadata}
812 SchedulerHints: {get_param: NovaComputeSchedulerHints}
814 ServiceConfigSettings: {get_attr: [ComputeServiceChain, role_data, config_settings]}
816 BlockStorageServiceChain:
817 type: OS::TripleO::Services
819 Services: {get_param: BlockStorageServices}
820 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
823 type: OS::Heat::ResourceGroup
826 count: {get_param: BlockStorageCount}
827 removal_policies: {get_param: BlockStorageRemovalPolicies}
829 type: OS::TripleO::BlockStorage
831 Image: {get_param: BlockStorageImage}
832 KeyName: {get_param: KeyName}
833 Flavor: {get_param: OvercloudBlockStorageFlavor}
834 UpdateIdentifier: {get_param: UpdateIdentifier}
837 template: {get_param: BlockStorageHostnameFormat}
839 '%stackname%': {get_param: 'OS::stack_name'}
840 ServiceNetMap: {get_param: ServiceNetMap}
841 ExtraConfig: {get_param: ExtraConfig}
842 BlockStorageExtraConfig: {get_param: BlockStorageExtraConfig}
843 CloudDomain: {get_param: CloudDomain}
844 ServerMetadata: {get_param: ServerMetadata}
845 SchedulerHints: {get_param: BlockStorageSchedulerHints}
847 ServiceConfigSettings: {get_attr: [BlockStorageServiceChain, role_data, config_settings]}
849 ObjectStorageServiceChain:
850 type: OS::TripleO::Services
852 Services: {get_param: ObjectStorageServices}
853 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
856 type: OS::Heat::ResourceGroup
859 count: {get_param: ObjectStorageCount}
860 removal_policies: {get_param: ObjectStorageRemovalPolicies}
862 type: OS::TripleO::ObjectStorage
864 KeyName: {get_param: KeyName}
865 Flavor: {get_param: OvercloudSwiftStorageFlavor}
866 HashSuffix: {get_param: SwiftHashSuffix}
867 MinPartHours: {get_param: SwiftMinPartHours}
868 PartPower: {get_param: SwiftPartPower}
869 Image: {get_param: SwiftStorageImage}
870 Replicas: { get_param: SwiftReplicas}
871 UpdateIdentifier: {get_param: UpdateIdentifier}
872 ServiceNetMap: {get_param: ServiceNetMap}
875 template: {get_param: ObjectStorageHostnameFormat}
877 '%stackname%': {get_param: 'OS::stack_name'}
878 ExtraConfig: {get_param: ExtraConfig}
879 ObjectStorageExtraConfig: {get_param: ObjectStorageExtraConfig}
880 CloudDomain: {get_param: CloudDomain}
881 ServerMetadata: {get_param: ServerMetadata}
882 SchedulerHints: {get_param: ObjectStorageSchedulerHints}
884 ServiceConfigSettings: {get_attr: [ObjectStorageServiceChain, role_data, config_settings]}
886 CephStorageServiceChain:
887 type: OS::TripleO::Services
889 Services: {get_param: CephStorageServices}
890 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
893 type: OS::Heat::ResourceGroup
896 count: {get_param: CephStorageCount}
897 removal_policies: {get_param: CephStorageRemovalPolicies}
899 type: OS::TripleO::CephStorage
901 Image: {get_param: CephStorageImage}
902 KeyName: {get_param: KeyName}
903 Flavor: {get_param: OvercloudCephStorageFlavor}
904 ServiceNetMap: {get_param: ServiceNetMap}
905 UpdateIdentifier: {get_param: UpdateIdentifier}
908 template: {get_param: CephStorageHostnameFormat}
910 '%stackname%': {get_param: 'OS::stack_name'}
911 ExtraConfig: {get_param: ExtraConfig}
912 CephStorageExtraConfig: {get_param: CephStorageExtraConfig}
913 CloudDomain: {get_param: CloudDomain}
914 ServerMetadata: {get_param: ServerMetadata}
915 SchedulerHints: {get_param: CephStorageSchedulerHints}
917 ServiceConfigSettings: {get_attr: [CephStorageServiceChain, role_data, config_settings]}
920 type: OS::TripleO::Network::Ports::NetIpListMap
922 ControlPlaneIpList: {get_attr: [Controller, ip_address]}
923 ExternalIpList: {get_attr: [Controller, external_ip_address]}
924 InternalApiIpList: {get_attr: [Controller, internal_api_ip_address]}
925 StorageIpList: {get_attr: [Controller, storage_ip_address]}
926 StorageMgmtIpList: {get_attr: [Controller, storage_mgmt_ip_address]}
927 TenantIpList: {get_attr: [Controller, tenant_ip_address]}
928 ManagementIpList: {get_attr: [Controller, management_ip_address]}
931 type: OS::TripleO::AllNodes::SoftwareConfig
933 compute_hosts: {get_attr: [Compute, hosts_entry]}
934 controller_hosts: {get_attr: [Controller, hosts_entry]}
935 controller_ips: {get_attr: [Controller, ip_address]}
936 block_storage_hosts: {get_attr: [BlockStorage, hosts_entry]}
937 object_storage_hosts: {get_attr: [ObjectStorage, hosts_entry]}
938 ceph_storage_hosts: {get_attr: [CephStorage, hosts_entry]}
939 controller_names: {get_attr: [Controller, hostname]}
940 rabbit_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]}
941 mongo_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, MongoDbNetwork]}]}
942 redis_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, RedisNetwork]}]}
943 memcache_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, MemcachedNetwork]}]}
944 mysql_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
945 horizon_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, HorizonNetwork]}]}
946 heat_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
947 swift_proxy_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
948 ceilometer_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
949 aodh_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
950 gnocchi_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
951 nova_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
952 nova_metadata_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, NovaMetadataNetwork]}]}
953 glance_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
954 glance_registry_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
955 cinder_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
956 neutron_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
957 keystone_public_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
958 keystone_admin_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
959 sahara_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
960 ironic_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
961 ceph_mon_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, CephPublicNetwork]}]}
962 ceph_mon_node_names: {get_attr: [Controller, hostname]}
963 DeployIdentifier: {get_param: DeployIdentifier}
964 UpdateIdentifier: {get_param: UpdateIdentifier}
967 type: OS::Heat::RandomString
971 MysqlClusterUniquePart:
972 type: OS::Heat::RandomString
977 type: OS::Heat::RandomString
980 salt: {get_param: RabbitCookieSalt}
982 # creates the network architecture
984 type: OS::TripleO::Network
987 type: OS::Neutron::Port
990 name: control_virtual_ip
991 network: {get_param: NeutronControlPlaneID}
992 fixed_ips: {get_param: ControlFixedIPs}
993 replacement_policy: AUTO
997 type: OS::TripleO::Network::Ports::RedisVipPort
999 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
1000 ControlPlaneNetwork: {get_param: NeutronControlPlaneID}
1001 PortName: redis_virtual_ip
1002 NetworkName: {get_param: [ServiceNetMap, RedisNetwork]}
1005 # The public VIP is on the External net, falls back to ctlplane
1007 depends_on: Networks
1008 type: OS::TripleO::Network::Ports::ExternalVipPort
1010 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
1011 ControlPlaneNetwork: {get_param: NeutronControlPlaneID}
1012 PortName: public_virtual_ip
1013 FixedIPs: {get_param: PublicVirtualFixedIPs}
1015 InternalApiVirtualIP:
1016 depends_on: Networks
1017 type: OS::TripleO::Network::Ports::InternalApiVipPort
1019 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
1020 PortName: internal_api_virtual_ip
1021 FixedIPs: {get_param: InternalApiVirtualFixedIPs}
1024 depends_on: Networks
1025 type: OS::TripleO::Network::Ports::StorageVipPort
1027 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
1028 PortName: storage_virtual_ip
1029 FixedIPs: {get_param: StorageVirtualFixedIPs}
1031 StorageMgmtVirtualIP:
1032 depends_on: Networks
1033 type: OS::TripleO::Network::Ports::StorageMgmtVipPort
1035 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
1036 PortName: storage_management_virtual_ip
1037 FixedIPs: {get_param: StorageMgmtVirtualFixedIPs}
1040 type: OS::TripleO::Network::Ports::NetVipMap
1042 ControlPlaneIp: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
1043 ExternalIp: {get_attr: [PublicVirtualIP, ip_address]}
1044 ExternalIpUri: {get_attr: [PublicVirtualIP, ip_address_uri]}
1045 InternalApiIp: {get_attr: [InternalApiVirtualIP, ip_address]}
1046 InternalApiIpUri: {get_attr: [InternalApiVirtualIP, ip_address_uri]}
1047 StorageIp: {get_attr: [StorageVirtualIP, ip_address]}
1048 StorageIpUri: {get_attr: [StorageVirtualIP, ip_address_uri]}
1049 StorageMgmtIp: {get_attr: [StorageMgmtVirtualIP, ip_address]}
1050 StorageMgmtIpUri: {get_attr: [StorageMgmtVirtualIP, ip_address_uri]}
1051 # No tenant or management VIP required
1054 type: OS::TripleO::VipConfig
1057 type: OS::Heat::StructuredDeployments
1060 config: {get_resource: VipConfig}
1061 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1063 # service VIP mappings
1064 keystone_admin_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
1065 keystone_public_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
1066 neutron_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
1067 cinder_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
1068 glance_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
1069 glance_registry_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
1070 swift_proxy_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
1071 nova_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
1072 nova_metadata_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaMetadataNetwork]}]}
1073 ceilometer_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
1074 aodh_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
1075 gnocchi_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
1076 heat_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
1077 horizon_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HorizonNetwork]}]}
1078 redis_vip: {get_attr: [RedisVirtualIP, ip_address]}
1079 mysql_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
1080 rabbit_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]}
1081 # direct configuration of Virtual IPs for each network
1082 control_virtual_ip: {get_attr: [VipMap, net_ip_map, ctlplane]}
1083 public_virtual_ip: {get_attr: [VipMap, net_ip_map, external]}
1084 internal_api_virtual_ip: {get_attr: [VipMap, net_ip_map, internal_api]}
1085 sahara_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
1086 ironic_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
1087 storage_virtual_ip: {get_attr: [VipMap, net_ip_map, storage]}
1088 storage_mgmt_virtual_ip: {get_attr: [VipMap, net_ip_map, storage_mgmt]}
1090 ControllerBootstrapNodeConfig:
1091 type: OS::TripleO::BootstrapNode::SoftwareConfig
1093 bootstrap_nodeid: {get_attr: [Controller, resource.0.hostname]}
1094 bootstrap_nodeid_ip: {get_attr: [Controller, resource.0.ip_address]}
1096 ControllerBootstrapNodeDeployment:
1097 type: OS::Heat::StructuredDeployments
1099 name: ControllerBootstrapNodeDeployment
1100 config: {get_attr: [ControllerBootstrapNodeConfig, config_id]}
1101 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1103 ControllerSwiftDeployment:
1104 type: OS::Heat::StructuredDeployments
1106 name: ControllerSwiftDeployment
1107 config: {get_attr: [SwiftDevicesAndProxyConfig, config_id]}
1108 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1110 ObjectStorageSwiftDeployment:
1111 type: OS::Heat::StructuredDeployments
1113 name: ObjectStorageSwiftDeployment
1114 config: {get_attr: [SwiftDevicesAndProxyConfig, config_id]}
1115 servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1117 SwiftDevicesAndProxyConfig:
1118 type: OS::TripleO::SwiftDevicesAndProxy::SoftwareConfig
1120 controller_swift_devices: {get_attr: [Controller, swift_device]}
1121 object_store_swift_devices: {get_attr: [ObjectStorage, swift_device]}
1122 controller_swift_proxy_memcaches: {get_attr: [Controller, swift_proxy_memcache]}
1124 ComputeCephDeployment:
1125 type: OS::Heat::StructuredDeployments
1127 name: ComputeCephDeployment
1128 config: {get_attr: [CephClusterConfig, config_id]}
1129 servers: {get_attr: [Compute, attributes, nova_server_resource]}
1131 ControllerCephDeployment:
1132 type: OS::Heat::StructuredDeployments
1134 name: ControllerCephDeployment
1135 config: {get_attr: [CephClusterConfig, config_id]}
1136 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1138 CephStorageCephDeployment:
1139 type: OS::Heat::StructuredDeployments
1141 name: CephStorageCephDeployment
1142 config: {get_attr: [CephClusterConfig, config_id]}
1143 servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1146 type: OS::TripleO::CephClusterConfig::SoftwareConfig
1148 ControllerAllNodesDeployment:
1149 type: OS::Heat::StructuredDeployments
1151 name: ControllerAllNodesDeployment
1152 config: {get_attr: [allNodesConfig, config_id]}
1153 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1155 ComputeAllNodesDeployment:
1156 type: OS::Heat::StructuredDeployments
1158 name: ComputeAllNodesDeployment
1159 config: {get_attr: [allNodesConfig, config_id]}
1160 servers: {get_attr: [Compute, attributes, nova_server_resource]}
1162 BlockStorageAllNodesDeployment:
1163 type: OS::Heat::StructuredDeployments
1165 name: BlockStorageAllNodesDeployment
1166 config: {get_attr: [allNodesConfig, config_id]}
1167 servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
1169 ObjectStorageAllNodesDeployment:
1170 type: OS::Heat::StructuredDeployments
1172 name: ObjectStorageAllNodesDeployment
1173 config: {get_attr: [allNodesConfig, config_id]}
1174 servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1176 CephStorageAllNodesDeployment:
1177 type: OS::Heat::StructuredDeployments
1179 name: CephStorageAllNodesDeployment
1180 config: {get_attr: [allNodesConfig, config_id]}
1181 servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1183 # All Nodes Validations
1184 AllNodesValidationConfig:
1185 type: OS::TripleO::AllNodes::Validation
1190 - - {get_attr: [Controller, resource.0.external_ip_address]}
1191 - {get_attr: [Controller, resource.0.internal_api_ip_address]}
1192 - {get_attr: [Controller, resource.0.storage_ip_address]}
1193 - {get_attr: [Controller, resource.0.storage_mgmt_ip_address]}
1194 - {get_attr: [Controller, resource.0.tenant_ip_address]}
1196 ControllerAllNodesValidationDeployment:
1197 type: OS::Heat::StructuredDeployments
1198 depends_on: ControllerAllNodesDeployment
1200 name: ControllerAllNodesValidationDeployment
1201 config: {get_resource: AllNodesValidationConfig}
1202 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1204 ComputeAllNodesValidationDeployment:
1205 type: OS::Heat::StructuredDeployments
1206 depends_on: ComputeAllNodesDeployment
1208 name: ComputeAllNodesValidationDeployment
1209 config: {get_resource: AllNodesValidationConfig}
1210 servers: {get_attr: [Compute, attributes, nova_server_resource]}
1212 BlockStorageAllNodesValidationDeployment:
1213 type: OS::Heat::StructuredDeployments
1214 depends_on: BlockStorageAllNodesDeployment
1216 name: BlockStorageAllNodesValidationDeployment
1217 config: {get_resource: AllNodesValidationConfig}
1218 servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
1220 ObjectStorageAllNodesValidationDeployment:
1221 type: OS::Heat::StructuredDeployments
1222 depends_on: ObjectStorageAllNodesDeployment
1224 name: ObjectStorageAllNodesValidationDeployment
1225 config: {get_resource: AllNodesValidationConfig}
1226 servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1228 CephStorageAllNodesValidationDeployment:
1229 type: OS::Heat::StructuredDeployments
1230 depends_on: CephStorageAllNodesDeployment
1232 name: CephStorageAllNodesValidationDeployment
1233 config: {get_resource: AllNodesValidationConfig}
1234 servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1237 type: OS::TripleO::Tasks::UpdateWorkflow
1239 controller_servers: {get_attr: [Controller, attributes, nova_server_resource]}
1240 compute_servers: {get_attr: [Compute, attributes, nova_server_resource]}
1241 blockstorage_servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
1242 objectstorage_servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1243 cephstorage_servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1245 deploy_identifier: {get_param: DeployIdentifier}
1246 update_identifier: {get_param: UpdateIdentifier}
1248 # Optional ExtraConfig for all nodes - all roles are passed in here, but
1249 # the nested template may configure each role differently (or not at all)
1250 AllNodesExtraConfig:
1251 type: OS::TripleO::AllNodesExtraConfig
1254 - ComputeAllNodesValidationDeployment
1255 - BlockStorageAllNodesValidationDeployment
1256 - ObjectStorageAllNodesValidationDeployment
1257 - CephStorageAllNodesValidationDeployment
1258 - ControllerAllNodesValidationDeployment
1260 controller_servers: {get_attr: [Controller, attributes, nova_server_resource]}
1261 compute_servers: {get_attr: [Compute, attributes, nova_server_resource]}
1262 blockstorage_servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
1263 objectstorage_servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1264 cephstorage_servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1266 # Nested stack deployment runs after all other controller deployments
1267 ControllerNodesPostDeployment:
1268 type: OS::TripleO::ControllerPostDeployment
1269 depends_on: [ControllerBootstrapNodeDeployment, ControllerAllNodesDeployment, ControllerSwiftDeployment, ControllerCephDeployment]
1271 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1272 RoleData: {get_attr: [ControllerServiceChain, role_data]}
1274 ComputeNodesPostDeployment:
1275 type: OS::TripleO::ComputePostDeployment
1276 depends_on: [ComputeAllNodesDeployment, ComputeCephDeployment]
1278 servers: {get_attr: [Compute, attributes, nova_server_resource]}
1279 RoleData: {get_attr: [ComputeServiceChain, role_data]}
1281 ObjectStorageNodesPostDeployment:
1282 type: OS::TripleO::ObjectStoragePostDeployment
1283 depends_on: [ObjectStorageSwiftDeployment, ObjectStorageAllNodesDeployment]
1285 servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1286 RoleData: {get_attr: [ObjectStorageServiceChain, role_data]}
1288 BlockStorageNodesPostDeployment:
1289 type: OS::TripleO::BlockStoragePostDeployment
1290 depends_on: [ControllerNodesPostDeployment, BlockStorageAllNodesDeployment]
1292 servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
1293 RoleData: {get_attr: [BlockStorageServiceChain, role_data]}
1295 CephStorageNodesPostDeployment:
1296 type: OS::TripleO::CephStoragePostDeployment
1297 depends_on: [ControllerNodesPostDeployment, CephStorageCephDeployment, CephStorageAllNodesDeployment]
1299 servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1300 RoleData: {get_attr: [CephStorageServiceChain, role_data]}
1304 description: URL for the Overcloud Keystone service
1305 value: {get_attr: [EndpointMap, endpoint_map, KeystonePublic, uri]}
1307 description: Keystone Admin VIP endpoint
1308 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
1310 description: Controller VIP for public API endpoints
1311 value: {get_attr: [VipMap, net_ip_map, external]}
1313 description: VIP for Aodh API internal endpoint
1314 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
1315 CeilometerInternalVip:
1316 description: VIP for Ceilometer API internal endpoint
1317 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
1319 description: VIP for Cinder API internal endpoint
1320 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
1322 description: VIP for Glance API internal endpoint
1323 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
1325 description: VIP for Gnocchi API internal endpoint
1326 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
1328 description: VIP for Heat API internal endpoint
1329 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
1331 description: VIP for Ironic API internal endpoint
1332 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
1333 KeystoneInternalVip:
1334 description: VIP for Keystone API internal endpoint
1335 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
1337 description: VIP for Neutron API internal endpoint
1338 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
1340 description: VIP for Nova API internal endpoint
1341 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
1343 description: VIP for Sahara API internal endpoint
1344 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
1346 description: VIP for Swift Proxy internal endpoint
1347 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
1350 Mapping of the resources with the needed info for their endpoints.
1351 This includes the protocol used, the IP, port and also a full
1352 representation of the URI.
1353 value: {get_attr: [EndpointMap, endpoint_map]}
1356 The content that should be appended to your /etc/hosts if you want to get
1357 hostname-based access to the deployed nodes (useful for testing without
1359 value: {get_attr: [allNodesConfig, hosts_entries]}