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::Kernel
363 - OS::TripleO::Services::Keystone
364 - OS::TripleO::Services::GlanceApi
365 - OS::TripleO::Services::GlanceRegistry
366 - OS::TripleO::Services::HeatApi
367 - OS::TripleO::Services::HeatApiCfn
368 - OS::TripleO::Services::HeatApiCloudwatch
369 - OS::TripleO::Services::HeatEngine
370 - OS::TripleO::Services::MySQL
371 - OS::TripleO::Services::NeutronDhcpAgent
372 - OS::TripleO::Services::NeutronL3Agent
373 - OS::TripleO::Services::NeutronMetadataAgent
374 - OS::TripleO::Services::NeutronServer
375 - OS::TripleO::Services::NeutronCorePlugin
376 - OS::TripleO::Services::NeutronOvsAgent
377 - OS::TripleO::Services::RabbitMQ
378 - OS::TripleO::Services::HAproxy
379 - OS::TripleO::Services::Keepalived
380 - OS::TripleO::Services::Memcached
381 - OS::TripleO::Services::Pacemaker
382 - OS::TripleO::Services::Redis
383 - OS::TripleO::Services::NovaConductor
384 - OS::TripleO::Services::MongoDb
385 - OS::TripleO::Services::NovaApi
386 - OS::TripleO::Services::NovaScheduler
387 - OS::TripleO::Services::NovaConsoleauth
388 - OS::TripleO::Services::NovaVncproxy
389 - OS::TripleO::Services::Ntp
390 - OS::TripleO::Services::SwiftProxy
391 - OS::TripleO::Services::SwiftStorage
392 - OS::TripleO::Services::SwiftRingBuilder
393 - OS::TripleO::Services::Snmp
394 - OS::TripleO::Services::Timezone
395 - OS::TripleO::Services::CeilometerApi
396 - OS::TripleO::Services::CeilometerCollector
397 - OS::TripleO::Services::CeilometerExpirer
398 - OS::TripleO::Services::CeilometerAgentCentral
399 - OS::TripleO::Services::CeilometerAgentNotification
400 - OS::TripleO::Services::Horizon
401 - OS::TripleO::Services::GnocchiApi
402 - OS::TripleO::Services::GnocchiMetricd
403 - OS::TripleO::Services::GnocchiStatsd
405 description: A list of service resources (configured in the Heat
406 resource_registry) which represent nested stacks
407 for each service that should get installed on the Controllers.
408 type: comma_delimited_list
412 - OS::TripleO::Services::CephClient
413 - OS::TripleO::Services::CephExternal
414 - OS::TripleO::Services::Timezone
415 - OS::TripleO::Services::Ntp
416 - OS::TripleO::Services::Snmp
417 - OS::TripleO::Services::NovaCompute
418 - OS::TripleO::Services::NovaLibvirt
419 - OS::TripleO::Services::Kernel
420 - OS::TripleO::Services::ComputeNeutronCorePlugin
421 - OS::TripleO::Services::ComputeNeutronOvsAgent
422 - OS::TripleO::Services::ComputeCeilometerAgent
423 description: A list of service resources (configured in the Heat
424 resource_registry) which represent nested stacks
425 for each service that should get installed on the Compute Nodes.
426 type: comma_delimited_list
428 # Block storage specific parameters
433 default: overcloud-full
435 OvercloudBlockStorageFlavor:
436 description: Flavor for block storage nodes to request when deploying.
440 - custom_constraint: nova.flavor
441 BlockStorageExtraConfig:
444 BlockStorage specific configuration to inject into the cluster. Same
445 structure as ExtraConfig.
447 BlockStorageSchedulerHints:
449 description: Optional scheduler hints to pass to nova
451 BlockStorageServices:
453 - OS::TripleO::Services::CinderVolume
454 - OS::TripleO::Services::Kernel
455 - OS::TripleO::Services::Ntp
456 - OS::TripleO::Services::Timezone
457 - OS::TripleO::Services::Snmp
458 description: A list of service resources (configured in the Heat
459 resource_registry) which represent nested stacks
460 for each service that should get installed on the BlockStorage nodes.
461 type: comma_delimited_list
463 # Object storage specific parameters
467 OvercloudSwiftStorageFlavor:
468 description: Flavor for Swift storage nodes to request when deploying.
472 - custom_constraint: nova.flavor
474 default: overcloud-full
476 ObjectStorageExtraConfig:
479 ObjectStorage specific configuration to inject into the cluster. Same
480 structure as ExtraConfig.
482 ObjectStorageSchedulerHints:
484 description: Optional scheduler hints to pass to nova
486 ObjectStorageServices:
488 - OS::TripleO::Services::Kernel
489 - OS::TripleO::Services::Ntp
490 - OS::TripleO::Services::SwiftStorage
491 - OS::TripleO::Services::SwiftRingBuilder
492 - OS::TripleO::Services::Snmp
493 - OS::TripleO::Services::Timezone
494 description: A list of service resources (configured in the Heat
495 resource_registry) which represent nested stacks
496 for each service that should get installed on the ObjectStorage nodes.
497 Note this role currently only supports steps 2, 3 and 4 configuration.
498 type: comma_delimited_list
501 # Ceph storage specific parameters
506 default: overcloud-full
508 OvercloudCephStorageFlavor:
510 description: Flavor for Ceph storage nodes to request when deploying.
513 - custom_constraint: nova.flavor
514 CephStorageExtraConfig:
517 CephStorage specific configuration to inject into the cluster. Same
518 structure as ExtraConfig.
520 CephStorageSchedulerHints:
522 description: Optional scheduler hints to pass to nova
526 - OS::TripleO::Services::CephOSD
527 - OS::TripleO::Services::Kernel
528 - OS::TripleO::Services::Ntp
529 - OS::TripleO::Services::Timezone
530 description: A list of service resources (configured in the Heat
531 resource_registry) which represent nested stacks
532 for each service that should get installed on the CephStorage nodes.
533 type: comma_delimited_list
535 # Hostname format for each role
536 # Note %index% is translated into the index of the node, e.g 0/1/2 etc
537 # and %stackname% is replaced with OS::stack_name in the template below.
538 # If you want to use the heat generated names, pass '' (empty string).
539 ControllerHostnameFormat:
541 description: Format for Controller node hostnames
542 default: '%stackname%-controller-%index%'
543 ComputeHostnameFormat:
545 description: Format for Compute node hostnames
546 default: '%stackname%-novacompute-%index%'
547 BlockStorageHostnameFormat:
549 description: Format for BlockStorage node hostnames
550 default: '%stackname%-blockstorage-%index%'
551 ObjectStorageHostnameFormat:
553 description: Format for SwiftStorage node hostnames
554 default: '%stackname%-objectstorage-%index%'
555 CephStorageHostnameFormat:
557 description: Format for CephStorage node hostnames
558 default: '%stackname%-cephstorage-%index%'
560 # Identifiers to trigger tasks on nodes
565 Setting to a previously unused value during stack-update will trigger
566 package update on all nodes
571 Setting this to a unique value will re-run any deployment tasks which
572 perform configuration on a Heat stack-update.
574 # If you want to remove a specific node from a resource group, you can pass
575 # the node name or id as a <Group>RemovalPolicies parameter, for example:
576 # ComputeRemovalPolicies: [{'resource_list': ['0']}]
577 ControllerRemovalPolicies:
581 List of resources to be removed from ControllerResourceGroup when
582 doing an update which requires removal of specific resources.
583 ComputeRemovalPolicies:
587 List of resources to be removed from ComputeResourceGroup when
588 doing an update which requires removal of specific resources.
589 BlockStorageRemovalPolicies:
593 List of resources to be removed from BlockStorageResourceGroup when
594 doing an update which requires removal of specific resources.
595 ObjectStorageRemovalPolicies:
599 List of resources to be removed from ObjectStorageResourceGroup when
600 doing an update which requires removal of specific resources.
601 CephStorageRemovalPolicies:
605 List of resources to be removed from CephStorageResourceGroup when
606 doing an update which requires removal of specific resources.
610 description: Do not use deprecated params, they will be removed.
612 - controllerExtraConfig
617 HeatAuthEncryptionKey:
618 type: OS::Heat::RandomString
621 type: OS::Heat::RandomString
626 type: OS::Heat::RandomString
631 type: OS::TripleO::EndpointMap
633 CloudName: {get_param: CloudName}
634 CeilometerApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
635 AodhApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
636 CinderApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
637 GlanceApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
638 GlanceRegistryVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
639 GnocchiApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
640 HeatApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
641 IronicApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
642 KeystoneAdminApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
643 KeystonePublicApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
644 MysqlVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
645 MysqlNoBracketsVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
646 NeutronApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
647 NovaApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
648 SaharaApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
649 SwiftProxyVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
650 PublicVirtualIP: {get_attr: [VipMap, net_ip_uri_map, external]}
652 ControllerServiceChain:
653 type: OS::TripleO::Services
655 Services: {get_param: ControllerServices}
656 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
659 type: OS::Heat::ResourceGroup
662 count: {get_param: ControllerCount}
663 removal_policies: {get_param: ControllerRemovalPolicies}
665 type: OS::TripleO::Controller
667 AdminPassword: {get_param: AdminPassword}
668 AodhPassword: {get_param: AodhPassword}
669 CloudDomain: {get_param: CloudDomain}
670 ControlVirtualInterface: {get_param: ControlVirtualInterface}
671 controllerExtraConfig: {get_param: controllerExtraConfig}
672 CorosyncIPv6: {get_param: CorosyncIPv6}
673 Debug: {get_param: Debug}
674 EnableFencing: {get_param: EnableFencing}
675 ManageFirewall: {get_param: ManageFirewall}
676 PurgeFirewallRules: {get_param: PurgeFirewallRules}
677 EnableGalera: {get_param: EnableGalera}
678 ExtraConfig: {get_param: ExtraConfig}
679 FencingConfig: {get_param: FencingConfig}
680 Flavor: {get_param: OvercloudControlFlavor}
681 HAProxySyslogAddress: {get_param: HAProxySyslogAddress}
682 HeatAuthEncryptionKey: {get_resource: HeatAuthEncryptionKey}
683 HorizonSecret: {get_resource: HorizonSecret}
684 Image: {get_param: controllerImage}
685 ImageUpdatePolicy: {get_param: ImageUpdatePolicy}
686 InstanceNameTemplate: {get_param: InstanceNameTemplate}
687 KeyName: {get_param: KeyName}
688 MemcachedIPv6: {get_param: MemcachedIPv6}
689 MysqlClusterUniquePart: {get_attr: [MysqlClusterUniquePart, value]}
690 MysqlInnodbBufferPoolSize: {get_param: MysqlInnodbBufferPoolSize}
691 MysqlMaxConnections: {get_param: MysqlMaxConnections}
692 MysqlRootPassword: {get_attr: [MysqlRootPassword, value]}
693 NeutronPublicInterface: {get_param: NeutronPublicInterface}
694 NeutronPassword: {get_param: NeutronPassword}
695 NovaIPv6: {get_param: NovaIPv6}
696 NovaPassword: {get_param: NovaPassword}
697 PcsdPassword: {get_resource: PcsdPassword}
698 PublicVirtualInterface: {get_param: PublicVirtualInterface}
699 RabbitPassword: {get_param: RabbitPassword}
700 RabbitUserName: {get_param: RabbitUserName}
701 RabbitCookie: {get_attr: [RabbitCookie, value]}
702 RabbitClientUseSSL: {get_param: RabbitClientUseSSL}
703 RabbitClientPort: {get_param: RabbitClientPort}
704 RedisPassword: {get_param: RedisPassword}
705 RedisVirtualIP: {get_attr: [RedisVirtualIP, ip_address]}
706 RedisVirtualIPUri: {get_attr: [RedisVirtualIP, ip_address_uri]}
707 SwiftHashSuffix: {get_param: SwiftHashSuffix}
708 ServiceNetMap: {get_param: ServiceNetMap}
709 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
710 MysqlVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
711 UpdateIdentifier: {get_param: UpdateIdentifier}
714 template: {get_param: ControllerHostnameFormat}
716 '%stackname%': {get_param: 'OS::stack_name'}
718 ServerMetadata: {get_param: ServerMetadata}
719 SchedulerHints: {get_param: ControllerSchedulerHints}
720 ServiceConfigSettings: {get_attr: [ControllerServiceChain, role_data, config_settings]}
721 ServiceNames: {get_attr: [ControllerServiceChain, role_data, service_names]}
725 type: OS::TripleO::Services
727 Services: {get_param: ComputeServices}
728 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
731 type: OS::Heat::ResourceGroup
734 count: {get_param: ComputeCount}
735 removal_policies: {get_param: ComputeRemovalPolicies}
737 type: OS::TripleO::Compute
739 AdminPassword: {get_param: AdminPassword}
740 CinderEnableNfsBackend: {get_param: CinderEnableNfsBackend}
741 CinderEnableRbdBackend: {get_param: CinderEnableRbdBackend}
742 Debug: {get_param: Debug}
743 ExtraConfig: {get_param: ExtraConfig}
744 Flavor: {get_param: OvercloudComputeFlavor}
745 GlanceHost: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
746 Image: {get_param: NovaImage}
747 ImageUpdatePolicy: {get_param: ImageUpdatePolicy}
748 KeyName: {get_param: KeyName}
749 KeystoneAdminApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
750 KeystonePublicApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
751 NeutronPassword: {get_param: NeutronPassword}
752 NeutronPhysicalBridge: {get_param: HypervisorNeutronPhysicalBridge}
753 NeutronPublicInterface: {get_param: HypervisorNeutronPublicInterface}
754 # L3 HA and Failover is not relevant for Computes, should be removed
755 NovaApiHost: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
756 NovaComputeDriver: {get_param: NovaComputeDriver}
757 NovaComputeExtraConfig: {get_param: NovaComputeExtraConfig}
758 NovaComputeLibvirtType: {get_param: NovaComputeLibvirtType}
759 NovaComputeLibvirtVifDriver: {get_param: NovaComputeLibvirtVifDriver}
760 NovaEnableRbdBackend: {get_param: NovaEnableRbdBackend}
761 NovaIPv6: {get_param: NovaIPv6}
762 NovaPublicIP: {get_attr: [VipMap, net_ip_map, external]}
763 NovaPassword: {get_param: NovaPassword}
764 NovaOVSBridge: {get_param: NovaOVSBridge}
765 NovaSecurityGroupAPI: {get_param: NovaSecurityGroupAPI}
766 RabbitHost: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]}
767 RabbitPassword: {get_param: RabbitPassword}
768 RabbitUserName: {get_param: RabbitUserName}
769 RabbitClientUseSSL: {get_param: RabbitClientUseSSL}
770 RabbitClientPort: {get_param: RabbitClientPort}
771 ServiceNetMap: {get_param: ServiceNetMap}
772 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
773 UpdateIdentifier: {get_param: UpdateIdentifier}
776 template: {get_param: ComputeHostnameFormat}
778 '%stackname%': {get_param: 'OS::stack_name'}
779 CloudDomain: {get_param: CloudDomain}
780 ServerMetadata: {get_param: ServerMetadata}
781 SchedulerHints: {get_param: NovaComputeSchedulerHints}
783 ServiceConfigSettings: {get_attr: [ComputeServiceChain, role_data, config_settings]}
784 ServiceNames: {get_attr: [ComputeServiceChain, role_data, service_names]}
786 BlockStorageServiceChain:
787 type: OS::TripleO::Services
789 Services: {get_param: BlockStorageServices}
790 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
793 type: OS::Heat::ResourceGroup
796 count: {get_param: BlockStorageCount}
797 removal_policies: {get_param: BlockStorageRemovalPolicies}
799 type: OS::TripleO::BlockStorage
801 Image: {get_param: BlockStorageImage}
802 KeyName: {get_param: KeyName}
803 Flavor: {get_param: OvercloudBlockStorageFlavor}
804 UpdateIdentifier: {get_param: UpdateIdentifier}
807 template: {get_param: BlockStorageHostnameFormat}
809 '%stackname%': {get_param: 'OS::stack_name'}
810 ServiceNetMap: {get_param: ServiceNetMap}
811 ExtraConfig: {get_param: ExtraConfig}
812 BlockStorageExtraConfig: {get_param: BlockStorageExtraConfig}
813 CloudDomain: {get_param: CloudDomain}
814 ServerMetadata: {get_param: ServerMetadata}
815 SchedulerHints: {get_param: BlockStorageSchedulerHints}
817 ServiceConfigSettings: {get_attr: [BlockStorageServiceChain, role_data, config_settings]}
818 ServiceNames: {get_attr: [BlockStorageServiceChain, role_data, service_names]}
820 ObjectStorageServiceChain:
821 type: OS::TripleO::Services
823 Services: {get_param: ObjectStorageServices}
824 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
827 type: OS::Heat::ResourceGroup
830 count: {get_param: ObjectStorageCount}
831 removal_policies: {get_param: ObjectStorageRemovalPolicies}
833 type: OS::TripleO::ObjectStorage
835 KeyName: {get_param: KeyName}
836 Flavor: {get_param: OvercloudSwiftStorageFlavor}
837 HashSuffix: {get_param: SwiftHashSuffix}
838 Image: {get_param: SwiftStorageImage}
839 UpdateIdentifier: {get_param: UpdateIdentifier}
840 ServiceNetMap: {get_param: ServiceNetMap}
843 template: {get_param: ObjectStorageHostnameFormat}
845 '%stackname%': {get_param: 'OS::stack_name'}
846 ExtraConfig: {get_param: ExtraConfig}
847 ObjectStorageExtraConfig: {get_param: ObjectStorageExtraConfig}
848 CloudDomain: {get_param: CloudDomain}
849 ServerMetadata: {get_param: ServerMetadata}
850 SchedulerHints: {get_param: ObjectStorageSchedulerHints}
852 ServiceConfigSettings: {get_attr: [ObjectStorageServiceChain, role_data, config_settings]}
853 ServiceNames: {get_attr: [ObjectStorageServiceChain, role_data, service_names]}
855 CephStorageServiceChain:
856 type: OS::TripleO::Services
858 Services: {get_param: CephStorageServices}
859 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
862 type: OS::Heat::ResourceGroup
865 count: {get_param: CephStorageCount}
866 removal_policies: {get_param: CephStorageRemovalPolicies}
868 type: OS::TripleO::CephStorage
870 Image: {get_param: CephStorageImage}
871 KeyName: {get_param: KeyName}
872 Flavor: {get_param: OvercloudCephStorageFlavor}
873 ServiceNetMap: {get_param: ServiceNetMap}
874 UpdateIdentifier: {get_param: UpdateIdentifier}
877 template: {get_param: CephStorageHostnameFormat}
879 '%stackname%': {get_param: 'OS::stack_name'}
880 ExtraConfig: {get_param: ExtraConfig}
881 CephStorageExtraConfig: {get_param: CephStorageExtraConfig}
882 CloudDomain: {get_param: CloudDomain}
883 ServerMetadata: {get_param: ServerMetadata}
884 SchedulerHints: {get_param: CephStorageSchedulerHints}
886 ServiceConfigSettings: {get_attr: [CephStorageServiceChain, role_data, config_settings]}
887 ServiceNames: {get_attr: [CephStorageServiceChain, role_data, service_names]}
890 type: OS::TripleO::Network::Ports::NetIpListMap
892 ControlPlaneIpList: {get_attr: [Controller, ip_address]}
893 ExternalIpList: {get_attr: [Controller, external_ip_address]}
894 InternalApiIpList: {get_attr: [Controller, internal_api_ip_address]}
895 StorageIpList: {get_attr: [Controller, storage_ip_address]}
896 StorageMgmtIpList: {get_attr: [Controller, storage_mgmt_ip_address]}
897 TenantIpList: {get_attr: [Controller, tenant_ip_address]}
898 ManagementIpList: {get_attr: [Controller, management_ip_address]}
901 type: OS::TripleO::AllNodes::SoftwareConfig
903 compute_hosts: {get_attr: [Compute, hosts_entry]}
904 controller_hosts: {get_attr: [Controller, hosts_entry]}
905 controller_ips: {get_attr: [Controller, ip_address]}
906 block_storage_hosts: {get_attr: [BlockStorage, hosts_entry]}
907 object_storage_hosts: {get_attr: [ObjectStorage, hosts_entry]}
908 ceph_storage_hosts: {get_attr: [CephStorage, hosts_entry]}
909 controller_names: {get_attr: [Controller, hostname]}
910 rabbit_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]}
911 mongo_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, MongoDbNetwork]}]}
912 redis_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, RedisNetwork]}]}
913 memcache_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, MemcachedNetwork]}]}
914 mysql_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
915 horizon_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, HorizonNetwork]}]}
916 heat_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
917 swift_proxy_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
918 ceilometer_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
919 aodh_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
920 gnocchi_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
921 nova_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
922 nova_metadata_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, NovaMetadataNetwork]}]}
923 glance_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
924 glance_registry_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
925 cinder_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
926 neutron_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
927 keystone_public_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
928 keystone_admin_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
929 sahara_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
930 ironic_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
931 ceph_mon_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, CephPublicNetwork]}]}
932 ceph_mon_node_names: {get_attr: [Controller, hostname]}
933 DeployIdentifier: {get_param: DeployIdentifier}
934 UpdateIdentifier: {get_param: UpdateIdentifier}
937 type: OS::Heat::RandomString
941 MysqlClusterUniquePart:
942 type: OS::Heat::RandomString
947 type: OS::Heat::RandomString
950 salt: {get_param: RabbitCookieSalt}
952 # creates the network architecture
954 type: OS::TripleO::Network
957 type: OS::Neutron::Port
960 name: control_virtual_ip
961 network: {get_param: NeutronControlPlaneID}
962 fixed_ips: {get_param: ControlFixedIPs}
963 replacement_policy: AUTO
967 type: OS::TripleO::Network::Ports::RedisVipPort
969 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
970 ControlPlaneNetwork: {get_param: NeutronControlPlaneID}
971 PortName: redis_virtual_ip
972 NetworkName: {get_param: [ServiceNetMap, RedisNetwork]}
975 # The public VIP is on the External net, falls back to ctlplane
978 type: OS::TripleO::Network::Ports::ExternalVipPort
980 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
981 ControlPlaneNetwork: {get_param: NeutronControlPlaneID}
982 PortName: public_virtual_ip
983 FixedIPs: {get_param: PublicVirtualFixedIPs}
985 InternalApiVirtualIP:
987 type: OS::TripleO::Network::Ports::InternalApiVipPort
989 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
990 PortName: internal_api_virtual_ip
991 FixedIPs: {get_param: InternalApiVirtualFixedIPs}
995 type: OS::TripleO::Network::Ports::StorageVipPort
997 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
998 PortName: storage_virtual_ip
999 FixedIPs: {get_param: StorageVirtualFixedIPs}
1001 StorageMgmtVirtualIP:
1002 depends_on: Networks
1003 type: OS::TripleO::Network::Ports::StorageMgmtVipPort
1005 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
1006 PortName: storage_management_virtual_ip
1007 FixedIPs: {get_param: StorageMgmtVirtualFixedIPs}
1010 type: OS::TripleO::Network::Ports::NetVipMap
1012 ControlPlaneIp: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
1013 ExternalIp: {get_attr: [PublicVirtualIP, ip_address]}
1014 ExternalIpUri: {get_attr: [PublicVirtualIP, ip_address_uri]}
1015 InternalApiIp: {get_attr: [InternalApiVirtualIP, ip_address]}
1016 InternalApiIpUri: {get_attr: [InternalApiVirtualIP, ip_address_uri]}
1017 StorageIp: {get_attr: [StorageVirtualIP, ip_address]}
1018 StorageIpUri: {get_attr: [StorageVirtualIP, ip_address_uri]}
1019 StorageMgmtIp: {get_attr: [StorageMgmtVirtualIP, ip_address]}
1020 StorageMgmtIpUri: {get_attr: [StorageMgmtVirtualIP, ip_address_uri]}
1021 # No tenant or management VIP required
1024 type: OS::TripleO::VipConfig
1027 type: OS::Heat::StructuredDeployments
1030 config: {get_resource: VipConfig}
1031 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1033 # service VIP mappings
1034 keystone_admin_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
1035 keystone_public_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
1036 neutron_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
1037 cinder_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
1038 glance_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
1039 glance_registry_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
1040 swift_proxy_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
1041 nova_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
1042 nova_metadata_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaMetadataNetwork]}]}
1043 ceilometer_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
1044 aodh_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
1045 gnocchi_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
1046 heat_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
1047 horizon_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HorizonNetwork]}]}
1048 redis_vip: {get_attr: [RedisVirtualIP, ip_address]}
1049 mysql_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
1050 rabbit_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]}
1051 # direct configuration of Virtual IPs for each network
1052 control_virtual_ip: {get_attr: [VipMap, net_ip_map, ctlplane]}
1053 public_virtual_ip: {get_attr: [VipMap, net_ip_map, external]}
1054 internal_api_virtual_ip: {get_attr: [VipMap, net_ip_map, internal_api]}
1055 sahara_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
1056 ironic_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
1057 storage_virtual_ip: {get_attr: [VipMap, net_ip_map, storage]}
1058 storage_mgmt_virtual_ip: {get_attr: [VipMap, net_ip_map, storage_mgmt]}
1060 ControllerSwiftDeployment:
1061 type: OS::Heat::StructuredDeployments
1063 name: ControllerSwiftDeployment
1064 config: {get_attr: [SwiftDevicesAndProxyConfig, config_id]}
1065 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1067 ObjectStorageSwiftDeployment:
1068 type: OS::Heat::StructuredDeployments
1070 name: ObjectStorageSwiftDeployment
1071 config: {get_attr: [SwiftDevicesAndProxyConfig, config_id]}
1072 servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1074 SwiftDevicesAndProxyConfig:
1075 type: OS::TripleO::SwiftDevicesAndProxy::SoftwareConfig
1077 controller_swift_devices: {get_attr: [Controller, swift_device]}
1078 object_store_swift_devices: {get_attr: [ObjectStorage, swift_device]}
1079 controller_swift_proxy_memcaches: {get_attr: [Controller, swift_proxy_memcache]}
1081 ControllerAllNodesDeployment:
1082 type: OS::Heat::StructuredDeployments
1084 name: ControllerAllNodesDeployment
1085 config: {get_attr: [allNodesConfig, config_id]}
1086 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1088 bootstrap_nodeid: {get_attr: [Controller, resource.0.hostname]}
1089 bootstrap_nodeid_ip: {get_attr: [Controller, resource.0.ip_address]}
1091 ComputeAllNodesDeployment:
1092 type: OS::Heat::StructuredDeployments
1094 name: ComputeAllNodesDeployment
1095 config: {get_attr: [allNodesConfig, config_id]}
1096 servers: {get_attr: [Compute, attributes, nova_server_resource]}
1098 bootstrap_nodeid: {get_attr: [Compute, resource.0.hostname]}
1099 bootstrap_nodeid_ip: {get_attr: [Compute, resource.0.ip_address]}
1101 BlockStorageAllNodesDeployment:
1102 type: OS::Heat::StructuredDeployments
1104 name: BlockStorageAllNodesDeployment
1105 config: {get_attr: [allNodesConfig, config_id]}
1106 servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
1108 bootstrap_nodeid: {get_attr: [BlockStorage, resource.0.hostname]}
1109 bootstrap_nodeid_ip: {get_attr: [BlockStorage, resource.0.ip_address]}
1111 ObjectStorageAllNodesDeployment:
1112 type: OS::Heat::StructuredDeployments
1114 name: ObjectStorageAllNodesDeployment
1115 config: {get_attr: [allNodesConfig, config_id]}
1116 servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1118 bootstrap_nodeid: {get_attr: [ObjectStorage, resource.0.hostname]}
1119 bootstrap_nodeid_ip: {get_attr: [ObjectStorage, resource.0.ip_address]}
1121 CephStorageAllNodesDeployment:
1122 type: OS::Heat::StructuredDeployments
1124 name: CephStorageAllNodesDeployment
1125 config: {get_attr: [allNodesConfig, config_id]}
1126 servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1128 bootstrap_nodeid: {get_attr: [CephStorage, resource.0.hostname]}
1129 bootstrap_nodeid_ip: {get_attr: [CephStorage, resource.0.ip_address]}
1131 # All Nodes Validations
1132 AllNodesValidationConfig:
1133 type: OS::TripleO::AllNodes::Validation
1138 - - {get_attr: [Controller, resource.0.external_ip_address]}
1139 - {get_attr: [Controller, resource.0.internal_api_ip_address]}
1140 - {get_attr: [Controller, resource.0.storage_ip_address]}
1141 - {get_attr: [Controller, resource.0.storage_mgmt_ip_address]}
1142 - {get_attr: [Controller, resource.0.tenant_ip_address]}
1144 ControllerAllNodesValidationDeployment:
1145 type: OS::Heat::StructuredDeployments
1146 depends_on: ControllerAllNodesDeployment
1148 name: ControllerAllNodesValidationDeployment
1149 config: {get_resource: AllNodesValidationConfig}
1150 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1152 ComputeAllNodesValidationDeployment:
1153 type: OS::Heat::StructuredDeployments
1154 depends_on: ComputeAllNodesDeployment
1156 name: ComputeAllNodesValidationDeployment
1157 config: {get_resource: AllNodesValidationConfig}
1158 servers: {get_attr: [Compute, attributes, nova_server_resource]}
1160 BlockStorageAllNodesValidationDeployment:
1161 type: OS::Heat::StructuredDeployments
1162 depends_on: BlockStorageAllNodesDeployment
1164 name: BlockStorageAllNodesValidationDeployment
1165 config: {get_resource: AllNodesValidationConfig}
1166 servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
1168 ObjectStorageAllNodesValidationDeployment:
1169 type: OS::Heat::StructuredDeployments
1170 depends_on: ObjectStorageAllNodesDeployment
1172 name: ObjectStorageAllNodesValidationDeployment
1173 config: {get_resource: AllNodesValidationConfig}
1174 servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1176 CephStorageAllNodesValidationDeployment:
1177 type: OS::Heat::StructuredDeployments
1178 depends_on: CephStorageAllNodesDeployment
1180 name: CephStorageAllNodesValidationDeployment
1181 config: {get_resource: AllNodesValidationConfig}
1182 servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1185 type: OS::TripleO::Tasks::UpdateWorkflow
1187 controller_servers: {get_attr: [Controller, attributes, nova_server_resource]}
1188 compute_servers: {get_attr: [Compute, attributes, nova_server_resource]}
1189 blockstorage_servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
1190 objectstorage_servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1191 cephstorage_servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1193 deploy_identifier: {get_param: DeployIdentifier}
1194 update_identifier: {get_param: UpdateIdentifier}
1196 # Optional ExtraConfig for all nodes - all roles are passed in here, but
1197 # the nested template may configure each role differently (or not at all)
1198 AllNodesExtraConfig:
1199 type: OS::TripleO::AllNodesExtraConfig
1202 - ComputeAllNodesValidationDeployment
1203 - BlockStorageAllNodesValidationDeployment
1204 - ObjectStorageAllNodesValidationDeployment
1205 - CephStorageAllNodesValidationDeployment
1206 - ControllerAllNodesValidationDeployment
1208 controller_servers: {get_attr: [Controller, attributes, nova_server_resource]}
1209 compute_servers: {get_attr: [Compute, attributes, nova_server_resource]}
1210 blockstorage_servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
1211 objectstorage_servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1212 cephstorage_servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1214 # Nested stack deployment runs after all other controller deployments
1215 ControllerNodesPostDeployment:
1216 type: OS::TripleO::ControllerPostDeployment
1217 depends_on: [ControllerAllNodesDeployment, ControllerSwiftDeployment]
1219 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1220 RoleData: {get_attr: [ControllerServiceChain, role_data]}
1222 ComputeNodesPostDeployment:
1223 type: OS::TripleO::ComputePostDeployment
1224 depends_on: [ComputeAllNodesDeployment]
1226 servers: {get_attr: [Compute, attributes, nova_server_resource]}
1227 RoleData: {get_attr: [ComputeServiceChain, role_data]}
1229 ObjectStorageNodesPostDeployment:
1230 type: OS::TripleO::ObjectStoragePostDeployment
1231 depends_on: [ObjectStorageSwiftDeployment, ObjectStorageAllNodesDeployment]
1233 servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1234 RoleData: {get_attr: [ObjectStorageServiceChain, role_data]}
1236 BlockStorageNodesPostDeployment:
1237 type: OS::TripleO::BlockStoragePostDeployment
1238 depends_on: [ControllerNodesPostDeployment, BlockStorageAllNodesDeployment]
1240 servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
1241 RoleData: {get_attr: [BlockStorageServiceChain, role_data]}
1243 CephStorageNodesPostDeployment:
1244 type: OS::TripleO::CephStoragePostDeployment
1245 depends_on: [ControllerNodesPostDeployment, CephStorageAllNodesDeployment]
1247 servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1248 RoleData: {get_attr: [CephStorageServiceChain, role_data]}
1252 description: URL for the Overcloud Keystone service
1253 value: {get_attr: [EndpointMap, endpoint_map, KeystonePublic, uri]}
1255 description: Keystone Admin VIP endpoint
1256 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
1258 description: Controller VIP for public API endpoints
1259 value: {get_attr: [VipMap, net_ip_map, external]}
1261 description: VIP for Aodh API internal endpoint
1262 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
1263 CeilometerInternalVip:
1264 description: VIP for Ceilometer API internal endpoint
1265 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
1267 description: VIP for Cinder API internal endpoint
1268 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
1270 description: VIP for Glance API internal endpoint
1271 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
1273 description: VIP for Gnocchi API internal endpoint
1274 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
1276 description: VIP for Heat API internal endpoint
1277 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
1279 description: VIP for Ironic API internal endpoint
1280 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
1281 KeystoneInternalVip:
1282 description: VIP for Keystone API internal endpoint
1283 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
1285 description: VIP for Neutron API internal endpoint
1286 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
1288 description: VIP for Nova API internal endpoint
1289 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
1291 description: VIP for Sahara API internal endpoint
1292 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
1294 description: VIP for Swift Proxy internal endpoint
1295 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
1298 Mapping of the resources with the needed info for their endpoints.
1299 This includes the protocol used, the IP, port and also a full
1300 representation of the URI.
1301 value: {get_attr: [EndpointMap, endpoint_map]}
1304 The content that should be appended to your /etc/hosts if you want to get
1305 hostname-based access to the deployed nodes (useful for testing without
1307 value: {get_attr: [allNodesConfig, hosts_entries]}