1 heat_template_version: 2016-04-08
4 Deploy an OpenStack environment, consisting of several node types (roles),
5 Controller, Compute, BlockStorage, SwiftStorage and CephStorage. The Storage
6 roles enable independent scaling of the storage components, but the minimal
7 deployment is one Controller and one Compute node.
10 # TODO(shadower): we should probably use the parameter groups to put
14 # Common parameters (not specific to a role)
16 description: The password for the keystone admin account, used for monitoring, querying neutron etc.
20 description: The password for the aodh services.
25 description: The ceilometer backend type.
27 CeilometerMeteringSecret:
28 description: Secret shared by the ceilometer services.
32 description: The password for the ceilometer service account.
35 CeilometerMeterDispatcher:
37 description: Dispatcher to process meter data
40 - allowed_values: ['gnocchi', 'database']
41 # This has to be an UUID so for now we generate it outside the template
45 description: The Ceph cluster FSID. Must be a UUID.
48 description: The Ceph monitors key. Can be created with ceph-authtool --gen-print-key.
53 description: The Ceph admin client key. Can be created with ceph-authtool --gen-print-key.
56 CinderEnableNfsBackend:
58 description: Whether to enable or not the NFS backend for Cinder
62 description: The Ceph client key. Can be created with ceph-authtool --gen-print-key. Currently only used for external Ceph deployments to create the openstack user keyring.
68 description: List of externally managed Ceph Mon Host IPs. Only used for external Ceph deployments.
69 CinderEnableRbdBackend:
71 description: Whether to enable or not the Rbd backend for Cinder
75 description: The DNS name of this cloud. E.g. ci-overcloud.tripleo.org
79 description: Should be used for arbitrary ips.
83 description: Enable IPv6 in Corosync
87 description: Set to True to enable debugging on all services.
91 description: Syslog address where HAproxy will send its log
95 description: A list of IP/Hostname allowed to connect to horizon
96 type: comma_delimited_list
98 default: 'REBUILD_PRESERVE_EPHEMERAL'
99 description: What policy to use when reconstructing instances. REBUILD for rebuilds, REBUILD_PRESERVE_EPHEMERAL to preserve /mnt.
101 InternalApiVirtualFixedIPs:
104 Control the IP allocation for the InternalApiVirtualInterface port. E.g.
105 [{'ip_address':'1.2.3.4'}]
109 description: Name of an existing Nova key pair to enable SSH access to the instances
112 - custom_constraint: nova.keypair
115 description: Enable IPv6 features in Memcached.
117 NeutronBridgeMappings:
119 The OVS logical->physical bridge mappings to use. See the Neutron
120 documentation for details. Defaults to mapping br-ex - the external
121 bridge on hosts - to a physical name 'datacentre' which can be used
122 to create provider networks (and we use this for the default floating
123 network) - if changing this either use different post-install network
124 scripts or be sure to keep 'datacentre' as a mapping network name.
125 type: comma_delimited_list
126 default: "datacentre:br-ex"
127 NeutronControlPlaneID:
130 description: Neutron ID or name for ctlplane network.
131 NeutronEnableTunnelling:
137 Enable/disable the L2 population feature in the Neutron agents.
140 type: comma_delimited_list
141 default: 'datacentre'
143 If set, flat networks to configure in neutron plugins. Defaults to
144 'datacentre' to permit external network creation.
147 description: The tenant network type for Neutron.
148 type: comma_delimited_list
150 description: The password for the neutron service account, used by neutron agents.
153 NeutronPublicInterface:
155 description: What interface to bridge onto br-ex for network nodes.
157 NeutronMetadataProxySharedSecret:
158 description: Shared secret to prevent spoofing
163 The default MTU for tenant networks. For VXLAN/GRE tunneling, this should
164 be at least 50 bytes smaller than the MTU on the physical network. This
165 value will be used to set the MTU on the virtual Ethernet device.
166 This value will be used to construct the NeutronDnsmasqOptions, since that
167 will determine the MTU that is assigned to the VM host through DHCP.
173 The tunnel types for the Neutron tenant network.
174 type: comma_delimited_list
175 type: comma_delimited_list
179 The core plugin for Neutron. The value should be the entrypoint to be loaded
180 from neutron.core_plugins namespace.
182 NeutronServicePlugins:
183 default: "router,qos"
185 Comma-separated list of service plugin entrypoints to be loaded from the
186 neutron.service_plugins namespace.
187 type: comma_delimited_list
189 default: "vxlan,vlan,flat,gre"
191 Comma-separated list of network type driver entrypoints to be loaded.
192 type: comma_delimited_list
193 NeutronMechanismDrivers:
194 default: 'openvswitch'
196 The mechanism drivers for the Neutron tenant network.
197 type: comma_delimited_list
198 type: comma_delimited_list
199 NeutronAgentExtensions:
202 Comma-separated list of extensions enabled for the Neutron agents.
203 type: comma_delimited_list
204 NeutronAllowL3AgentFailover:
206 description: Allow automatic l3-agent failover
210 description: Whether to enable l3-agent HA
214 description: Enable IPv6 features in Nova
217 description: The password for the nova service account, used by nova-api.
220 PublicVirtualFixedIPs:
223 Control the IP allocation for the PublicVirtualInterface port. E.g.
224 [{'ip_address':'1.2.3.4'}]
229 description: Salt for the rabbit cookie, change this to force the randomly generated rabbit cookie to change.
232 description: The username for RabbitMQ
235 description: The password for RabbitMQ
241 Rabbit client subscriber parameter to specify
242 an SSL connection to the RabbitMQ host.
246 description: Set rabbit subscriber port, change this if using SSL
249 description: The password for Redis
252 StorageVirtualFixedIPs:
255 Control the IP allocation for the StorageVirtualInterface port. E.g.
256 [{'ip_address':'1.2.3.4'}]
258 StorageMgmtVirtualFixedIPs:
261 Control the IP allocation for the StorageMgmgVirtualInterface port. E.g.
262 [{'ip_address':'1.2.3.4'}]
265 default: 'localdomain'
268 The DNS domain used for the hosts. This should match the dhcp_domain
269 configured in the Undercloud neutron. Defaults to localdomain.
273 Extra properties or metadata passed to Nova for the created nodes in
274 the overcloud. It's accessible via the Nova metadata API.
277 # Controller-specific params
283 controllerExtraConfig:
286 Deprecated. Use ControllerExtraConfig via parameter_defaults instead.
290 default: overcloud-full
292 - custom_constraint: glance.image
293 OvercloudControlFlavor:
294 description: Flavor for control nodes to request when deploying.
298 - custom_constraint: nova.flavor
299 ControlVirtualInterface:
301 description: Interface where virtual ip will be assigned.
305 description: Whether to enable fencing in Pacemaker or not.
309 description: Whether to use Galera instead of regular MariaDB.
311 ControllerEnableCephStorage:
313 description: Whether to deploy Ceph Storage (OSD) on the Controller
315 ControllerSchedulerHints:
317 description: Optional scheduler hints to pass to nova
322 Additional configuration to inject into the cluster. The format required
323 may be implementation specific, e.g puppet hieradata. Any role specific
324 ExtraConfig, e.g controllerExtraConfig takes precedence over ExtraConfig.
329 Pacemaker fencing configuration. The JSON should have
330 the following structure:
334 "agent": "AGENT_NAME",
335 "host_mac": "HOST_MAC_ADDRESS",
336 "params": {"PARAM_NAME": "PARAM_VALUE"}
344 "agent": "fence_xvm",
345 "host_mac": "52:54:00:aa:bb:cc",
347 "multicast_address": "225.0.0.12",
348 "port": "baremetal_0",
350 "manage_key_file": true,
351 "key_file": "/etc/fence_xvm.key",
352 "key_file_password": "abcdef"
360 description: The short name of the Gnocchi backend to use. Should be one
361 of swift, rbd or file
364 - allowed_values: ['swift', 'file', 'rbd']
365 GnocchiIndexerBackend:
367 description: The short name of the Gnocchi indexer backend to use.
370 description: The password for the gnocchi service account.
373 InstanceNameTemplate:
374 default: 'instance-%08x'
375 description: Template string to be used to generate instance names
379 description: Whether to manage IPtables rules.
383 description: Whether IPtables rules should be purged before setting up the ones.
385 MysqlInnodbBufferPoolSize:
387 Specifies the size of the buffer pool in megabytes. Setting to
388 zero should be interpreted as "no value" and will defer to the
393 description: Configures MySQL max_connections config setting
396 PublicVirtualInterface:
399 Specifies the interface where the public-facing virtual ip will be assigned.
400 This should be int_public when a VLAN is being used.
403 description: A random string to be used as a salt when hashing to determine mappings in the ring.
409 description: The minimum time (in hours) before a partition in a ring can be moved following a rebalance.
412 description: Partition Power to use when building Swift rings
417 description: How many replicas to use in the swift rings.
419 # Compute-specific params
420 CeilometerComputeAgent:
421 description: Indicates whether the Compute agent is present and expects nova-compute to be configured accordingly
425 - allowed_values: ['', Present]
429 HypervisorNeutronPhysicalBridge:
432 An OVS bridge to create on each hypervisor. This defaults to br-ex the
433 same as the control plane nodes, as we have a uniform configuration of
434 the openvswitch agent. Typically should not need to be changed.
436 HypervisorNeutronPublicInterface:
438 description: What interface to add to the HypervisorNeutronPhysicalBridge.
440 NeutronNetworkVLANRanges:
441 default: 'datacentre:1:1000'
443 The Neutron ML2 and OpenVSwitch vlan mapping range to support. See the
444 Neutron documentation for permitted values. Defaults to permitting any
445 VLAN on the 'datacentre' physical network (See NeutronBridgeMappings).
446 type: comma_delimited_list
449 default: libvirt.LibvirtDriver
450 NovaComputeExtraConfig:
453 NovaCompute specific configuration to inject into the cluster. Same
454 structure as ExtraConfig.
456 NovaComputeLibvirtType:
459 NovaComputeLibvirtVifDriver:
461 description: Libvirt VIF driver configuration for the network
463 NovaComputeSchedulerHints:
465 description: Optional scheduler hints to pass to nova
467 NovaEnableRbdBackend:
469 description: Whether to enable or not the Rbd backend for Nova
473 default: overcloud-full
475 - custom_constraint: glance.image
478 description: Name of integration bridge used by Open vSwitch
480 NovaSecurityGroupAPI:
482 description: The full class name of the security API class
484 OvercloudComputeFlavor:
485 description: Use this flavor
489 - custom_constraint: nova.flavor
492 NeutronTenantNetwork: tenant
493 CeilometerApiNetwork: internal_api
494 AodhApiNetwork: internal_api
495 GnocchiApiNetwork: internal_api
496 MongoDbNetwork: internal_api
497 CinderApiNetwork: internal_api
498 CinderIscsiNetwork: storage
499 GlanceApiNetwork: storage
500 GlanceRegistryNetwork: internal_api
501 IronicApiNetwork: internal_api
502 KeystoneAdminApiNetwork: ctlplane # allows undercloud to config endpoints
503 KeystonePublicApiNetwork: internal_api
504 NeutronApiNetwork: internal_api
505 HeatApiNetwork: internal_api
506 NovaApiNetwork: internal_api
507 NovaMetadataNetwork: internal_api
508 NovaVncProxyNetwork: internal_api
509 SwiftMgmtNetwork: storage_mgmt
510 SwiftProxyNetwork: storage
511 SaharaApiNetwork: internal_api
512 HorizonNetwork: internal_api
513 MemcachedNetwork: internal_api
514 RabbitMqNetwork: internal_api
515 RedisNetwork: internal_api
516 MysqlNetwork: internal_api
517 CephClusterNetwork: storage_mgmt
518 CephPublicNetwork: storage
519 ControllerHostnameResolveNetwork: internal_api
520 ComputeHostnameResolveNetwork: internal_api
521 BlockStorageHostnameResolveNetwork: internal_api
522 ObjectStorageHostnameResolveNetwork: internal_api
523 CephStorageHostnameResolveNetwork: storage
524 description: Mapping of service_name -> network name. Typically set
525 via parameter_defaults in the resource registry.
530 - OS::TripleO::Services::CinderApi
531 - OS::TripleO::Services::CinderScheduler
532 - OS::TripleO::Services::CinderVolume
533 - OS::TripleO::Services::Keystone
534 - OS::TripleO::Services::GlanceApi
535 - OS::TripleO::Services::GlanceRegistry
536 - OS::TripleO::Services::HeatApi
537 - OS::TripleO::Services::HeatApiCfn
538 - OS::TripleO::Services::HeatApiCloudwatch
539 - OS::TripleO::Services::HeatEngine
540 - OS::TripleO::Services::NeutronDhcpAgent
541 - OS::TripleO::Services::NeutronL3Agent
542 - OS::TripleO::Services::NeutronMetadataAgent
543 - OS::TripleO::Services::NeutronServer
544 - OS::TripleO::Services::NeutronCorePlugin
545 - OS::TripleO::Services::NeutronOvsAgent
546 - OS::TripleO::Services::RabbitMQ
547 - OS::TripleO::Services::HAproxy
548 - OS::TripleO::Services::Keepalived
549 - OS::TripleO::Services::Memcached
550 - OS::TripleO::Services::Redis
551 - OS::TripleO::Services::NovaConductor
552 - OS::TripleO::Services::MongoDb
553 - OS::TripleO::Services::NovaApi
554 - OS::TripleO::Services::NovaScheduler
555 - OS::TripleO::Services::NovaConsoleauth
556 - OS::TripleO::Services::NovaVncproxy
557 - OS::TripleO::Services::Ntp
558 - OS::TripleO::Services::SwiftProxy
559 - OS::TripleO::Services::SwiftStorage
560 - OS::TripleO::Services::Snmp
561 - OS::TripleO::Services::Timezone
562 description: A list of service resources (configured in the Heat
563 resource_registry) which represent nested stacks
564 for each service that should get installed on the Controllers.
565 type: comma_delimited_list
569 - OS::TripleO::Services::Timezone
570 - OS::TripleO::Services::Ntp
571 - OS::TripleO::Services::Snmp
572 - OS::TripleO::Services::NovaCompute
573 - OS::TripleO::Services::NovaLibvirt
574 description: A list of service resources (configured in the Heat
575 resource_registry) which represent nested stacks
576 for each service that should get installed on the Compute Nodes.
577 type: comma_delimited_list
579 # Block storage specific parameters
584 default: overcloud-full
586 OvercloudBlockStorageFlavor:
587 description: Flavor for block storage nodes to request when deploying.
591 - custom_constraint: nova.flavor
592 BlockStorageExtraConfig:
595 BlockStorage specific configuration to inject into the cluster. Same
596 structure as ExtraConfig.
598 BlockStorageSchedulerHints:
600 description: Optional scheduler hints to pass to nova
602 BlockStorageServices:
604 - OS::TripleO::Services::CinderVolume
605 - OS::TripleO::Services::Ntp
606 - OS::TripleO::Services::Timezone
607 description: A list of service resources (configured in the Heat
608 resource_registry) which represent nested stacks
609 for each service that should get installed on the BlockStorage nodes.
610 type: comma_delimited_list
612 # Object storage specific parameters
616 OvercloudSwiftStorageFlavor:
617 description: Flavor for Swift storage nodes to request when deploying.
621 - custom_constraint: nova.flavor
623 default: overcloud-full
625 ObjectStorageExtraConfig:
628 ObjectStorage specific configuration to inject into the cluster. Same
629 structure as ExtraConfig.
631 ObjectStorageSchedulerHints:
633 description: Optional scheduler hints to pass to nova
635 ObjectStorageServices:
637 - OS::TripleO::Services::Ntp
638 - OS::TripleO::Services::SwiftStorage
639 - OS::TripleO::Services::Snmp
640 - OS::TripleO::Services::Timezone
641 description: A list of service resources (configured in the Heat
642 resource_registry) which represent nested stacks
643 for each service that should get installed on the ObjectStorage nodes.
644 Note this role currently only supports steps 2, 3 and 4 configuration.
645 type: comma_delimited_list
648 # Ceph storage specific parameters
653 default: overcloud-full
655 OvercloudCephStorageFlavor:
657 description: Flavor for Ceph storage nodes to request when deploying.
660 - custom_constraint: nova.flavor
661 CephStorageExtraConfig:
664 CephStorage specific configuration to inject into the cluster. Same
665 structure as ExtraConfig.
667 CephStorageSchedulerHints:
669 description: Optional scheduler hints to pass to nova
673 - OS::TripleO::Services::Ntp
674 - OS::TripleO::Services::Timezone
675 description: A list of service resources (configured in the Heat
676 resource_registry) which represent nested stacks
677 for each service that should get installed on the CephStorage nodes.
678 type: comma_delimited_list
680 # Hostname format for each role
681 # Note %index% is translated into the index of the node, e.g 0/1/2 etc
682 # and %stackname% is replaced with OS::stack_name in the template below.
683 # If you want to use the heat generated names, pass '' (empty string).
684 ControllerHostnameFormat:
686 description: Format for Controller node hostnames
687 default: '%stackname%-controller-%index%'
688 ComputeHostnameFormat:
690 description: Format for Compute node hostnames
691 default: '%stackname%-novacompute-%index%'
692 BlockStorageHostnameFormat:
694 description: Format for BlockStorage node hostnames
695 default: '%stackname%-blockstorage-%index%'
696 ObjectStorageHostnameFormat:
698 description: Format for SwiftStorage node hostnames
699 default: '%stackname%-objectstorage-%index%'
700 CephStorageHostnameFormat:
702 description: Format for CephStorage node hostnames
703 default: '%stackname%-cephstorage-%index%'
705 # Identifiers to trigger tasks on nodes
710 Setting to a previously unused value during stack-update will trigger
711 package update on all nodes
716 Setting this to a unique value will re-run any deployment tasks which
717 perform configuration on a Heat stack-update.
719 # If you want to remove a specific node from a resource group, you can pass
720 # the node name or id as a <Group>RemovalPolicies parameter, for example:
721 # ComputeRemovalPolicies: [{'resource_list': ['0']}]
722 ControllerRemovalPolicies:
726 List of resources to be removed from ControllerResourceGroup when
727 doing an update which requires removal of specific resources.
728 ComputeRemovalPolicies:
732 List of resources to be removed from ComputeResourceGroup when
733 doing an update which requires removal of specific resources.
734 BlockStorageRemovalPolicies:
738 List of resources to be removed from BlockStorageResourceGroup when
739 doing an update which requires removal of specific resources.
740 ObjectStorageRemovalPolicies:
744 List of resources to be removed from ObjectStorageResourceGroup when
745 doing an update which requires removal of specific resources.
746 CephStorageRemovalPolicies:
750 List of resources to be removed from CephStorageResourceGroup when
751 doing an update which requires removal of specific resources.
755 description: Do not use deprecated params, they will be removed.
757 - controllerExtraConfig
762 HeatAuthEncryptionKey:
763 type: OS::Heat::RandomString
766 type: OS::Heat::RandomString
771 type: OS::Heat::RandomString
776 type: OS::TripleO::EndpointMap
778 CloudName: {get_param: CloudName}
779 CeilometerApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
780 AodhApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
781 CinderApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
782 GlanceApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
783 GlanceRegistryVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
784 GnocchiApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
785 HeatApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
786 IronicApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
787 KeystoneAdminApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
788 KeystonePublicApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
789 MysqlVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
790 NeutronApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
791 NovaApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
792 SaharaApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
793 SwiftProxyVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
794 PublicVirtualIP: {get_attr: [VipMap, net_ip_uri_map, external]}
796 ControllerServiceChain:
797 type: OS::TripleO::Services
800 Services: {get_param: ControllerServices}
801 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
804 type: OS::Heat::ResourceGroup
807 count: {get_param: ControllerCount}
808 removal_policies: {get_param: ControllerRemovalPolicies}
810 type: OS::TripleO::Controller
812 AdminPassword: {get_param: AdminPassword}
813 AodhPassword: {get_param: AodhPassword}
814 CeilometerBackend: {get_param: CeilometerBackend}
815 CeilometerMeteringSecret: {get_param: CeilometerMeteringSecret}
816 CeilometerPassword: {get_param: CeilometerPassword}
817 CeilometerMeterDispatcher: {get_param: CeilometerMeterDispatcher}
818 CloudDomain: {get_param: CloudDomain}
819 ControlVirtualInterface: {get_param: ControlVirtualInterface}
820 controllerExtraConfig: {get_param: controllerExtraConfig}
821 CorosyncIPv6: {get_param: CorosyncIPv6}
822 Debug: {get_param: Debug}
823 EnableFencing: {get_param: EnableFencing}
824 ManageFirewall: {get_param: ManageFirewall}
825 PurgeFirewallRules: {get_param: PurgeFirewallRules}
826 EnableGalera: {get_param: EnableGalera}
827 EnableCephStorage: {get_param: ControllerEnableCephStorage}
828 ExtraConfig: {get_param: ExtraConfig}
829 FencingConfig: {get_param: FencingConfig}
830 Flavor: {get_param: OvercloudControlFlavor}
831 GnocchiPassword: {get_param: GnocchiPassword}
832 GnocchiBackend: {get_param: GnocchiBackend}
833 GnocchiIndexerBackend: {get_param: GnocchiIndexerBackend}
834 HAProxySyslogAddress: {get_param: HAProxySyslogAddress}
835 HeatAuthEncryptionKey: {get_resource: HeatAuthEncryptionKey}
836 HorizonAllowedHosts: {get_param: HorizonAllowedHosts}
837 HorizonSecret: {get_resource: HorizonSecret}
838 Image: {get_param: controllerImage}
839 ImageUpdatePolicy: {get_param: ImageUpdatePolicy}
840 InstanceNameTemplate: {get_param: InstanceNameTemplate}
841 KeyName: {get_param: KeyName}
842 MemcachedIPv6: {get_param: MemcachedIPv6}
843 MysqlClusterUniquePart: {get_attr: [MysqlClusterUniquePart, value]}
844 MysqlInnodbBufferPoolSize: {get_param: MysqlInnodbBufferPoolSize}
845 MysqlMaxConnections: {get_param: MysqlMaxConnections}
846 MysqlRootPassword: {get_attr: [MysqlRootPassword, value]}
847 NeutronTenantMtu: {get_param: NeutronTenantMtu}
848 NeutronPublicInterface: {get_param: NeutronPublicInterface}
849 NeutronPassword: {get_param: NeutronPassword}
850 NeutronMetadataProxySharedSecret: {get_param: NeutronMetadataProxySharedSecret}
851 NovaIPv6: {get_param: NovaIPv6}
852 NovaPassword: {get_param: NovaPassword}
853 PcsdPassword: {get_resource: PcsdPassword}
854 PublicVirtualInterface: {get_param: PublicVirtualInterface}
855 RabbitPassword: {get_param: RabbitPassword}
856 RabbitUserName: {get_param: RabbitUserName}
857 RabbitCookie: {get_attr: [RabbitCookie, value]}
858 RabbitClientUseSSL: {get_param: RabbitClientUseSSL}
859 RabbitClientPort: {get_param: RabbitClientPort}
860 RedisPassword: {get_param: RedisPassword}
861 RedisVirtualIP: {get_attr: [RedisVirtualIP, ip_address]}
862 RedisVirtualIPUri: {get_attr: [RedisVirtualIP, ip_address_uri]}
863 SwiftHashSuffix: {get_param: SwiftHashSuffix}
864 SwiftMinPartHours: {get_param: SwiftMinPartHours}
865 SwiftPartPower: {get_param: SwiftPartPower}
866 SwiftReplicas: { get_param: SwiftReplicas}
867 ServiceNetMap: {get_param: ServiceNetMap}
868 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
869 MysqlVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
870 UpdateIdentifier: {get_param: UpdateIdentifier}
873 template: {get_param: ControllerHostnameFormat}
875 '%stackname%': {get_param: 'OS::stack_name'}
877 ServerMetadata: {get_param: ServerMetadata}
878 SchedulerHints: {get_param: ControllerSchedulerHints}
879 ServiceConfigSettings: {get_attr: [ControllerServiceChain, role_data, config_settings]}
883 type: OS::TripleO::Services
885 Services: {get_param: ComputeServices}
886 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
889 type: OS::Heat::ResourceGroup
892 count: {get_param: ComputeCount}
893 removal_policies: {get_param: ComputeRemovalPolicies}
895 type: OS::TripleO::Compute
897 AdminPassword: {get_param: AdminPassword}
898 CeilometerComputeAgent: {get_param: CeilometerComputeAgent}
899 CeilometerMeteringSecret: {get_param: CeilometerMeteringSecret}
900 CeilometerPassword: {get_param: CeilometerPassword}
901 CinderEnableNfsBackend: {get_param: CinderEnableNfsBackend}
902 CinderEnableRbdBackend: {get_param: CinderEnableRbdBackend}
903 Debug: {get_param: Debug}
904 ExtraConfig: {get_param: ExtraConfig}
905 Flavor: {get_param: OvercloudComputeFlavor}
906 GlanceHost: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
907 Image: {get_param: NovaImage}
908 ImageUpdatePolicy: {get_param: ImageUpdatePolicy}
909 KeyName: {get_param: KeyName}
910 KeystoneAdminApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
911 KeystonePublicApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
912 NeutronBridgeMappings: {get_param: NeutronBridgeMappings}
913 NeutronTenantMtu: {get_param: NeutronTenantMtu}
914 NeutronEnableTunnelling: {get_param: NeutronEnableTunnelling}
915 NeutronEnableL2Pop : {get_param: NeutronEnableL2Pop}
916 NeutronFlatNetworks: {get_param: NeutronFlatNetworks}
917 NeutronHost: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
918 NeutronNetworkType: {get_param: NeutronNetworkType}
919 NeutronTunnelTypes: {get_param: NeutronTunnelTypes}
920 NeutronNetworkVLANRanges: {get_param: NeutronNetworkVLANRanges}
921 NeutronPassword: {get_param: NeutronPassword}
922 NeutronPhysicalBridge: {get_param: HypervisorNeutronPhysicalBridge}
923 NeutronPublicInterface: {get_param: HypervisorNeutronPublicInterface}
924 NeutronMetadataProxySharedSecret: {get_param: NeutronMetadataProxySharedSecret}
925 NeutronCorePlugin: {get_param: NeutronCorePlugin}
926 NeutronServicePlugins: {get_param: NeutronServicePlugins}
927 NeutronTypeDrivers: {get_param: NeutronTypeDrivers}
928 NeutronMechanismDrivers: {get_param: NeutronMechanismDrivers}
929 NeutronAgentExtensions: {get_param: NeutronAgentExtensions}
930 # L3 HA and Failover is not relevant for Computes, should be removed
931 NeutronAllowL3AgentFailover: {get_param: NeutronAllowL3AgentFailover}
932 NeutronL3HA: {get_param: NeutronL3HA}
933 NovaApiHost: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
934 NovaComputeDriver: {get_param: NovaComputeDriver}
935 NovaComputeExtraConfig: {get_param: NovaComputeExtraConfig}
936 NovaComputeLibvirtType: {get_param: NovaComputeLibvirtType}
937 NovaComputeLibvirtVifDriver: {get_param: NovaComputeLibvirtVifDriver}
938 NovaEnableRbdBackend: {get_param: NovaEnableRbdBackend}
939 NovaIPv6: {get_param: NovaIPv6}
940 NovaPublicIP: {get_attr: [VipMap, net_ip_map, external]}
941 NovaPassword: {get_param: NovaPassword}
942 NovaOVSBridge: {get_param: NovaOVSBridge}
943 NovaSecurityGroupAPI: {get_param: NovaSecurityGroupAPI}
944 RabbitHost: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]}
945 RabbitPassword: {get_param: RabbitPassword}
946 RabbitUserName: {get_param: RabbitUserName}
947 RabbitClientUseSSL: {get_param: RabbitClientUseSSL}
948 RabbitClientPort: {get_param: RabbitClientPort}
949 ServiceNetMap: {get_param: ServiceNetMap}
950 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
951 UpdateIdentifier: {get_param: UpdateIdentifier}
954 template: {get_param: ComputeHostnameFormat}
956 '%stackname%': {get_param: 'OS::stack_name'}
957 CloudDomain: {get_param: CloudDomain}
958 ServerMetadata: {get_param: ServerMetadata}
959 SchedulerHints: {get_param: NovaComputeSchedulerHints}
961 ServiceConfigSettings: {get_attr: [ComputeServiceChain, role_data, config_settings]}
963 BlockStorageServiceChain:
964 type: OS::TripleO::Services
966 Services: {get_param: BlockStorageServices}
967 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
970 type: OS::Heat::ResourceGroup
973 count: {get_param: BlockStorageCount}
974 removal_policies: {get_param: BlockStorageRemovalPolicies}
976 type: OS::TripleO::BlockStorage
978 Image: {get_param: BlockStorageImage}
979 KeyName: {get_param: KeyName}
980 Flavor: {get_param: OvercloudBlockStorageFlavor}
981 UpdateIdentifier: {get_param: UpdateIdentifier}
984 template: {get_param: BlockStorageHostnameFormat}
986 '%stackname%': {get_param: 'OS::stack_name'}
987 ServiceNetMap: {get_param: ServiceNetMap}
988 ExtraConfig: {get_param: ExtraConfig}
989 BlockStorageExtraConfig: {get_param: BlockStorageExtraConfig}
990 CloudDomain: {get_param: CloudDomain}
991 ServerMetadata: {get_param: ServerMetadata}
992 SchedulerHints: {get_param: BlockStorageSchedulerHints}
994 ServiceConfigSettings: {get_attr: [BlockStorageServiceChain, role_data, config_settings]}
996 ObjectStorageServiceChain:
997 type: OS::TripleO::Services
999 Services: {get_param: ObjectStorageServices}
1000 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
1003 type: OS::Heat::ResourceGroup
1004 depends_on: Networks
1006 count: {get_param: ObjectStorageCount}
1007 removal_policies: {get_param: ObjectStorageRemovalPolicies}
1009 type: OS::TripleO::ObjectStorage
1011 KeyName: {get_param: KeyName}
1012 Flavor: {get_param: OvercloudSwiftStorageFlavor}
1013 HashSuffix: {get_param: SwiftHashSuffix}
1014 MinPartHours: {get_param: SwiftMinPartHours}
1015 PartPower: {get_param: SwiftPartPower}
1016 Image: {get_param: SwiftStorageImage}
1017 Replicas: { get_param: SwiftReplicas}
1018 UpdateIdentifier: {get_param: UpdateIdentifier}
1019 ServiceNetMap: {get_param: ServiceNetMap}
1022 template: {get_param: ObjectStorageHostnameFormat}
1024 '%stackname%': {get_param: 'OS::stack_name'}
1025 ExtraConfig: {get_param: ExtraConfig}
1026 ObjectStorageExtraConfig: {get_param: ObjectStorageExtraConfig}
1027 CloudDomain: {get_param: CloudDomain}
1028 ServerMetadata: {get_param: ServerMetadata}
1029 SchedulerHints: {get_param: ObjectStorageSchedulerHints}
1030 NodeIndex: '%index%'
1031 ServiceConfigSettings: {get_attr: [ObjectStorageServiceChain, role_data, config_settings]}
1033 CephStorageServiceChain:
1034 type: OS::TripleO::Services
1036 Services: {get_param: CephStorageServices}
1037 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
1040 type: OS::Heat::ResourceGroup
1041 depends_on: Networks
1043 count: {get_param: CephStorageCount}
1044 removal_policies: {get_param: CephStorageRemovalPolicies}
1046 type: OS::TripleO::CephStorage
1048 Image: {get_param: CephStorageImage}
1049 KeyName: {get_param: KeyName}
1050 Flavor: {get_param: OvercloudCephStorageFlavor}
1051 ServiceNetMap: {get_param: ServiceNetMap}
1052 UpdateIdentifier: {get_param: UpdateIdentifier}
1055 template: {get_param: CephStorageHostnameFormat}
1057 '%stackname%': {get_param: 'OS::stack_name'}
1058 ExtraConfig: {get_param: ExtraConfig}
1059 CephStorageExtraConfig: {get_param: CephStorageExtraConfig}
1060 CloudDomain: {get_param: CloudDomain}
1061 ServerMetadata: {get_param: ServerMetadata}
1062 SchedulerHints: {get_param: CephStorageSchedulerHints}
1063 NodeIndex: '%index%'
1064 ServiceConfigSettings: {get_attr: [CephStorageServiceChain, role_data, config_settings]}
1066 ControllerIpListMap:
1067 type: OS::TripleO::Network::Ports::NetIpListMap
1069 ControlPlaneIpList: {get_attr: [Controller, ip_address]}
1070 ExternalIpList: {get_attr: [Controller, external_ip_address]}
1071 InternalApiIpList: {get_attr: [Controller, internal_api_ip_address]}
1072 StorageIpList: {get_attr: [Controller, storage_ip_address]}
1073 StorageMgmtIpList: {get_attr: [Controller, storage_mgmt_ip_address]}
1074 TenantIpList: {get_attr: [Controller, tenant_ip_address]}
1075 ManagementIpList: {get_attr: [Controller, management_ip_address]}
1078 type: OS::TripleO::AllNodes::SoftwareConfig
1080 compute_hosts: {get_attr: [Compute, hosts_entry]}
1081 controller_hosts: {get_attr: [Controller, hosts_entry]}
1082 controller_ips: {get_attr: [Controller, ip_address]}
1083 block_storage_hosts: {get_attr: [BlockStorage, hosts_entry]}
1084 object_storage_hosts: {get_attr: [ObjectStorage, hosts_entry]}
1085 ceph_storage_hosts: {get_attr: [CephStorage, hosts_entry]}
1086 controller_names: {get_attr: [Controller, hostname]}
1087 rabbit_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]}
1088 mongo_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, MongoDbNetwork]}]}
1089 redis_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, RedisNetwork]}]}
1090 memcache_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, MemcachedNetwork]}]}
1091 mysql_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
1092 horizon_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, HorizonNetwork]}]}
1093 heat_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
1094 swift_proxy_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
1095 ceilometer_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
1096 aodh_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
1097 gnocchi_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
1098 nova_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
1099 nova_metadata_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, NovaMetadataNetwork]}]}
1100 glance_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
1101 glance_registry_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
1102 cinder_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
1103 neutron_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
1104 keystone_public_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
1105 keystone_admin_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
1106 sahara_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
1107 ironic_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
1108 DeployIdentifier: {get_param: DeployIdentifier}
1109 UpdateIdentifier: {get_param: UpdateIdentifier}
1112 type: OS::Heat::RandomString
1116 MysqlClusterUniquePart:
1117 type: OS::Heat::RandomString
1122 type: OS::Heat::RandomString
1125 salt: {get_param: RabbitCookieSalt}
1127 # creates the network architecture
1129 type: OS::TripleO::Network
1132 type: OS::Neutron::Port
1133 depends_on: Networks
1135 name: control_virtual_ip
1136 network: {get_param: NeutronControlPlaneID}
1137 fixed_ips: {get_param: ControlFixedIPs}
1138 replacement_policy: AUTO
1141 depends_on: Networks
1142 type: OS::TripleO::Network::Ports::RedisVipPort
1144 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
1145 ControlPlaneNetwork: {get_param: NeutronControlPlaneID}
1146 PortName: redis_virtual_ip
1147 NetworkName: {get_param: [ServiceNetMap, RedisNetwork]}
1150 # The public VIP is on the External net, falls back to ctlplane
1152 depends_on: Networks
1153 type: OS::TripleO::Network::Ports::ExternalVipPort
1155 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
1156 ControlPlaneNetwork: {get_param: NeutronControlPlaneID}
1157 PortName: public_virtual_ip
1158 FixedIPs: {get_param: PublicVirtualFixedIPs}
1160 InternalApiVirtualIP:
1161 depends_on: Networks
1162 type: OS::TripleO::Network::Ports::InternalApiVipPort
1164 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
1165 PortName: internal_api_virtual_ip
1166 FixedIPs: {get_param: InternalApiVirtualFixedIPs}
1169 depends_on: Networks
1170 type: OS::TripleO::Network::Ports::StorageVipPort
1172 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
1173 PortName: storage_virtual_ip
1174 FixedIPs: {get_param: StorageVirtualFixedIPs}
1176 StorageMgmtVirtualIP:
1177 depends_on: Networks
1178 type: OS::TripleO::Network::Ports::StorageMgmtVipPort
1180 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
1181 PortName: storage_management_virtual_ip
1182 FixedIPs: {get_param: StorageMgmtVirtualFixedIPs}
1185 type: OS::TripleO::Network::Ports::NetVipMap
1187 ControlPlaneIp: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
1188 ExternalIp: {get_attr: [PublicVirtualIP, ip_address]}
1189 ExternalIpUri: {get_attr: [PublicVirtualIP, ip_address_uri]}
1190 InternalApiIp: {get_attr: [InternalApiVirtualIP, ip_address]}
1191 InternalApiIpUri: {get_attr: [InternalApiVirtualIP, ip_address_uri]}
1192 StorageIp: {get_attr: [StorageVirtualIP, ip_address]}
1193 StorageIpUri: {get_attr: [StorageVirtualIP, ip_address_uri]}
1194 StorageMgmtIp: {get_attr: [StorageMgmtVirtualIP, ip_address]}
1195 StorageMgmtIpUri: {get_attr: [StorageMgmtVirtualIP, ip_address_uri]}
1196 # No tenant or management VIP required
1199 type: OS::TripleO::VipConfig
1202 type: OS::Heat::StructuredDeployments
1205 config: {get_resource: VipConfig}
1206 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1208 # service VIP mappings
1209 keystone_admin_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
1210 keystone_public_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
1211 neutron_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
1212 cinder_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
1213 glance_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
1214 glance_registry_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
1215 swift_proxy_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
1216 nova_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
1217 nova_metadata_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaMetadataNetwork]}]}
1218 ceilometer_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
1219 aodh_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
1220 gnocchi_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
1221 heat_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
1222 horizon_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HorizonNetwork]}]}
1223 redis_vip: {get_attr: [RedisVirtualIP, ip_address]}
1224 mysql_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
1225 rabbit_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]}
1226 # direct configuration of Virtual IPs for each network
1227 control_virtual_ip: {get_attr: [VipMap, net_ip_map, ctlplane]}
1228 public_virtual_ip: {get_attr: [VipMap, net_ip_map, external]}
1229 internal_api_virtual_ip: {get_attr: [VipMap, net_ip_map, internal_api]}
1230 sahara_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
1231 ironic_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
1232 storage_virtual_ip: {get_attr: [VipMap, net_ip_map, storage]}
1233 storage_mgmt_virtual_ip: {get_attr: [VipMap, net_ip_map, storage_mgmt]}
1235 ControllerBootstrapNodeConfig:
1236 type: OS::TripleO::BootstrapNode::SoftwareConfig
1238 bootstrap_nodeid: {get_attr: [Controller, resource.0.hostname]}
1239 bootstrap_nodeid_ip: {get_attr: [Controller, resource.0.ip_address]}
1241 ControllerBootstrapNodeDeployment:
1242 type: OS::Heat::StructuredDeployments
1244 name: ControllerBootstrapNodeDeployment
1245 config: {get_attr: [ControllerBootstrapNodeConfig, config_id]}
1246 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1248 ControllerSwiftDeployment:
1249 type: OS::Heat::StructuredDeployments
1251 name: ControllerSwiftDeployment
1252 config: {get_attr: [SwiftDevicesAndProxyConfig, config_id]}
1253 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1255 ObjectStorageSwiftDeployment:
1256 type: OS::Heat::StructuredDeployments
1258 name: ObjectStorageSwiftDeployment
1259 config: {get_attr: [SwiftDevicesAndProxyConfig, config_id]}
1260 servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1262 SwiftDevicesAndProxyConfig:
1263 type: OS::TripleO::SwiftDevicesAndProxy::SoftwareConfig
1265 controller_swift_devices: {get_attr: [Controller, swift_device]}
1266 object_store_swift_devices: {get_attr: [ObjectStorage, swift_device]}
1267 controller_swift_proxy_memcaches: {get_attr: [Controller, swift_proxy_memcache]}
1269 ComputeCephDeployment:
1270 type: OS::Heat::StructuredDeployments
1272 name: ComputeCephDeployment
1273 config: {get_attr: [CephClusterConfig, config_id]}
1274 servers: {get_attr: [Compute, attributes, nova_server_resource]}
1276 ControllerCephDeployment:
1277 type: OS::Heat::StructuredDeployments
1279 name: ControllerCephDeployment
1280 config: {get_attr: [CephClusterConfig, config_id]}
1281 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1283 CephStorageCephDeployment:
1284 type: OS::Heat::StructuredDeployments
1286 name: CephStorageCephDeployment
1287 config: {get_attr: [CephClusterConfig, config_id]}
1288 servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1291 type: OS::TripleO::CephClusterConfig::SoftwareConfig
1293 ceph_storage_count: {get_param: CephStorageCount}
1294 ceph_fsid: {get_param: CephClusterFSID}
1295 ceph_mon_key: {get_param: CephMonKey}
1296 ceph_admin_key: {get_param: CephAdminKey}
1297 ceph_client_key: {get_param: CephClientKey}
1298 ceph_external_mon_ips: {get_param: CephExternalMonHost}
1299 ceph_mon_names: {get_attr: [Controller, hostname]}
1300 ceph_mon_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, CephPublicNetwork]}]}
1302 ControllerAllNodesDeployment:
1303 type: OS::Heat::StructuredDeployments
1305 name: ControllerAllNodesDeployment
1306 config: {get_attr: [allNodesConfig, config_id]}
1307 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1309 ComputeAllNodesDeployment:
1310 type: OS::Heat::StructuredDeployments
1312 name: ComputeAllNodesDeployment
1313 config: {get_attr: [allNodesConfig, config_id]}
1314 servers: {get_attr: [Compute, attributes, nova_server_resource]}
1316 BlockStorageAllNodesDeployment:
1317 type: OS::Heat::StructuredDeployments
1319 name: BlockStorageAllNodesDeployment
1320 config: {get_attr: [allNodesConfig, config_id]}
1321 servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
1323 ObjectStorageAllNodesDeployment:
1324 type: OS::Heat::StructuredDeployments
1326 name: ObjectStorageAllNodesDeployment
1327 config: {get_attr: [allNodesConfig, config_id]}
1328 servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1330 CephStorageAllNodesDeployment:
1331 type: OS::Heat::StructuredDeployments
1333 name: CephStorageAllNodesDeployment
1334 config: {get_attr: [allNodesConfig, config_id]}
1335 servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1337 # All Nodes Validations
1338 AllNodesValidationConfig:
1339 type: OS::TripleO::AllNodes::Validation
1344 - - {get_attr: [Controller, resource.0.external_ip_address]}
1345 - {get_attr: [Controller, resource.0.internal_api_ip_address]}
1346 - {get_attr: [Controller, resource.0.storage_ip_address]}
1347 - {get_attr: [Controller, resource.0.storage_mgmt_ip_address]}
1348 - {get_attr: [Controller, resource.0.tenant_ip_address]}
1350 ControllerAllNodesValidationDeployment:
1351 type: OS::Heat::StructuredDeployments
1352 depends_on: ControllerAllNodesDeployment
1354 name: ControllerAllNodesValidationDeployment
1355 config: {get_resource: AllNodesValidationConfig}
1356 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1358 ComputeAllNodesValidationDeployment:
1359 type: OS::Heat::StructuredDeployments
1360 depends_on: ComputeAllNodesDeployment
1362 name: ComputeAllNodesValidationDeployment
1363 config: {get_resource: AllNodesValidationConfig}
1364 servers: {get_attr: [Compute, attributes, nova_server_resource]}
1366 BlockStorageAllNodesValidationDeployment:
1367 type: OS::Heat::StructuredDeployments
1368 depends_on: BlockStorageAllNodesDeployment
1370 name: BlockStorageAllNodesValidationDeployment
1371 config: {get_resource: AllNodesValidationConfig}
1372 servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
1374 ObjectStorageAllNodesValidationDeployment:
1375 type: OS::Heat::StructuredDeployments
1376 depends_on: ObjectStorageAllNodesDeployment
1378 name: ObjectStorageAllNodesValidationDeployment
1379 config: {get_resource: AllNodesValidationConfig}
1380 servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1382 CephStorageAllNodesValidationDeployment:
1383 type: OS::Heat::StructuredDeployments
1384 depends_on: CephStorageAllNodesDeployment
1386 name: CephStorageAllNodesValidationDeployment
1387 config: {get_resource: AllNodesValidationConfig}
1388 servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1391 type: OS::TripleO::Tasks::UpdateWorkflow
1393 controller_servers: {get_attr: [Controller, attributes, nova_server_resource]}
1394 compute_servers: {get_attr: [Compute, attributes, nova_server_resource]}
1395 blockstorage_servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
1396 objectstorage_servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1397 cephstorage_servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1399 deploy_identifier: {get_param: DeployIdentifier}
1400 update_identifier: {get_param: UpdateIdentifier}
1402 # Optional ExtraConfig for all nodes - all roles are passed in here, but
1403 # the nested template may configure each role differently (or not at all)
1404 AllNodesExtraConfig:
1405 type: OS::TripleO::AllNodesExtraConfig
1408 - ComputeAllNodesValidationDeployment
1409 - BlockStorageAllNodesValidationDeployment
1410 - ObjectStorageAllNodesValidationDeployment
1411 - CephStorageAllNodesValidationDeployment
1412 - ControllerAllNodesValidationDeployment
1414 controller_servers: {get_attr: [Controller, attributes, nova_server_resource]}
1415 compute_servers: {get_attr: [Compute, attributes, nova_server_resource]}
1416 blockstorage_servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
1417 objectstorage_servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1418 cephstorage_servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1420 # Nested stack deployment runs after all other controller deployments
1421 ControllerNodesPostDeployment:
1422 type: OS::TripleO::ControllerPostDeployment
1423 depends_on: [ControllerBootstrapNodeDeployment, ControllerAllNodesDeployment, ControllerSwiftDeployment, ControllerCephDeployment]
1425 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1426 NodeConfigIdentifiers:
1427 allnodes_extra: {get_attr: [AllNodesExtraConfig, config_identifier]}
1428 controller_config: {get_attr: [Controller, attributes, config_identifier]}
1429 deployment_identifier: {get_param: DeployIdentifier}
1430 RoleData: {get_attr: [ControllerServiceChain, role_data]}
1432 ComputeNodesPostDeployment:
1433 type: OS::TripleO::ComputePostDeployment
1434 depends_on: [ComputeAllNodesDeployment, ComputeCephDeployment]
1436 servers: {get_attr: [Compute, attributes, nova_server_resource]}
1437 NodeConfigIdentifiers:
1438 allnodes_extra: {get_attr: [AllNodesExtraConfig, config_identifier]}
1439 compute_config: {get_attr: [Compute, attributes, config_identifier]}
1440 deployment_identifier: {get_param: DeployIdentifier}
1441 RoleData: {get_attr: [ComputeServiceChain, role_data]}
1443 ObjectStorageNodesPostDeployment:
1444 type: OS::TripleO::ObjectStoragePostDeployment
1445 depends_on: [ObjectStorageSwiftDeployment, ObjectStorageAllNodesDeployment]
1447 servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1448 NodeConfigIdentifiers:
1449 allnodes_extra: {get_attr: [AllNodesExtraConfig, config_identifier]}
1450 objectstorage_config: {get_attr: [ObjectStorage, attributes, config_identifier]}
1451 deployment_identifier: {get_param: DeployIdentifier}
1452 RoleData: {get_attr: [ObjectStorageServiceChain, role_data]}
1454 BlockStorageNodesPostDeployment:
1455 type: OS::TripleO::BlockStoragePostDeployment
1456 depends_on: [ControllerNodesPostDeployment, BlockStorageAllNodesDeployment]
1458 servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
1459 NodeConfigIdentifiers:
1460 allnodes_extra: {get_attr: [AllNodesExtraConfig, config_identifier]}
1461 blockstorage_config: {get_attr: [BlockStorage, attributes, config_identifier]}
1462 deployment_identifier: {get_param: DeployIdentifier}
1463 RoleData: {get_attr: [BlockStorageServiceChain, role_data]}
1465 CephStorageNodesPostDeployment:
1466 type: OS::TripleO::CephStoragePostDeployment
1467 depends_on: [ControllerNodesPostDeployment, CephStorageCephDeployment, CephStorageAllNodesDeployment]
1469 servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1470 NodeConfigIdentifiers:
1471 allnodes_extra: {get_attr: [AllNodesExtraConfig, config_identifier]}
1472 cephstorage_config: {get_attr: [CephStorage, attributes, config_identifier]}
1473 deployment_identifier: {get_param: DeployIdentifier}
1474 RoleData: {get_attr: [CephStorageServiceChain, role_data]}
1478 description: URL for the Overcloud Keystone service
1479 value: {get_attr: [EndpointMap, endpoint_map, KeystonePublic, uri]}
1481 description: Keystone Admin VIP endpoint
1482 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
1484 description: Controller VIP for public API endpoints
1485 value: {get_attr: [VipMap, net_ip_map, external]}
1487 description: VIP for Aodh API internal endpoint
1488 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
1489 CeilometerInternalVip:
1490 description: VIP for Ceilometer API internal endpoint
1491 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
1493 description: VIP for Cinder API internal endpoint
1494 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
1496 description: VIP for Glance API internal endpoint
1497 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
1499 description: VIP for Gnocchi API internal endpoint
1500 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
1502 description: VIP for Heat API internal endpoint
1503 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
1505 description: VIP for Ironic API internal endpoint
1506 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
1507 KeystoneInternalVip:
1508 description: VIP for Keystone API internal endpoint
1509 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
1511 description: VIP for Neutron API internal endpoint
1512 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
1514 description: VIP for Nova API internal endpoint
1515 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
1517 description: VIP for Sahara API internal endpoint
1518 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
1520 description: VIP for Swift Proxy internal endpoint
1521 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
1524 Mapping of the resources with the needed info for their endpoints.
1525 This includes the protocol used, the IP, port and also a full
1526 representation of the URI.
1527 value: {get_attr: [EndpointMap, endpoint_map]}
1530 The content that should be appended to your /etc/hosts if you want to get
1531 hostname-based access to the deployed nodes (useful for testing without
1533 value: {get_attr: [allNodesConfig, hosts_entries]}