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
152 controllerExtraConfig:
155 Deprecated. Use ControllerExtraConfig via parameter_defaults instead.
159 default: overcloud-full
161 - custom_constraint: glance.image
162 OvercloudControlFlavor:
163 description: Flavor for control nodes to request when deploying.
167 - custom_constraint: nova.flavor
168 ControlVirtualInterface:
170 description: Interface where virtual ip will be assigned.
174 description: Whether to enable fencing in Pacemaker or not.
178 description: Whether to use Galera instead of regular MariaDB.
180 ControllerSchedulerHints:
182 description: Optional scheduler hints to pass to nova
187 Additional configuration to inject into the cluster. The format required
188 may be implementation specific, e.g puppet hieradata. Any role specific
189 ExtraConfig, e.g controllerExtraConfig takes precedence over ExtraConfig.
194 Pacemaker fencing configuration. The JSON should have
195 the following structure:
199 "agent": "AGENT_NAME",
200 "host_mac": "HOST_MAC_ADDRESS",
201 "params": {"PARAM_NAME": "PARAM_VALUE"}
209 "agent": "fence_xvm",
210 "host_mac": "52:54:00:aa:bb:cc",
212 "multicast_address": "225.0.0.12",
213 "port": "baremetal_0",
215 "manage_key_file": true,
216 "key_file": "/etc/fence_xvm.key",
217 "key_file_password": "abcdef"
225 InstanceNameTemplate:
226 default: 'instance-%08x'
227 description: Template string to be used to generate instance names
231 description: Whether to manage IPtables rules.
235 description: Whether IPtables rules should be purged before setting up the ones.
237 MysqlInnodbBufferPoolSize:
239 Specifies the size of the buffer pool in megabytes. Setting to
240 zero should be interpreted as "no value" and will defer to the
245 description: Configures MySQL max_connections config setting
248 PublicVirtualInterface:
251 Specifies the interface where the public-facing virtual ip will be assigned.
252 This should be int_public when a VLAN is being used.
255 description: A random string to be used as a salt when hashing to determine mappings in the ring.
259 # Compute-specific params
263 HypervisorNeutronPhysicalBridge:
266 An OVS bridge to create on each hypervisor. This defaults to br-ex the
267 same as the control plane nodes, as we have a uniform configuration of
268 the openvswitch agent. Typically should not need to be changed.
270 HypervisorNeutronPublicInterface:
272 description: What interface to add to the HypervisorNeutronPhysicalBridge.
276 default: libvirt.LibvirtDriver
277 NovaComputeExtraConfig:
280 NovaCompute specific configuration to inject into the cluster. Same
281 structure as ExtraConfig.
283 NovaComputeLibvirtType:
286 NovaComputeLibvirtVifDriver:
288 description: Libvirt VIF driver configuration for the network
290 NovaComputeSchedulerHints:
292 description: Optional scheduler hints to pass to nova
294 NovaEnableRbdBackend:
296 description: Whether to enable or not the Rbd backend for Nova
300 default: overcloud-full
302 - custom_constraint: glance.image
305 description: Name of integration bridge used by Open vSwitch
307 NovaSecurityGroupAPI:
309 description: The full class name of the security API class
311 OvercloudComputeFlavor:
312 description: Use this flavor
316 - custom_constraint: nova.flavor
319 NeutronTenantNetwork: tenant
320 CeilometerApiNetwork: internal_api
321 AodhApiNetwork: internal_api
322 GnocchiApiNetwork: internal_api
323 MongoDbNetwork: internal_api
324 CinderApiNetwork: internal_api
325 CinderIscsiNetwork: storage
326 GlanceApiNetwork: storage
327 GlanceRegistryNetwork: internal_api
328 IronicApiNetwork: internal_api
329 KeystoneAdminApiNetwork: ctlplane # allows undercloud to config endpoints
330 KeystonePublicApiNetwork: internal_api
331 NeutronApiNetwork: internal_api
332 HeatApiNetwork: internal_api
333 NovaApiNetwork: internal_api
334 NovaMetadataNetwork: internal_api
335 NovaVncProxyNetwork: internal_api
336 SwiftMgmtNetwork: storage_mgmt
337 SwiftProxyNetwork: storage
338 SaharaApiNetwork: internal_api
339 HorizonNetwork: internal_api
340 MemcachedNetwork: internal_api
341 RabbitMqNetwork: internal_api
342 RedisNetwork: internal_api
343 MysqlNetwork: internal_api
344 CephClusterNetwork: storage_mgmt
345 CephPublicNetwork: storage
346 ControllerHostnameResolveNetwork: internal_api
347 ComputeHostnameResolveNetwork: internal_api
348 BlockStorageHostnameResolveNetwork: internal_api
349 ObjectStorageHostnameResolveNetwork: internal_api
350 CephStorageHostnameResolveNetwork: storage
351 description: Mapping of service_name -> network name. Typically set
352 via parameter_defaults in the resource registry.
357 - OS::TripleO::Services::CephMon
358 - OS::TripleO::Services::CephExternal
359 - OS::TripleO::Services::CinderApi
360 - OS::TripleO::Services::CinderScheduler
361 - OS::TripleO::Services::CinderVolume
362 - OS::TripleO::Services::Core
363 - OS::TripleO::Services::Kernel
364 - OS::TripleO::Services::Keystone
365 - OS::TripleO::Services::GlanceApi
366 - OS::TripleO::Services::GlanceRegistry
367 - OS::TripleO::Services::HeatApi
368 - OS::TripleO::Services::HeatApiCfn
369 - OS::TripleO::Services::HeatApiCloudwatch
370 - OS::TripleO::Services::HeatEngine
371 - OS::TripleO::Services::MySQL
372 - OS::TripleO::Services::NeutronDhcpAgent
373 - OS::TripleO::Services::NeutronL3Agent
374 - OS::TripleO::Services::NeutronMetadataAgent
375 - OS::TripleO::Services::NeutronServer
376 - OS::TripleO::Services::NeutronCorePlugin
377 - OS::TripleO::Services::NeutronOvsAgent
378 - OS::TripleO::Services::RabbitMQ
379 - OS::TripleO::Services::HAproxy
380 - OS::TripleO::Services::Keepalived
381 - OS::TripleO::Services::Memcached
382 - OS::TripleO::Services::Pacemaker
383 - OS::TripleO::Services::Redis
384 - OS::TripleO::Services::NovaConductor
385 - OS::TripleO::Services::MongoDb
386 - OS::TripleO::Services::NovaApi
387 - OS::TripleO::Services::NovaScheduler
388 - OS::TripleO::Services::NovaConsoleauth
389 - OS::TripleO::Services::NovaVncproxy
390 - OS::TripleO::Services::Ntp
391 - OS::TripleO::Services::SwiftProxy
392 - OS::TripleO::Services::SwiftStorage
393 - OS::TripleO::Services::SwiftRingBuilder
394 - OS::TripleO::Services::Snmp
395 - OS::TripleO::Services::Timezone
396 - OS::TripleO::Services::CeilometerApi
397 - OS::TripleO::Services::CeilometerCollector
398 - OS::TripleO::Services::CeilometerExpirer
399 - OS::TripleO::Services::CeilometerAgentCentral
400 - OS::TripleO::Services::CeilometerAgentNotification
401 - OS::TripleO::Services::Horizon
402 - OS::TripleO::Services::GnocchiApi
403 - OS::TripleO::Services::GnocchiMetricd
404 - OS::TripleO::Services::GnocchiStatsd
406 description: A list of service resources (configured in the Heat
407 resource_registry) which represent nested stacks
408 for each service that should get installed on the Controllers.
409 type: comma_delimited_list
413 - OS::TripleO::Services::CephClient
414 - OS::TripleO::Services::CephExternal
415 - OS::TripleO::Services::Timezone
416 - OS::TripleO::Services::Ntp
417 - OS::TripleO::Services::Snmp
418 - OS::TripleO::Services::NovaCompute
419 - OS::TripleO::Services::NovaLibvirt
420 - OS::TripleO::Services::Kernel
421 - OS::TripleO::Services::ComputeNeutronCorePlugin
422 - OS::TripleO::Services::ComputeNeutronOvsAgent
423 - OS::TripleO::Services::ComputeCeilometerAgent
424 description: A list of service resources (configured in the Heat
425 resource_registry) which represent nested stacks
426 for each service that should get installed on the Compute Nodes.
427 type: comma_delimited_list
429 # Block storage specific parameters
434 default: overcloud-full
436 OvercloudBlockStorageFlavor:
437 description: Flavor for block storage nodes to request when deploying.
441 - custom_constraint: nova.flavor
442 BlockStorageExtraConfig:
445 BlockStorage specific configuration to inject into the cluster. Same
446 structure as ExtraConfig.
448 BlockStorageSchedulerHints:
450 description: Optional scheduler hints to pass to nova
452 BlockStorageServices:
454 - OS::TripleO::Services::CinderVolume
455 - OS::TripleO::Services::Kernel
456 - OS::TripleO::Services::Ntp
457 - OS::TripleO::Services::Timezone
458 - OS::TripleO::Services::Snmp
459 description: A list of service resources (configured in the Heat
460 resource_registry) which represent nested stacks
461 for each service that should get installed on the BlockStorage nodes.
462 type: comma_delimited_list
464 # Object storage specific parameters
468 OvercloudSwiftStorageFlavor:
469 description: Flavor for Swift storage nodes to request when deploying.
473 - custom_constraint: nova.flavor
475 default: overcloud-full
477 ObjectStorageExtraConfig:
480 ObjectStorage specific configuration to inject into the cluster. Same
481 structure as ExtraConfig.
483 ObjectStorageSchedulerHints:
485 description: Optional scheduler hints to pass to nova
487 ObjectStorageServices:
489 - OS::TripleO::Services::Kernel
490 - OS::TripleO::Services::Ntp
491 - OS::TripleO::Services::SwiftStorage
492 - OS::TripleO::Services::SwiftRingBuilder
493 - OS::TripleO::Services::Snmp
494 - OS::TripleO::Services::Timezone
495 description: A list of service resources (configured in the Heat
496 resource_registry) which represent nested stacks
497 for each service that should get installed on the ObjectStorage nodes.
498 Note this role currently only supports steps 2, 3 and 4 configuration.
499 type: comma_delimited_list
502 # Ceph storage specific parameters
507 default: overcloud-full
509 OvercloudCephStorageFlavor:
511 description: Flavor for Ceph storage nodes to request when deploying.
514 - custom_constraint: nova.flavor
515 CephStorageExtraConfig:
518 CephStorage specific configuration to inject into the cluster. Same
519 structure as ExtraConfig.
521 CephStorageSchedulerHints:
523 description: Optional scheduler hints to pass to nova
527 - OS::TripleO::Services::CephOSD
528 - OS::TripleO::Services::Kernel
529 - OS::TripleO::Services::Ntp
530 - OS::TripleO::Services::Timezone
531 description: A list of service resources (configured in the Heat
532 resource_registry) which represent nested stacks
533 for each service that should get installed on the CephStorage nodes.
534 type: comma_delimited_list
536 # Hostname format for each role
537 # Note %index% is translated into the index of the node, e.g 0/1/2 etc
538 # and %stackname% is replaced with OS::stack_name in the template below.
539 # If you want to use the heat generated names, pass '' (empty string).
540 ControllerHostnameFormat:
542 description: Format for Controller node hostnames
543 default: '%stackname%-controller-%index%'
544 ComputeHostnameFormat:
546 description: Format for Compute node hostnames
547 default: '%stackname%-novacompute-%index%'
548 BlockStorageHostnameFormat:
550 description: Format for BlockStorage node hostnames
551 default: '%stackname%-blockstorage-%index%'
552 ObjectStorageHostnameFormat:
554 description: Format for SwiftStorage node hostnames
555 default: '%stackname%-objectstorage-%index%'
556 CephStorageHostnameFormat:
558 description: Format for CephStorage node hostnames
559 default: '%stackname%-cephstorage-%index%'
561 # Identifiers to trigger tasks on nodes
566 Setting to a previously unused value during stack-update will trigger
567 package update on all nodes
572 Setting this to a unique value will re-run any deployment tasks which
573 perform configuration on a Heat stack-update.
575 # If you want to remove a specific node from a resource group, you can pass
576 # the node name or id as a <Group>RemovalPolicies parameter, for example:
577 # ComputeRemovalPolicies: [{'resource_list': ['0']}]
578 ControllerRemovalPolicies:
582 List of resources to be removed from ControllerResourceGroup when
583 doing an update which requires removal of specific resources.
584 ComputeRemovalPolicies:
588 List of resources to be removed from ComputeResourceGroup when
589 doing an update which requires removal of specific resources.
590 BlockStorageRemovalPolicies:
594 List of resources to be removed from BlockStorageResourceGroup when
595 doing an update which requires removal of specific resources.
596 ObjectStorageRemovalPolicies:
600 List of resources to be removed from ObjectStorageResourceGroup when
601 doing an update which requires removal of specific resources.
602 CephStorageRemovalPolicies:
606 List of resources to be removed from CephStorageResourceGroup when
607 doing an update which requires removal of specific resources.
611 description: Do not use deprecated params, they will be removed.
613 - controllerExtraConfig
618 HeatAuthEncryptionKey:
619 type: OS::Heat::RandomString
622 type: OS::Heat::RandomString
627 type: OS::Heat::RandomString
632 type: OS::TripleO::EndpointMap
634 CloudName: {get_param: CloudName}
635 CeilometerApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
636 AodhApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
637 CinderApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
638 GlanceApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
639 GlanceRegistryVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
640 GnocchiApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
641 HeatApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
642 IronicApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
643 KeystoneAdminApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
644 KeystonePublicApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
645 MysqlVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
646 MysqlNoBracketsVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
647 NeutronApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
648 NovaApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
649 SaharaApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
650 SwiftProxyVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
651 PublicVirtualIP: {get_attr: [VipMap, net_ip_uri_map, external]}
653 ControllerServiceChain:
654 type: OS::TripleO::Services
656 Services: {get_param: ControllerServices}
657 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
660 type: OS::Heat::ResourceGroup
663 count: {get_param: ControllerCount}
664 removal_policies: {get_param: ControllerRemovalPolicies}
666 type: OS::TripleO::Controller
668 AdminPassword: {get_param: AdminPassword}
669 AodhPassword: {get_param: AodhPassword}
670 CloudDomain: {get_param: CloudDomain}
671 ControlVirtualInterface: {get_param: ControlVirtualInterface}
672 controllerExtraConfig: {get_param: controllerExtraConfig}
673 CorosyncIPv6: {get_param: CorosyncIPv6}
674 Debug: {get_param: Debug}
675 EnableFencing: {get_param: EnableFencing}
676 ManageFirewall: {get_param: ManageFirewall}
677 PurgeFirewallRules: {get_param: PurgeFirewallRules}
678 EnableGalera: {get_param: EnableGalera}
679 ExtraConfig: {get_param: ExtraConfig}
680 FencingConfig: {get_param: FencingConfig}
681 Flavor: {get_param: OvercloudControlFlavor}
682 HAProxySyslogAddress: {get_param: HAProxySyslogAddress}
683 HeatAuthEncryptionKey: {get_resource: HeatAuthEncryptionKey}
684 HorizonSecret: {get_resource: HorizonSecret}
685 Image: {get_param: controllerImage}
686 ImageUpdatePolicy: {get_param: ImageUpdatePolicy}
687 InstanceNameTemplate: {get_param: InstanceNameTemplate}
688 KeyName: {get_param: KeyName}
689 MemcachedIPv6: {get_param: MemcachedIPv6}
690 MysqlClusterUniquePart: {get_attr: [MysqlClusterUniquePart, value]}
691 MysqlInnodbBufferPoolSize: {get_param: MysqlInnodbBufferPoolSize}
692 MysqlMaxConnections: {get_param: MysqlMaxConnections}
693 MysqlRootPassword: {get_attr: [MysqlRootPassword, value]}
694 NeutronPublicInterface: {get_param: NeutronPublicInterface}
695 NeutronPassword: {get_param: NeutronPassword}
696 NovaIPv6: {get_param: NovaIPv6}
697 NovaPassword: {get_param: NovaPassword}
698 PcsdPassword: {get_resource: PcsdPassword}
699 PublicVirtualInterface: {get_param: PublicVirtualInterface}
700 RabbitPassword: {get_param: RabbitPassword}
701 RabbitUserName: {get_param: RabbitUserName}
702 RabbitCookie: {get_attr: [RabbitCookie, value]}
703 RabbitClientUseSSL: {get_param: RabbitClientUseSSL}
704 RabbitClientPort: {get_param: RabbitClientPort}
705 RedisPassword: {get_param: RedisPassword}
706 RedisVirtualIP: {get_attr: [RedisVirtualIP, ip_address]}
707 RedisVirtualIPUri: {get_attr: [RedisVirtualIP, ip_address_uri]}
708 SwiftHashSuffix: {get_param: SwiftHashSuffix}
709 ServiceNetMap: {get_param: ServiceNetMap}
710 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
711 MysqlVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
712 UpdateIdentifier: {get_param: UpdateIdentifier}
715 template: {get_param: ControllerHostnameFormat}
717 '%stackname%': {get_param: 'OS::stack_name'}
719 ServerMetadata: {get_param: ServerMetadata}
720 SchedulerHints: {get_param: ControllerSchedulerHints}
721 ServiceConfigSettings: {get_attr: [ControllerServiceChain, role_data, config_settings]}
722 ServiceNames: {get_attr: [ControllerServiceChain, role_data, service_names]}
726 type: OS::TripleO::Services
728 Services: {get_param: ComputeServices}
729 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
732 type: OS::Heat::ResourceGroup
735 count: {get_param: ComputeCount}
736 removal_policies: {get_param: ComputeRemovalPolicies}
738 type: OS::TripleO::Compute
740 AdminPassword: {get_param: AdminPassword}
741 CinderEnableNfsBackend: {get_param: CinderEnableNfsBackend}
742 CinderEnableRbdBackend: {get_param: CinderEnableRbdBackend}
743 Debug: {get_param: Debug}
744 ExtraConfig: {get_param: ExtraConfig}
745 Flavor: {get_param: OvercloudComputeFlavor}
746 GlanceHost: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
747 Image: {get_param: NovaImage}
748 ImageUpdatePolicy: {get_param: ImageUpdatePolicy}
749 KeyName: {get_param: KeyName}
750 KeystoneAdminApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
751 KeystonePublicApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
752 NeutronPassword: {get_param: NeutronPassword}
753 NeutronPhysicalBridge: {get_param: HypervisorNeutronPhysicalBridge}
754 NeutronPublicInterface: {get_param: HypervisorNeutronPublicInterface}
755 # L3 HA and Failover is not relevant for Computes, should be removed
756 NovaApiHost: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
757 NovaComputeDriver: {get_param: NovaComputeDriver}
758 NovaComputeExtraConfig: {get_param: NovaComputeExtraConfig}
759 NovaComputeLibvirtType: {get_param: NovaComputeLibvirtType}
760 NovaComputeLibvirtVifDriver: {get_param: NovaComputeLibvirtVifDriver}
761 NovaEnableRbdBackend: {get_param: NovaEnableRbdBackend}
762 NovaIPv6: {get_param: NovaIPv6}
763 NovaPublicIP: {get_attr: [VipMap, net_ip_map, external]}
764 NovaPassword: {get_param: NovaPassword}
765 NovaOVSBridge: {get_param: NovaOVSBridge}
766 NovaSecurityGroupAPI: {get_param: NovaSecurityGroupAPI}
767 RabbitHost: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]}
768 RabbitPassword: {get_param: RabbitPassword}
769 RabbitUserName: {get_param: RabbitUserName}
770 RabbitClientUseSSL: {get_param: RabbitClientUseSSL}
771 RabbitClientPort: {get_param: RabbitClientPort}
772 ServiceNetMap: {get_param: ServiceNetMap}
773 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
774 UpdateIdentifier: {get_param: UpdateIdentifier}
777 template: {get_param: ComputeHostnameFormat}
779 '%stackname%': {get_param: 'OS::stack_name'}
780 CloudDomain: {get_param: CloudDomain}
781 ServerMetadata: {get_param: ServerMetadata}
782 SchedulerHints: {get_param: NovaComputeSchedulerHints}
784 ServiceConfigSettings: {get_attr: [ComputeServiceChain, role_data, config_settings]}
785 ServiceNames: {get_attr: [ComputeServiceChain, role_data, service_names]}
787 BlockStorageServiceChain:
788 type: OS::TripleO::Services
790 Services: {get_param: BlockStorageServices}
791 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
794 type: OS::Heat::ResourceGroup
797 count: {get_param: BlockStorageCount}
798 removal_policies: {get_param: BlockStorageRemovalPolicies}
800 type: OS::TripleO::BlockStorage
802 Image: {get_param: BlockStorageImage}
803 KeyName: {get_param: KeyName}
804 Flavor: {get_param: OvercloudBlockStorageFlavor}
805 UpdateIdentifier: {get_param: UpdateIdentifier}
808 template: {get_param: BlockStorageHostnameFormat}
810 '%stackname%': {get_param: 'OS::stack_name'}
811 ServiceNetMap: {get_param: ServiceNetMap}
812 ExtraConfig: {get_param: ExtraConfig}
813 BlockStorageExtraConfig: {get_param: BlockStorageExtraConfig}
814 CloudDomain: {get_param: CloudDomain}
815 ServerMetadata: {get_param: ServerMetadata}
816 SchedulerHints: {get_param: BlockStorageSchedulerHints}
818 ServiceConfigSettings: {get_attr: [BlockStorageServiceChain, role_data, config_settings]}
819 ServiceNames: {get_attr: [BlockStorageServiceChain, role_data, service_names]}
821 ObjectStorageServiceChain:
822 type: OS::TripleO::Services
824 Services: {get_param: ObjectStorageServices}
825 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
828 type: OS::Heat::ResourceGroup
831 count: {get_param: ObjectStorageCount}
832 removal_policies: {get_param: ObjectStorageRemovalPolicies}
834 type: OS::TripleO::ObjectStorage
836 KeyName: {get_param: KeyName}
837 Flavor: {get_param: OvercloudSwiftStorageFlavor}
838 HashSuffix: {get_param: SwiftHashSuffix}
839 Image: {get_param: SwiftStorageImage}
840 UpdateIdentifier: {get_param: UpdateIdentifier}
841 ServiceNetMap: {get_param: ServiceNetMap}
844 template: {get_param: ObjectStorageHostnameFormat}
846 '%stackname%': {get_param: 'OS::stack_name'}
847 ExtraConfig: {get_param: ExtraConfig}
848 ObjectStorageExtraConfig: {get_param: ObjectStorageExtraConfig}
849 CloudDomain: {get_param: CloudDomain}
850 ServerMetadata: {get_param: ServerMetadata}
851 SchedulerHints: {get_param: ObjectStorageSchedulerHints}
853 ServiceConfigSettings: {get_attr: [ObjectStorageServiceChain, role_data, config_settings]}
854 ServiceNames: {get_attr: [ObjectStorageServiceChain, role_data, service_names]}
856 CephStorageServiceChain:
857 type: OS::TripleO::Services
859 Services: {get_param: CephStorageServices}
860 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
863 type: OS::Heat::ResourceGroup
866 count: {get_param: CephStorageCount}
867 removal_policies: {get_param: CephStorageRemovalPolicies}
869 type: OS::TripleO::CephStorage
871 Image: {get_param: CephStorageImage}
872 KeyName: {get_param: KeyName}
873 Flavor: {get_param: OvercloudCephStorageFlavor}
874 ServiceNetMap: {get_param: ServiceNetMap}
875 UpdateIdentifier: {get_param: UpdateIdentifier}
878 template: {get_param: CephStorageHostnameFormat}
880 '%stackname%': {get_param: 'OS::stack_name'}
881 ExtraConfig: {get_param: ExtraConfig}
882 CephStorageExtraConfig: {get_param: CephStorageExtraConfig}
883 CloudDomain: {get_param: CloudDomain}
884 ServerMetadata: {get_param: ServerMetadata}
885 SchedulerHints: {get_param: CephStorageSchedulerHints}
887 ServiceConfigSettings: {get_attr: [CephStorageServiceChain, role_data, config_settings]}
888 ServiceNames: {get_attr: [CephStorageServiceChain, role_data, service_names]}
891 type: OS::TripleO::Network::Ports::NetIpListMap
893 ControlPlaneIpList: {get_attr: [Controller, ip_address]}
894 ExternalIpList: {get_attr: [Controller, external_ip_address]}
895 InternalApiIpList: {get_attr: [Controller, internal_api_ip_address]}
896 StorageIpList: {get_attr: [Controller, storage_ip_address]}
897 StorageMgmtIpList: {get_attr: [Controller, storage_mgmt_ip_address]}
898 TenantIpList: {get_attr: [Controller, tenant_ip_address]}
899 ManagementIpList: {get_attr: [Controller, management_ip_address]}
902 type: OS::TripleO::AllNodes::SoftwareConfig
904 compute_hosts: {get_attr: [Compute, hosts_entry]}
905 controller_hosts: {get_attr: [Controller, hosts_entry]}
906 controller_ips: {get_attr: [Controller, ip_address]}
907 block_storage_hosts: {get_attr: [BlockStorage, hosts_entry]}
908 object_storage_hosts: {get_attr: [ObjectStorage, hosts_entry]}
909 ceph_storage_hosts: {get_attr: [CephStorage, hosts_entry]}
910 controller_names: {get_attr: [Controller, hostname]}
911 rabbit_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]}
912 mongo_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, MongoDbNetwork]}]}
913 redis_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, RedisNetwork]}]}
914 memcache_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, MemcachedNetwork]}]}
915 mysql_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
916 horizon_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, HorizonNetwork]}]}
917 heat_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
918 swift_proxy_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
919 ceilometer_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
920 aodh_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
921 gnocchi_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
922 nova_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
923 nova_metadata_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, NovaMetadataNetwork]}]}
924 glance_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
925 glance_registry_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
926 cinder_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
927 neutron_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
928 keystone_public_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
929 keystone_admin_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
930 sahara_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
931 ironic_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
932 ceph_mon_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, CephPublicNetwork]}]}
933 ceph_mon_node_names: {get_attr: [Controller, hostname]}
934 DeployIdentifier: {get_param: DeployIdentifier}
935 UpdateIdentifier: {get_param: UpdateIdentifier}
938 type: OS::Heat::RandomString
942 MysqlClusterUniquePart:
943 type: OS::Heat::RandomString
948 type: OS::Heat::RandomString
951 salt: {get_param: RabbitCookieSalt}
953 # creates the network architecture
955 type: OS::TripleO::Network
958 type: OS::Neutron::Port
961 name: control_virtual_ip
962 network: {get_param: NeutronControlPlaneID}
963 fixed_ips: {get_param: ControlFixedIPs}
964 replacement_policy: AUTO
968 type: OS::TripleO::Network::Ports::RedisVipPort
970 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
971 ControlPlaneNetwork: {get_param: NeutronControlPlaneID}
972 PortName: redis_virtual_ip
973 NetworkName: {get_param: [ServiceNetMap, RedisNetwork]}
976 # The public VIP is on the External net, falls back to ctlplane
979 type: OS::TripleO::Network::Ports::ExternalVipPort
981 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
982 ControlPlaneNetwork: {get_param: NeutronControlPlaneID}
983 PortName: public_virtual_ip
984 FixedIPs: {get_param: PublicVirtualFixedIPs}
986 InternalApiVirtualIP:
988 type: OS::TripleO::Network::Ports::InternalApiVipPort
990 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
991 PortName: internal_api_virtual_ip
992 FixedIPs: {get_param: InternalApiVirtualFixedIPs}
996 type: OS::TripleO::Network::Ports::StorageVipPort
998 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
999 PortName: storage_virtual_ip
1000 FixedIPs: {get_param: StorageVirtualFixedIPs}
1002 StorageMgmtVirtualIP:
1003 depends_on: Networks
1004 type: OS::TripleO::Network::Ports::StorageMgmtVipPort
1006 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
1007 PortName: storage_management_virtual_ip
1008 FixedIPs: {get_param: StorageMgmtVirtualFixedIPs}
1011 type: OS::TripleO::Network::Ports::NetVipMap
1013 ControlPlaneIp: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
1014 ExternalIp: {get_attr: [PublicVirtualIP, ip_address]}
1015 ExternalIpUri: {get_attr: [PublicVirtualIP, ip_address_uri]}
1016 InternalApiIp: {get_attr: [InternalApiVirtualIP, ip_address]}
1017 InternalApiIpUri: {get_attr: [InternalApiVirtualIP, ip_address_uri]}
1018 StorageIp: {get_attr: [StorageVirtualIP, ip_address]}
1019 StorageIpUri: {get_attr: [StorageVirtualIP, ip_address_uri]}
1020 StorageMgmtIp: {get_attr: [StorageMgmtVirtualIP, ip_address]}
1021 StorageMgmtIpUri: {get_attr: [StorageMgmtVirtualIP, ip_address_uri]}
1022 # No tenant or management VIP required
1025 type: OS::TripleO::VipConfig
1028 type: OS::Heat::StructuredDeployments
1031 config: {get_resource: VipConfig}
1032 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1034 # service VIP mappings
1035 keystone_admin_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
1036 keystone_public_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
1037 neutron_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
1038 cinder_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
1039 glance_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
1040 glance_registry_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
1041 swift_proxy_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
1042 nova_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
1043 nova_metadata_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaMetadataNetwork]}]}
1044 ceilometer_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
1045 aodh_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
1046 gnocchi_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
1047 heat_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
1048 horizon_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HorizonNetwork]}]}
1049 redis_vip: {get_attr: [RedisVirtualIP, ip_address]}
1050 mysql_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
1051 rabbit_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]}
1052 # direct configuration of Virtual IPs for each network
1053 control_virtual_ip: {get_attr: [VipMap, net_ip_map, ctlplane]}
1054 public_virtual_ip: {get_attr: [VipMap, net_ip_map, external]}
1055 internal_api_virtual_ip: {get_attr: [VipMap, net_ip_map, internal_api]}
1056 sahara_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
1057 ironic_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
1058 storage_virtual_ip: {get_attr: [VipMap, net_ip_map, storage]}
1059 storage_mgmt_virtual_ip: {get_attr: [VipMap, net_ip_map, storage_mgmt]}
1061 ControllerSwiftDeployment:
1062 type: OS::Heat::StructuredDeployments
1064 name: ControllerSwiftDeployment
1065 config: {get_attr: [SwiftDevicesAndProxyConfig, config_id]}
1066 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1068 ObjectStorageSwiftDeployment:
1069 type: OS::Heat::StructuredDeployments
1071 name: ObjectStorageSwiftDeployment
1072 config: {get_attr: [SwiftDevicesAndProxyConfig, config_id]}
1073 servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1075 SwiftDevicesAndProxyConfig:
1076 type: OS::TripleO::SwiftDevicesAndProxy::SoftwareConfig
1078 controller_swift_devices: {get_attr: [Controller, swift_device]}
1079 object_store_swift_devices: {get_attr: [ObjectStorage, swift_device]}
1080 controller_swift_proxy_memcaches: {get_attr: [Controller, swift_proxy_memcache]}
1082 ControllerAllNodesDeployment:
1083 type: OS::Heat::StructuredDeployments
1085 name: ControllerAllNodesDeployment
1086 config: {get_attr: [allNodesConfig, config_id]}
1087 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1089 bootstrap_nodeid: {get_attr: [Controller, resource.0.hostname]}
1090 bootstrap_nodeid_ip: {get_attr: [Controller, resource.0.ip_address]}
1092 ComputeAllNodesDeployment:
1093 type: OS::Heat::StructuredDeployments
1095 name: ComputeAllNodesDeployment
1096 config: {get_attr: [allNodesConfig, config_id]}
1097 servers: {get_attr: [Compute, attributes, nova_server_resource]}
1099 bootstrap_nodeid: {get_attr: [Compute, resource.0.hostname]}
1100 bootstrap_nodeid_ip: {get_attr: [Compute, resource.0.ip_address]}
1102 BlockStorageAllNodesDeployment:
1103 type: OS::Heat::StructuredDeployments
1105 name: BlockStorageAllNodesDeployment
1106 config: {get_attr: [allNodesConfig, config_id]}
1107 servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
1109 bootstrap_nodeid: {get_attr: [BlockStorage, resource.0.hostname]}
1110 bootstrap_nodeid_ip: {get_attr: [BlockStorage, resource.0.ip_address]}
1112 ObjectStorageAllNodesDeployment:
1113 type: OS::Heat::StructuredDeployments
1115 name: ObjectStorageAllNodesDeployment
1116 config: {get_attr: [allNodesConfig, config_id]}
1117 servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1119 bootstrap_nodeid: {get_attr: [ObjectStorage, resource.0.hostname]}
1120 bootstrap_nodeid_ip: {get_attr: [ObjectStorage, resource.0.ip_address]}
1122 CephStorageAllNodesDeployment:
1123 type: OS::Heat::StructuredDeployments
1125 name: CephStorageAllNodesDeployment
1126 config: {get_attr: [allNodesConfig, config_id]}
1127 servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1129 bootstrap_nodeid: {get_attr: [CephStorage, resource.0.hostname]}
1130 bootstrap_nodeid_ip: {get_attr: [CephStorage, resource.0.ip_address]}
1132 # All Nodes Validations
1133 AllNodesValidationConfig:
1134 type: OS::TripleO::AllNodes::Validation
1139 - - {get_attr: [Controller, resource.0.external_ip_address]}
1140 - {get_attr: [Controller, resource.0.internal_api_ip_address]}
1141 - {get_attr: [Controller, resource.0.storage_ip_address]}
1142 - {get_attr: [Controller, resource.0.storage_mgmt_ip_address]}
1143 - {get_attr: [Controller, resource.0.tenant_ip_address]}
1145 ControllerAllNodesValidationDeployment:
1146 type: OS::Heat::StructuredDeployments
1147 depends_on: ControllerAllNodesDeployment
1149 name: ControllerAllNodesValidationDeployment
1150 config: {get_resource: AllNodesValidationConfig}
1151 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1153 ComputeAllNodesValidationDeployment:
1154 type: OS::Heat::StructuredDeployments
1155 depends_on: ComputeAllNodesDeployment
1157 name: ComputeAllNodesValidationDeployment
1158 config: {get_resource: AllNodesValidationConfig}
1159 servers: {get_attr: [Compute, attributes, nova_server_resource]}
1161 BlockStorageAllNodesValidationDeployment:
1162 type: OS::Heat::StructuredDeployments
1163 depends_on: BlockStorageAllNodesDeployment
1165 name: BlockStorageAllNodesValidationDeployment
1166 config: {get_resource: AllNodesValidationConfig}
1167 servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
1169 ObjectStorageAllNodesValidationDeployment:
1170 type: OS::Heat::StructuredDeployments
1171 depends_on: ObjectStorageAllNodesDeployment
1173 name: ObjectStorageAllNodesValidationDeployment
1174 config: {get_resource: AllNodesValidationConfig}
1175 servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1177 CephStorageAllNodesValidationDeployment:
1178 type: OS::Heat::StructuredDeployments
1179 depends_on: CephStorageAllNodesDeployment
1181 name: CephStorageAllNodesValidationDeployment
1182 config: {get_resource: AllNodesValidationConfig}
1183 servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1186 type: OS::TripleO::Tasks::UpdateWorkflow
1188 controller_servers: {get_attr: [Controller, attributes, nova_server_resource]}
1189 compute_servers: {get_attr: [Compute, attributes, nova_server_resource]}
1190 blockstorage_servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
1191 objectstorage_servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1192 cephstorage_servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1194 deploy_identifier: {get_param: DeployIdentifier}
1195 update_identifier: {get_param: UpdateIdentifier}
1197 # Optional ExtraConfig for all nodes - all roles are passed in here, but
1198 # the nested template may configure each role differently (or not at all)
1199 AllNodesExtraConfig:
1200 type: OS::TripleO::AllNodesExtraConfig
1203 - ComputeAllNodesValidationDeployment
1204 - BlockStorageAllNodesValidationDeployment
1205 - ObjectStorageAllNodesValidationDeployment
1206 - CephStorageAllNodesValidationDeployment
1207 - ControllerAllNodesValidationDeployment
1209 controller_servers: {get_attr: [Controller, attributes, nova_server_resource]}
1210 compute_servers: {get_attr: [Compute, attributes, nova_server_resource]}
1211 blockstorage_servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
1212 objectstorage_servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1213 cephstorage_servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1215 # Nested stack deployment runs after all other controller deployments
1216 ControllerNodesPostDeployment:
1217 type: OS::TripleO::ControllerPostDeployment
1218 depends_on: [ControllerAllNodesDeployment, ControllerSwiftDeployment]
1220 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1221 RoleData: {get_attr: [ControllerServiceChain, role_data]}
1223 ComputeNodesPostDeployment:
1224 type: OS::TripleO::ComputePostDeployment
1225 depends_on: [ComputeAllNodesDeployment]
1227 servers: {get_attr: [Compute, attributes, nova_server_resource]}
1228 RoleData: {get_attr: [ComputeServiceChain, role_data]}
1230 ObjectStorageNodesPostDeployment:
1231 type: OS::TripleO::ObjectStoragePostDeployment
1232 depends_on: [ObjectStorageSwiftDeployment, ObjectStorageAllNodesDeployment]
1234 servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1235 RoleData: {get_attr: [ObjectStorageServiceChain, role_data]}
1237 BlockStorageNodesPostDeployment:
1238 type: OS::TripleO::BlockStoragePostDeployment
1239 depends_on: [ControllerNodesPostDeployment, BlockStorageAllNodesDeployment]
1241 servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
1242 RoleData: {get_attr: [BlockStorageServiceChain, role_data]}
1244 CephStorageNodesPostDeployment:
1245 type: OS::TripleO::CephStoragePostDeployment
1246 depends_on: [ControllerNodesPostDeployment, CephStorageAllNodesDeployment]
1248 servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1249 RoleData: {get_attr: [CephStorageServiceChain, role_data]}
1253 description: URL for the Overcloud Keystone service
1254 value: {get_attr: [EndpointMap, endpoint_map, KeystonePublic, uri]}
1256 description: Keystone Admin VIP endpoint
1257 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
1259 description: Controller VIP for public API endpoints
1260 value: {get_attr: [VipMap, net_ip_map, external]}
1262 description: VIP for Aodh API internal endpoint
1263 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
1264 CeilometerInternalVip:
1265 description: VIP for Ceilometer API internal endpoint
1266 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
1268 description: VIP for Cinder API internal endpoint
1269 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
1271 description: VIP for Glance API internal endpoint
1272 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
1274 description: VIP for Gnocchi API internal endpoint
1275 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
1277 description: VIP for Heat API internal endpoint
1278 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
1280 description: VIP for Ironic API internal endpoint
1281 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
1282 KeystoneInternalVip:
1283 description: VIP for Keystone API internal endpoint
1284 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
1286 description: VIP for Neutron API internal endpoint
1287 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
1289 description: VIP for Nova API internal endpoint
1290 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
1292 description: VIP for Sahara API internal endpoint
1293 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
1295 description: VIP for Swift Proxy internal endpoint
1296 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
1299 Mapping of the resources with the needed info for their endpoints.
1300 This includes the protocol used, the IP, port and also a full
1301 representation of the URI.
1302 value: {get_attr: [EndpointMap, endpoint_map]}
1305 The content that should be appended to your /etc/hosts if you want to get
1306 hostname-based access to the deployed nodes (useful for testing without
1308 value: {get_attr: [allNodesConfig, hosts_entries]}