1 heat_template_version: 2014-10-16
4 Nova API,Keystone,Heat Engine and API,Glance,Neutron,Dedicated MySQL
5 server,Dedicated RabbitMQ Server,Group of Nova Computes
8 # TODO(shadower): we should probably use the parameter groups to put
12 # Common parameters (not specific to a role)
15 description: The password for the keystone admin account, used for monitoring, querying neutron etc.
18 CeilometerMeteringSecret:
20 description: Secret shared by the ceilometer services.
25 description: The password for the ceilometer service account.
28 # This has to be an UUID so for now we generate it outside the template
32 description: The Ceph cluster FSID.
35 description: The Ceph monitors key.
39 description: The Ceph admin client key.
43 description: The DNS name of this cloud. E.g. ci-overcloud.tripleo.org
47 description: Should be used for arbitrary ips.
51 description: Set to True to enable debugging on all services.
53 DefaultSignalTransport:
55 description: Transport to use for software-config signals.
58 - allowed_values: [ CFN_SIGNAL, HEAT_SIGNAL, NO_SIGNAL ]
61 description: Glance port.
65 description: Protocol to use when connecting to glance, set to https for SSL.
68 default: 'REBUILD_PRESERVE_EPHEMERAL'
69 description: What policy to use when reconstructing instances. REBUILD for rebuilds, REBUILD_PRESERVE_EPHEMERAL to preserve /mnt.
73 description: Name of an existing EC2 KeyPair to enable SSH access to the instances
76 - custom_constraint: nova.keypair
77 NeutronBridgeMappings:
79 The OVS logical->physical bridge mappings to use. See the Neutron
80 documentation for details. Defaults to mapping br-ex - the external
81 bridge on hosts - to a physical name 'datacentre' which can be used
82 to create provider networks (and we use this for the default floating
83 network) - if changing this either use different post-install network
84 scripts or be sure to keep 'datacentre' as a mapping network name.
86 default: "datacentre:br-ex"
87 NeutronControlPlaneID:
90 description: Neutron ID for ctlplane network.
91 NeutronEnableTunnelling:
98 If set, flat networks to configure in neutron plugins. Defaults to
99 'datacentre' to permit external network creation.
102 description: The tenant network type for Neutron, either gre or vxlan.
106 description: The password for the neutron service account, used by neutron agents.
109 NeutronPublicInterface:
111 description: What interface to bridge onto br-ex for network nodes.
113 NeutronPublicInterfaceTag:
116 VLAN tag for creating a public VLAN. The tag will be used to
117 create an access port on the exterior bridge for each control plane node,
118 and that port will be given the IP address returned by neutron from the
119 public network. Set CONTROLEXTRA=overcloud-vlan-port.yaml when compiling
120 overcloud.yaml to include the deployment of VLAN ports to the control
123 NeutronComputeAgentMode:
125 description: Agent mode for the neutron-l3-agent on the compute hosts
129 description: Agent mode for the neutron-l3-agent on the controller hosts
133 description: Whether to configure Neutron Distributed Virtual Routers
135 NeutronMetadataProxySharedSecret:
137 description: Shared secret to prevent spoofing
142 The tunnel types for the Neutron tenant network. To specify multiple
143 values, use a comma separated string, like so: 'gre,vxlan'
145 NeutronMechanismDrivers:
146 default: 'openvswitch'
148 The mechanism drivers for the Neutron tenant network. To specify multiple
149 values, use a comma separated string, like so: 'openvswitch,l2_population'
151 NeutronAllowL3AgentFailover:
153 description: Allow automatic l3-agent failover
157 description: Whether to enable l3-agent HA
161 description: The password for the nova service account, used by nova-api.
167 PublicVirtualFixedIPs:
170 Control the IP allocation for the PublicVirtualInterface port. E.g.
171 [{'ip_address':'1.2.3.4'}]
173 PublicVirtualNetwork:
177 Neutron network to allocate public virtual IP port on.
181 description: Salt for the rabbit cookie, change this to force the randomly generated rabbit cookie to change.
184 description: The username for RabbitMQ
188 description: The password for RabbitMQ
194 Rabbit client subscriber parameter to specify
195 an SSL connection to the RabbitMQ host.
199 description: Set rabbit subscriber port, change this if using SSL
201 SnmpdReadonlyUserName:
202 default: ro_snmp_user
203 description: The user name for SNMPd with readonly rights running on all Overcloud nodes
205 SnmpdReadonlyUserPassword:
207 description: The user password for SNMPd with readonly rights running on all Overcloud nodes
211 # Controller-specific params
214 description: The keystone auth secret.
217 CinderLVMLoopDeviceSize:
219 description: The size of the loopback file used by the cinder LVM driver.
223 description: The password for the cinder service account, used by cinder-api.
228 description: The iSCSI helper to use with cinder.
233 controllerExtraConfig:
236 Controller specific configuration to inject into the cluster. Same
237 structure as ExtraConfig.
241 default: overcloud-control
243 - custom_constraint: glance.image
244 OvercloudControlFlavor:
245 description: Flavor for control nodes to request when deploying.
248 - custom_constraint: nova.flavor
249 ControlVirtualInterface:
251 description: Interface where virtual ip will be assigned.
256 Additional configuration to inject into the cluster. The JSON should have
257 the following structure:
260 [{"section": "SECTIONNAME",
262 [{"option": "OPTIONNAME",
273 [{"section": "default",
275 [{"option": "force_config_drive",
282 [{"option": "driver",
283 "value": "nova.cells.rpc_driver.CellsRPCDriver"
292 description: The filepath of the file to use for logging messages from Glance.
295 GlanceNotifierStrategy:
296 description: Strategy to use for Glance notification queue
301 description: The password for the glance service account, used by the glance services.
306 description: The password for the Heat service account, used by the Heat services.
309 HeatStackDomainAdminPassword:
310 description: Password for heat_domain_admin user.
314 KeystoneCACertificate:
316 description: Keystone self-signed certificate authority certificate.
318 KeystoneSigningCertificate:
320 description: Keystone certificate for verifying token validity.
324 description: Keystone key for signing tokens.
327 KeystoneSSLCertificate:
329 description: Keystone certificate for verifying token validity.
331 KeystoneSSLCertificateKey:
333 description: Keystone key for signing tokens.
336 MysqlInnodbBufferPoolSize:
338 Specifies the size of the buffer pool in megabytes. Setting to
339 zero should be interpreted as "no value" and will defer to the
343 NeutronDnsmasqOptions:
344 default: 'dhcp-option-force=26,1400'
345 description: Dnsmasq options for neutron-dhcp-agent. The default value here forces MTU to be set to 1400 to account for the tunnel overhead.
347 NeutronPublicInterfaceDefaultRoute:
349 description: A custom default route for the NeutronPublicInterface.
351 NeutronPublicInterfaceIP:
353 description: A custom IP address to put onto the NeutronPublicInterface.
355 NeutronPublicInterfaceRawDevice:
357 description: If set, the public interface is a vlan with this device as the raw device.
359 PublicVirtualInterface:
362 Specifies the interface where the public-facing virtual ip will be assigned.
363 This should be int_public when a VLAN is being used.
367 description: If set, the contents of an SSL certificate .crt file for encrypting SSL endpoints.
372 description: If set, the contents of an SSL certificate .key file for encrypting SSL endpoints.
377 description: If set, the contents of an SSL certificate authority file.
381 description: A random string to be used as a salt when hashing to determine mappings in the ring.
386 description: The password for the swift service account, used by the swift proxy services.
391 description: Value of mount_check in Swift account/container/object -server.conf
396 description: The minimum time (in hours) before a partition in a ring can be moved following a rebalance.
399 description: Partition Power to use when building Swift rings
404 description: How many replicas to use in the swift rings.
406 # Compute-specific params
407 CeilometerComputeAgent:
408 description: Indicates whether the Compute agent is present and expects nova-compute to be configured accordingly
412 - allowed_values: ['', Present]
416 HypervisorNeutronPhysicalBridge:
419 An OVS bridge to create on each hypervisor. This defaults to br-ex the
420 same as the control plane nodes, as we have a uniform configuration of
421 the openvswitch agent. Typically should not need to be changed.
423 HypervisorNeutronPublicInterface:
425 description: What interface to add to the HypervisorNeutronPhysicalBridge.
427 NeutronNetworkVLANRanges:
428 default: 'datacentre'
430 The Neutron ML2 and OpenVSwitch vlan mapping range to support. See the
431 Neutron documentation for permitted values. Defaults to permitting any
432 VLAN on the 'datacentre' physical network (See NeutronBridgeMappings).
436 default: libvirt.LibvirtDriver
437 NovaComputeExtraConfig:
440 NovaCompute specific configuration to inject into the cluster. Same
441 structure as ExtraConfig.
443 NovaComputeLibvirtType:
448 default: overcloud-compute
450 - custom_constraint: glance.image
451 OvercloudComputeFlavor:
452 description: Use this flavor
455 - custom_constraint: nova.flavor
457 # Block storage specific parameters
462 default: overcloud-cinder-volume
464 OvercloudBlockStorageFlavor:
465 description: Flavor for block storage nodes to request when deploying.
468 - custom_constraint: nova.flavor
470 # Object storage specific parameters
474 OvercloudSwiftStorageFlavor:
475 description: Flavor for Swift storage nodes to request when deploying.
478 - custom_constraint: nova.flavor
480 default: overcloud-swift-storage
483 # Ceph storage specific parameters
488 default: overcloud-ceph-storage
490 OvercloudCephStorageFlavor:
492 description: Flavor for Ceph storage nodes to request when deploying.
495 - custom_constraint: nova.flavor
500 type: OS::Heat::ResourceGroup
502 count: {get_param: ControllerCount}
504 type: OS::TripleO::Controller
506 AdminPassword: {get_param: AdminPassword}
507 AdminToken: {get_param: AdminToken}
508 CeilometerMeteringSecret: {get_param: CeilometerMeteringSecret}
509 CeilometerPassword: {get_param: CeilometerPassword}
510 CinderLVMLoopDeviceSize: {get_param: CinderLVMLoopDeviceSize}
511 CinderPassword: {get_param: CinderPassword}
512 CinderISCSIHelper: {get_param: CinderISCSIHelper}
513 CloudName: {get_param: CloudName}
514 ControlVirtualInterface: {get_param: ControlVirtualInterface}
515 ControllerExtraConfig: {get_param: controllerExtraConfig}
516 ExtraConfig: {get_param: ExtraConfig}
517 Flavor: {get_param: OvercloudControlFlavor}
518 GlancePort: {get_param: GlancePort}
519 GlanceProtocol: {get_param: GlanceProtocol}
520 GlancePassword: {get_param: GlancePassword}
521 GlanceNotifierStrategy: {get_param: GlanceNotifierStrategy}
522 GlanceLogFile: {get_param: GlanceLogFile}
523 HeatPassword: {get_param: HeatPassword}
524 HeatStackDomainAdminPassword: {get_param: HeatStackDomainAdminPassword}
525 Image: {get_param: controllerImage}
526 ImageUpdatePolicy: {get_param: ImageUpdatePolicy}
527 KeyName: {get_param: KeyName}
528 KeystoneCACertificate: {get_param: KeystoneCACertificate}
529 KeystoneSigningCertificate: {get_param: KeystoneSigningCertificate}
530 KeystoneSigningKey: {get_param: KeystoneSigningKey}
531 KeystoneSSLCertificate: {get_param: KeystoneSSLCertificate}
532 KeystoneSSLCertificateKey: {get_param: KeystoneSSLCertificateKey}
533 MysqlClusterUniquePart: {get_attr: [MysqlClusterUniquePart, value]}
534 MysqlInnodbBufferPoolSize: {get_param: MysqlInnodbBufferPoolSize}
535 MysqlRootPassword: {get_attr: [MysqlRootPassword, value]}
536 NeutronPublicInterfaceIP: {get_param: NeutronPublicInterfaceIP}
537 NeutronFlatNetworks: {get_param: NeutronFlatNetworks}
538 NeutronBridgeMappings: {get_param: NeutronBridgeMappings}
539 NeutronNetworkVLANRanges: {get_param: NeutronNetworkVLANRanges}
540 NeutronPublicInterface: {get_param: NeutronPublicInterface}
541 NeutronPublicInterfaceDefaultRoute: {get_param: NeutronPublicInterfaceDefaultRoute}
542 NeutronPublicInterfaceRawDevice: {get_param: NeutronPublicInterfaceRawDevice}
543 NeutronPassword: {get_param: NeutronPassword}
544 NeutronDnsmasqOptions: {get_param: NeutronDnsmasqOptions}
545 NeutronDVR: {get_param: NeutronDVR}
546 NeutronMetadataProxySharedSecret: {get_param: NeutronMetadataProxySharedSecret}
547 NeutronAgentMode: {get_param: NeutronAgentMode}
548 NeutronMechanismDrivers: {get_param: NeutronMechanismDrivers}
549 NeutronAllowL3AgentFailover: {get_param: NeutronAllowL3AgentFailover}
550 NeutronL3HA: {get_param: NeutronL3HA}
551 NeutronNetworkType: {get_param: NeutronNetworkType}
552 NeutronTunnelTypes: {get_param: NeutronTunnelTypes}
553 NovaPassword: {get_param: NovaPassword}
554 NtpServer: {get_param: NtpServer}
555 PublicVirtualInterface: {get_param: PublicVirtualInterface}
556 RabbitUserName: {get_param: RabbitUserName}
557 RabbitPassword: {get_param: RabbitPassword}
558 RabbitCookie: {get_attr: [RabbitCookie, value]}
559 RabbitClientUseSSL: {get_param: RabbitClientUseSSL}
560 RabbitClientPort: {get_param: RabbitClientPort}
561 SnmpdReadonlyUserName: {get_param: SnmpdReadonlyUserName}
562 SnmpdReadonlyUserPassword: {get_param: SnmpdReadonlyUserPassword}
563 SSLCertificate: {get_param: SSLCertificate}
564 SSLKey: {get_param: SSLKey}
565 SSLCACertificate: {get_param: SSLCACertificate}
566 SwiftHashSuffix: {get_param: SwiftHashSuffix}
567 SwiftMountCheck: {get_param: SwiftMountCheck}
568 SwiftMinPartHours: {get_param: SwiftMinPartHours}
569 SwiftPartPower: {get_param: SwiftPartPower}
570 SwiftPassword: {get_param: SwiftPassword}
571 SwiftReplicas: { get_param: SwiftReplicas}
572 VirtualIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
573 PublicVirtualIP: {get_attr: [PublicVirtualIP, fixed_ips, 0, ip_address]}
576 type: OS::Heat::ResourceGroup
578 count: {get_param: ComputeCount}
580 type: OS::TripleO::Compute
582 AdminPassword: {get_param: AdminPassword}
583 CeilometerComputeAgent: {get_param: CeilometerComputeAgent}
584 CeilometerMeteringSecret: {get_param: CeilometerMeteringSecret}
585 CeilometerPassword: {get_param: CeilometerPassword}
586 ExtraConfig: {get_param: ExtraConfig}
587 Flavor: {get_param: OvercloudComputeFlavor}
588 GlanceHost: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
589 GlancePort: {get_param: GlancePort}
590 GlanceProtocol: {get_param: GlanceProtocol}
591 Image: {get_param: NovaImage}
592 ImageUpdatePolicy: {get_param: ImageUpdatePolicy}
593 KeyName: {get_param: KeyName}
594 KeystoneHost: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
595 NeutronBridgeMappings: {get_param: NeutronBridgeMappings}
596 NeutronEnableTunnelling: {get_param: NeutronEnableTunnelling}
597 NeutronFlatNetworks: {get_param: NeutronFlatNetworks}
598 NeutronHost: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
599 NeutronNetworkType: {get_param: NeutronNetworkType}
600 NeutronTunnelTypes: {get_param: NeutronTunnelTypes}
601 NeutronNetworkVLANRanges: {get_param: NeutronNetworkVLANRanges}
602 NeutronPassword: {get_param: NeutronPassword}
603 NeutronPhysicalBridge: {get_param: HypervisorNeutronPhysicalBridge}
604 NeutronPublicInterface: {get_param: HypervisorNeutronPublicInterface}
605 NeutronDVR: {get_param: NeutronDVR}
606 NeutronMetadataProxySharedSecret: {get_param: NeutronMetadataProxySharedSecret}
607 NeutronAgentMode: {get_param: NeutronComputeAgentMode}
608 NeutronPublicInterfaceRawDevice: {get_param: NeutronPublicInterfaceRawDevice}
609 NeutronMechanismDrivers: {get_param: NeutronMechanismDrivers}
610 NeutronAllowL3AgentFailover: {get_param: NeutronAllowL3AgentFailover}
611 NeutronL3HA: {get_param: NeutronL3HA}
612 NovaApiHost: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
613 NovaComputeDriver: {get_param: NovaComputeDriver}
614 NovaComputeExtraConfig: {get_param: NovaComputeExtraConfig}
615 NovaComputeLibvirtType: {get_param: NovaComputeLibvirtType}
616 NovaPublicIP: {get_attr: [PublicVirtualIP, fixed_ips, 0, ip_address]}
617 NovaPassword: {get_param: NovaPassword}
618 NtpServer: {get_param: NtpServer}
619 RabbitHost: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
620 RabbitPassword: {get_param: RabbitPassword}
621 RabbitUserName: {get_param: RabbitUserName}
622 SnmpdReadonlyUserName: {get_param: SnmpdReadonlyUserName}
623 SnmpdReadonlyUserPassword: {get_param: SnmpdReadonlyUserPassword}
626 type: OS::Heat::ResourceGroup
628 count: {get_param: BlockStorageCount}
630 type: OS::TripleO::BlockStorage
632 Image: {get_param: BlockStorageImage}
633 CinderISCSIHelper: {get_param: CinderISCSIHelper}
634 CinderLVMLoopDeviceSize: {get_param: CinderLVMLoopDeviceSize}
635 VirtualIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
636 KeyName: {get_param: KeyName}
637 Flavor: {get_param: OvercloudBlockStorageFlavor}
638 RabbitPassword: {get_param: RabbitPassword}
639 RabbitUserName: {get_param: RabbitUserName}
640 NtpServer: {get_param: NtpServer}
643 type: OS::Heat::ResourceGroup
645 count: {get_param: ObjectStorageCount}
647 type: OS::TripleO::ObjectStorage
649 KeyName: {get_param: KeyName}
650 Flavor: {get_param: OvercloudSwiftStorageFlavor}
651 HashSuffix: {get_param: SwiftHashSuffix}
652 MountCheck: {get_param: SwiftMountCheck}
653 MinPartHours: {get_param: SwiftMinPartHours}
654 PartPower: {get_param: SwiftPartPower}
655 Image: {get_param: SwiftStorageImage}
656 Replicas: { get_param: SwiftReplicas}
657 NtpServer: {get_param: NtpServer}
660 type: OS::Heat::ResourceGroup
662 count: {get_param: CephStorageCount}
664 type: OS::TripleO::CephStorage
666 Image: {get_param: CephStorageImage}
667 KeyName: {get_param: KeyName}
668 Flavor: {get_param: OvercloudCephStorageFlavor}
669 NtpServer: {get_param: NtpServer}
672 type: OS::TripleO::AllNodes::SoftwareConfig
674 compute_hosts: {get_attr: [Compute, hosts_entry]}
675 controller_hosts: {get_attr: [Controller, hosts_entry]}
676 block_storage_hosts: {get_attr: [BlockStorage, hosts_entry]}
677 object_storage_hosts: {get_attr: [ObjectStorage, hosts_entry]}
678 ceph_storage_hosts: {get_attr: [CephStorage, hosts_entry]}
679 controller_names: {get_attr: [Controller, hostname]}
682 type: OS::Heat::RandomString
686 MysqlClusterUniquePart:
687 type: OS::Heat::RandomString
692 type: OS::Heat::RandomString
695 salt: {get_param: RabbitCookieSalt}
698 type: OS::Neutron::Port
700 name: control_virtual_ip
701 network_id: {get_param: NeutronControlPlaneID}
702 fixed_ips: {get_param: ControlFixedIPs}
703 replacement_policy: AUTO
706 type: OS::Neutron::Port
708 name: public_virtual_ip
709 network: {get_param: PublicVirtualNetwork}
710 fixed_ips: {get_param: PublicVirtualFixedIPs}
711 replacement_policy: AUTO
713 ControllerBootstrapNodeConfig:
714 type: OS::TripleO::BootstrapNode::SoftwareConfig
716 bootstrap_nodeid: {get_attr: [Controller, resource.0.hostname]}
718 ControllerBootstrapNodeDeployment:
719 type: OS::Heat::StructuredDeployments
721 config: {get_attr: [ControllerBootstrapNodeConfig, config_id]}
722 servers: {get_attr: [Controller, attributes, nova_server_resource]}
723 signal_transport: NO_SIGNAL
725 ControllerSwiftDeployment:
726 type: OS::Heat::StructuredDeployments
728 config: {get_attr: [SwiftDevicesAndProxyConfig, config_id]}
729 servers: {get_attr: [Controller, attributes, nova_server_resource]}
730 signal_transport: NO_SIGNAL
732 ObjectStorageSwiftDeployment:
733 type: OS::Heat::StructuredDeployments
735 config: {get_attr: [SwiftDevicesAndProxyConfig, config_id]}
736 servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
737 signal_transport: NO_SIGNAL
739 SwiftDevicesAndProxyConfig:
740 type: OS::TripleO::SwiftDevicesAndProxy::SoftwareConfig
742 controller_swift_devices: {get_attr: [Controller, swift_device]}
743 object_store_swift_devices: {get_attr: [ObjectStorage, swift_device]}
744 controller_swift_proxy_memcaches: {get_attr: [Controller, swift_proxy_memcache]}
746 ControllerCephDeployment:
747 type: OS::Heat::StructuredDeployments
749 config: {get_attr: [CephClusterConfig, config_id]}
750 servers: {get_attr: [Controller, attributes, nova_server_resource]}
752 CephStorageCephDeployment:
753 type: OS::Heat::StructuredDeployments
755 config: {get_attr: [CephClusterConfig, config_id]}
756 servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
759 type: OS::TripleO::CephClusterConfig::SoftwareConfig
761 ceph_fsid: {get_param: CephClusterFSID}
762 ceph_mon_key: {get_param: CephMonKey}
763 ceph_admin_key: {get_param: CephAdminKey}
764 ceph_mon_names: {get_attr: [Controller, hostname]}
765 ceph_mon_ips: {get_attr: [Controller, ip_address]}
767 ControllerClusterConfig:
768 type: OS::Heat::StructuredConfig
772 nodes: {get_attr: [Controller, corosync_node]}
776 nodes: {get_attr: [Controller, hostname]}
778 nodes: {get_attr: [Controller, corosync_node]}
780 nodes: {get_attr: [Controller, corosync_node]}
782 ControllerClusterDeployment:
783 type: OS::Heat::StructuredDeployments
785 config: {get_resource: ControllerClusterConfig}
786 servers: {get_attr: [Controller, attributes, nova_server_resource]}
787 signal_transport: NO_SIGNAL
789 ControllerAllNodesDeployment:
790 type: OS::Heat::StructuredDeployments
792 config: {get_attr: [allNodesConfig, config_id]}
793 servers: {get_attr: [Controller, attributes, nova_server_resource]}
795 ComputeAllNodesDeployment:
796 type: OS::Heat::StructuredDeployments
798 config: {get_attr: [allNodesConfig, config_id]}
799 servers: {get_attr: [Compute, attributes, nova_server_resource]}
801 BlockStorageAllNodesDeployment:
802 type: OS::Heat::StructuredDeployments
804 config: {get_attr: [allNodesConfig, config_id]}
805 servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
807 ObjectStorageAllNodesDeployment:
808 type: OS::Heat::StructuredDeployments
810 config: {get_attr: [allNodesConfig, config_id]}
811 servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
813 CephStorageAllNodesDeployment:
814 type: OS::Heat::StructuredDeployments
816 config: {get_attr: [allNodesConfig, config_id]}
817 servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
819 # Nested stack deployment runs after all other controller deployments
820 ControllerNodesPostDeployment:
821 type: OS::TripleO::ControllerPostDeployment
822 depends_on: [ControllerBootstrapNodeDeployment, ControllerAllNodesDeployment, ControllerSwiftDeployment, ControllerCephDeployment]
824 servers: {get_attr: [Controller, attributes, nova_server_resource]}
826 ComputeNodesPostDeployment:
827 type: OS::TripleO::ComputePostDeployment
828 depends_on: ComputeAllNodesDeployment
830 servers: {get_attr: [Compute, attributes, nova_server_resource]}
832 ObjectStorageNodesPostDeployment:
833 type: OS::TripleO::ObjectStoragePostDeployment
834 depends_on: [ObjectStorageSwiftDeployment, ObjectStorageAllNodesDeployment]
836 servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
838 BlockStorageNodesPostDeployment:
839 type: OS::TripleO::BlockStoragePostDeployment
840 depends_on: BlockStorageAllNodesDeployment
842 servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
844 CephStorageNodesPostDeployment:
845 type: OS::TripleO::CephStoragePostDeployment
846 depends_on: [ControllerNodesPostDeployment, CephStorageCephDeployment, CephStorageAllNodesDeployment]
848 servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
852 description: URL for the Overcloud Keystone service
857 - {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}