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 CinderEnableNfsBackend:
43 description: Whether to enable or not the NFS backend for Cinder
45 CinderEnableRbdBackend:
47 description: Whether to enable or not the Rbd backend for Cinder
51 description: The DNS name of this cloud. E.g. ci-overcloud.tripleo.org
55 description: Should be used for arbitrary ips.
59 description: Enable IPv6 in Corosync
63 description: Set to True to enable debugging on all services.
67 description: Syslog address where HAproxy will send its log
71 description: A list of IP/Hostname allowed to connect to horizon
72 type: comma_delimited_list
74 default: 'REBUILD_PRESERVE_EPHEMERAL'
75 description: What policy to use when reconstructing instances. REBUILD for rebuilds, REBUILD_PRESERVE_EPHEMERAL to preserve /mnt.
77 InternalApiVirtualFixedIPs:
80 Control the IP allocation for the InternalApiVirtualInterface port. E.g.
81 [{'ip_address':'1.2.3.4'}]
85 description: Name of an existing Nova key pair to enable SSH access to the instances
88 - custom_constraint: nova.keypair
91 description: Enable IPv6 features in Memcached.
93 NeutronBridgeMappings:
95 The OVS logical->physical bridge mappings to use. See the Neutron
96 documentation for details. Defaults to mapping br-ex - the external
97 bridge on hosts - to a physical name 'datacentre' which can be used
98 to create provider networks (and we use this for the default floating
99 network) - if changing this either use different post-install network
100 scripts or be sure to keep 'datacentre' as a mapping network name.
101 type: comma_delimited_list
102 default: "datacentre:br-ex"
103 NeutronControlPlaneID:
106 description: Neutron ID or name for ctlplane network.
107 NeutronEnableTunnelling:
113 Enable/disable the L2 population feature in the Neutron agents.
116 type: comma_delimited_list
117 default: 'datacentre'
119 If set, flat networks to configure in neutron plugins. Defaults to
120 'datacentre' to permit external network creation.
123 description: The tenant network type for Neutron.
124 type: comma_delimited_list
126 description: The password for the neutron service account, used by neutron agents.
129 NeutronPublicInterface:
131 description: What interface to bridge onto br-ex for network nodes.
133 NeutronMetadataProxySharedSecret:
134 description: Shared secret to prevent spoofing
139 The default MTU for tenant networks. For VXLAN/GRE tunneling, this should
140 be at least 50 bytes smaller than the MTU on the physical network. This
141 value will be used to set the MTU on the virtual Ethernet device.
142 This value will be used to construct the NeutronDnsmasqOptions, since that
143 will determine the MTU that is assigned to the VM host through DHCP.
149 The tunnel types for the Neutron tenant network.
150 type: comma_delimited_list
151 type: comma_delimited_list
155 The core plugin for Neutron. The value should be the entrypoint to be loaded
156 from neutron.core_plugins namespace.
158 NeutronServicePlugins:
159 default: "router,qos"
161 Comma-separated list of service plugin entrypoints to be loaded from the
162 neutron.service_plugins namespace.
163 type: comma_delimited_list
165 default: "vxlan,vlan,flat,gre"
167 Comma-separated list of network type driver entrypoints to be loaded.
168 type: comma_delimited_list
169 NeutronMechanismDrivers:
170 default: 'openvswitch'
172 The mechanism drivers for the Neutron tenant network.
173 type: comma_delimited_list
174 type: comma_delimited_list
175 NeutronAgentExtensions:
178 Comma-separated list of extensions enabled for the Neutron agents.
179 type: comma_delimited_list
180 NeutronAllowL3AgentFailover:
182 description: Allow automatic l3-agent failover
186 description: Whether to enable l3-agent HA
190 description: Enable IPv6 features in Nova
193 description: The password for the nova service account, used by nova-api.
196 PublicVirtualFixedIPs:
199 Control the IP allocation for the PublicVirtualInterface port. E.g.
200 [{'ip_address':'1.2.3.4'}]
205 description: Salt for the rabbit cookie, change this to force the randomly generated rabbit cookie to change.
208 description: The username for RabbitMQ
211 description: The password for RabbitMQ
217 Rabbit client subscriber parameter to specify
218 an SSL connection to the RabbitMQ host.
222 description: Set rabbit subscriber port, change this if using SSL
225 description: The password for Redis
228 StorageVirtualFixedIPs:
231 Control the IP allocation for the StorageVirtualInterface port. E.g.
232 [{'ip_address':'1.2.3.4'}]
234 StorageMgmtVirtualFixedIPs:
237 Control the IP allocation for the StorageMgmgVirtualInterface port. E.g.
238 [{'ip_address':'1.2.3.4'}]
241 default: 'localdomain'
244 The DNS domain used for the hosts. This should match the dhcp_domain
245 configured in the Undercloud neutron. Defaults to localdomain.
249 Extra properties or metadata passed to Nova for the created nodes in
250 the overcloud. It's accessible via the Nova metadata API.
253 # Controller-specific params
259 controllerExtraConfig:
262 Deprecated. Use ControllerExtraConfig via parameter_defaults instead.
266 default: overcloud-full
268 - custom_constraint: glance.image
269 OvercloudControlFlavor:
270 description: Flavor for control nodes to request when deploying.
274 - custom_constraint: nova.flavor
275 ControlVirtualInterface:
277 description: Interface where virtual ip will be assigned.
281 description: Whether to enable fencing in Pacemaker or not.
285 description: Whether to use Galera instead of regular MariaDB.
287 ControllerSchedulerHints:
289 description: Optional scheduler hints to pass to nova
294 Additional configuration to inject into the cluster. The format required
295 may be implementation specific, e.g puppet hieradata. Any role specific
296 ExtraConfig, e.g controllerExtraConfig takes precedence over ExtraConfig.
301 Pacemaker fencing configuration. The JSON should have
302 the following structure:
306 "agent": "AGENT_NAME",
307 "host_mac": "HOST_MAC_ADDRESS",
308 "params": {"PARAM_NAME": "PARAM_VALUE"}
316 "agent": "fence_xvm",
317 "host_mac": "52:54:00:aa:bb:cc",
319 "multicast_address": "225.0.0.12",
320 "port": "baremetal_0",
322 "manage_key_file": true,
323 "key_file": "/etc/fence_xvm.key",
324 "key_file_password": "abcdef"
332 description: The short name of the Gnocchi backend to use. Should be one
333 of swift, rbd or file
336 - allowed_values: ['swift', 'file', 'rbd']
337 GnocchiIndexerBackend:
339 description: The short name of the Gnocchi indexer backend to use.
342 description: The password for the gnocchi service account.
345 InstanceNameTemplate:
346 default: 'instance-%08x'
347 description: Template string to be used to generate instance names
351 description: Whether to manage IPtables rules.
355 description: Whether IPtables rules should be purged before setting up the ones.
357 MysqlInnodbBufferPoolSize:
359 Specifies the size of the buffer pool in megabytes. Setting to
360 zero should be interpreted as "no value" and will defer to the
365 description: Configures MySQL max_connections config setting
368 PublicVirtualInterface:
371 Specifies the interface where the public-facing virtual ip will be assigned.
372 This should be int_public when a VLAN is being used.
375 description: A random string to be used as a salt when hashing to determine mappings in the ring.
381 description: The minimum time (in hours) before a partition in a ring can be moved following a rebalance.
384 description: Partition Power to use when building Swift rings
389 description: How many replicas to use in the swift rings.
391 # Compute-specific params
392 CeilometerComputeAgent:
393 description: Indicates whether the Compute agent is present and expects nova-compute to be configured accordingly
397 - allowed_values: ['', Present]
401 HypervisorNeutronPhysicalBridge:
404 An OVS bridge to create on each hypervisor. This defaults to br-ex the
405 same as the control plane nodes, as we have a uniform configuration of
406 the openvswitch agent. Typically should not need to be changed.
408 HypervisorNeutronPublicInterface:
410 description: What interface to add to the HypervisorNeutronPhysicalBridge.
412 NeutronNetworkVLANRanges:
413 default: 'datacentre:1:1000'
415 The Neutron ML2 and OpenVSwitch vlan mapping range to support. See the
416 Neutron documentation for permitted values. Defaults to permitting any
417 VLAN on the 'datacentre' physical network (See NeutronBridgeMappings).
418 type: comma_delimited_list
421 default: libvirt.LibvirtDriver
422 NovaComputeExtraConfig:
425 NovaCompute specific configuration to inject into the cluster. Same
426 structure as ExtraConfig.
428 NovaComputeLibvirtType:
431 NovaComputeLibvirtVifDriver:
433 description: Libvirt VIF driver configuration for the network
435 NovaComputeSchedulerHints:
437 description: Optional scheduler hints to pass to nova
439 NovaEnableRbdBackend:
441 description: Whether to enable or not the Rbd backend for Nova
445 default: overcloud-full
447 - custom_constraint: glance.image
450 description: Name of integration bridge used by Open vSwitch
452 NovaSecurityGroupAPI:
454 description: The full class name of the security API class
456 OvercloudComputeFlavor:
457 description: Use this flavor
461 - custom_constraint: nova.flavor
464 NeutronTenantNetwork: tenant
465 CeilometerApiNetwork: internal_api
466 AodhApiNetwork: internal_api
467 GnocchiApiNetwork: internal_api
468 MongoDbNetwork: internal_api
469 CinderApiNetwork: internal_api
470 CinderIscsiNetwork: storage
471 GlanceApiNetwork: storage
472 GlanceRegistryNetwork: internal_api
473 IronicApiNetwork: internal_api
474 KeystoneAdminApiNetwork: ctlplane # allows undercloud to config endpoints
475 KeystonePublicApiNetwork: internal_api
476 NeutronApiNetwork: internal_api
477 HeatApiNetwork: internal_api
478 NovaApiNetwork: internal_api
479 NovaMetadataNetwork: internal_api
480 NovaVncProxyNetwork: internal_api
481 SwiftMgmtNetwork: storage_mgmt
482 SwiftProxyNetwork: storage
483 SaharaApiNetwork: internal_api
484 HorizonNetwork: internal_api
485 MemcachedNetwork: internal_api
486 RabbitMqNetwork: internal_api
487 RedisNetwork: internal_api
488 MysqlNetwork: internal_api
489 CephClusterNetwork: storage_mgmt
490 CephPublicNetwork: storage
491 ControllerHostnameResolveNetwork: internal_api
492 ComputeHostnameResolveNetwork: internal_api
493 BlockStorageHostnameResolveNetwork: internal_api
494 ObjectStorageHostnameResolveNetwork: internal_api
495 CephStorageHostnameResolveNetwork: storage
496 description: Mapping of service_name -> network name. Typically set
497 via parameter_defaults in the resource registry.
502 - OS::TripleO::Services::CephMon
503 - OS::TripleO::Services::CephExternal
504 - OS::TripleO::Services::CinderApi
505 - OS::TripleO::Services::CinderScheduler
506 - OS::TripleO::Services::CinderVolume
507 - OS::TripleO::Services::Kernel
508 - OS::TripleO::Services::Keystone
509 - OS::TripleO::Services::GlanceApi
510 - OS::TripleO::Services::GlanceRegistry
511 - OS::TripleO::Services::HeatApi
512 - OS::TripleO::Services::HeatApiCfn
513 - OS::TripleO::Services::HeatApiCloudwatch
514 - OS::TripleO::Services::HeatEngine
515 - OS::TripleO::Services::NeutronDhcpAgent
516 - OS::TripleO::Services::NeutronL3Agent
517 - OS::TripleO::Services::NeutronMetadataAgent
518 - OS::TripleO::Services::NeutronServer
519 - OS::TripleO::Services::NeutronCorePlugin
520 - OS::TripleO::Services::NeutronOvsAgent
521 - OS::TripleO::Services::RabbitMQ
522 - OS::TripleO::Services::HAproxy
523 - OS::TripleO::Services::Keepalived
524 - OS::TripleO::Services::Memcached
525 - OS::TripleO::Services::Redis
526 - OS::TripleO::Services::NovaConductor
527 - OS::TripleO::Services::MongoDb
528 - OS::TripleO::Services::NovaApi
529 - OS::TripleO::Services::NovaScheduler
530 - OS::TripleO::Services::NovaConsoleauth
531 - OS::TripleO::Services::NovaVncproxy
532 - OS::TripleO::Services::Ntp
533 - OS::TripleO::Services::SwiftProxy
534 - OS::TripleO::Services::SwiftStorage
535 - OS::TripleO::Services::Snmp
536 - OS::TripleO::Services::Timezone
537 description: A list of service resources (configured in the Heat
538 resource_registry) which represent nested stacks
539 for each service that should get installed on the Controllers.
540 type: comma_delimited_list
544 - OS::TripleO::Services::CephClient
545 - OS::TripleO::Services::CephExternal
546 - OS::TripleO::Services::Timezone
547 - OS::TripleO::Services::Ntp
548 - OS::TripleO::Services::Snmp
549 - OS::TripleO::Services::NovaCompute
550 - OS::TripleO::Services::NovaLibvirt
551 - OS::TripleO::Services::Kernel
552 description: A list of service resources (configured in the Heat
553 resource_registry) which represent nested stacks
554 for each service that should get installed on the Compute Nodes.
555 type: comma_delimited_list
557 # Block storage specific parameters
562 default: overcloud-full
564 OvercloudBlockStorageFlavor:
565 description: Flavor for block storage nodes to request when deploying.
569 - custom_constraint: nova.flavor
570 BlockStorageExtraConfig:
573 BlockStorage specific configuration to inject into the cluster. Same
574 structure as ExtraConfig.
576 BlockStorageSchedulerHints:
578 description: Optional scheduler hints to pass to nova
580 BlockStorageServices:
582 - OS::TripleO::Services::CinderVolume
583 - OS::TripleO::Services::Kernel
584 - OS::TripleO::Services::Ntp
585 - OS::TripleO::Services::Timezone
586 - OS::TripleO::Services::Snmp
587 description: A list of service resources (configured in the Heat
588 resource_registry) which represent nested stacks
589 for each service that should get installed on the BlockStorage nodes.
590 type: comma_delimited_list
592 # Object storage specific parameters
596 OvercloudSwiftStorageFlavor:
597 description: Flavor for Swift storage nodes to request when deploying.
601 - custom_constraint: nova.flavor
603 default: overcloud-full
605 ObjectStorageExtraConfig:
608 ObjectStorage specific configuration to inject into the cluster. Same
609 structure as ExtraConfig.
611 ObjectStorageSchedulerHints:
613 description: Optional scheduler hints to pass to nova
615 ObjectStorageServices:
617 - OS::TripleO::Services::Kernel
618 - OS::TripleO::Services::Ntp
619 - OS::TripleO::Services::SwiftStorage
620 - OS::TripleO::Services::Snmp
621 - OS::TripleO::Services::Timezone
622 description: A list of service resources (configured in the Heat
623 resource_registry) which represent nested stacks
624 for each service that should get installed on the ObjectStorage nodes.
625 Note this role currently only supports steps 2, 3 and 4 configuration.
626 type: comma_delimited_list
629 # Ceph storage specific parameters
634 default: overcloud-full
636 OvercloudCephStorageFlavor:
638 description: Flavor for Ceph storage nodes to request when deploying.
641 - custom_constraint: nova.flavor
642 CephStorageExtraConfig:
645 CephStorage specific configuration to inject into the cluster. Same
646 structure as ExtraConfig.
648 CephStorageSchedulerHints:
650 description: Optional scheduler hints to pass to nova
654 - OS::TripleO::Services::CephOSD
655 - OS::TripleO::Services::Kernel
656 - OS::TripleO::Services::Ntp
657 - OS::TripleO::Services::Timezone
658 description: A list of service resources (configured in the Heat
659 resource_registry) which represent nested stacks
660 for each service that should get installed on the CephStorage nodes.
661 type: comma_delimited_list
663 # Hostname format for each role
664 # Note %index% is translated into the index of the node, e.g 0/1/2 etc
665 # and %stackname% is replaced with OS::stack_name in the template below.
666 # If you want to use the heat generated names, pass '' (empty string).
667 ControllerHostnameFormat:
669 description: Format for Controller node hostnames
670 default: '%stackname%-controller-%index%'
671 ComputeHostnameFormat:
673 description: Format for Compute node hostnames
674 default: '%stackname%-novacompute-%index%'
675 BlockStorageHostnameFormat:
677 description: Format for BlockStorage node hostnames
678 default: '%stackname%-blockstorage-%index%'
679 ObjectStorageHostnameFormat:
681 description: Format for SwiftStorage node hostnames
682 default: '%stackname%-objectstorage-%index%'
683 CephStorageHostnameFormat:
685 description: Format for CephStorage node hostnames
686 default: '%stackname%-cephstorage-%index%'
688 # Identifiers to trigger tasks on nodes
693 Setting to a previously unused value during stack-update will trigger
694 package update on all nodes
699 Setting this to a unique value will re-run any deployment tasks which
700 perform configuration on a Heat stack-update.
702 # If you want to remove a specific node from a resource group, you can pass
703 # the node name or id as a <Group>RemovalPolicies parameter, for example:
704 # ComputeRemovalPolicies: [{'resource_list': ['0']}]
705 ControllerRemovalPolicies:
709 List of resources to be removed from ControllerResourceGroup when
710 doing an update which requires removal of specific resources.
711 ComputeRemovalPolicies:
715 List of resources to be removed from ComputeResourceGroup when
716 doing an update which requires removal of specific resources.
717 BlockStorageRemovalPolicies:
721 List of resources to be removed from BlockStorageResourceGroup when
722 doing an update which requires removal of specific resources.
723 ObjectStorageRemovalPolicies:
727 List of resources to be removed from ObjectStorageResourceGroup when
728 doing an update which requires removal of specific resources.
729 CephStorageRemovalPolicies:
733 List of resources to be removed from CephStorageResourceGroup when
734 doing an update which requires removal of specific resources.
738 description: Do not use deprecated params, they will be removed.
740 - controllerExtraConfig
745 HeatAuthEncryptionKey:
746 type: OS::Heat::RandomString
749 type: OS::Heat::RandomString
754 type: OS::Heat::RandomString
759 type: OS::TripleO::EndpointMap
761 CloudName: {get_param: CloudName}
762 CeilometerApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
763 AodhApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
764 CinderApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
765 GlanceApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
766 GlanceRegistryVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
767 GnocchiApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
768 HeatApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
769 IronicApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
770 KeystoneAdminApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
771 KeystonePublicApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
772 MysqlVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
773 NeutronApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
774 NovaApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
775 SaharaApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
776 SwiftProxyVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
777 PublicVirtualIP: {get_attr: [VipMap, net_ip_uri_map, external]}
779 ControllerServiceChain:
780 type: OS::TripleO::Services
782 Services: {get_param: ControllerServices}
783 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
786 type: OS::Heat::ResourceGroup
789 count: {get_param: ControllerCount}
790 removal_policies: {get_param: ControllerRemovalPolicies}
792 type: OS::TripleO::Controller
794 AdminPassword: {get_param: AdminPassword}
795 AodhPassword: {get_param: AodhPassword}
796 CeilometerBackend: {get_param: CeilometerBackend}
797 CeilometerMeteringSecret: {get_param: CeilometerMeteringSecret}
798 CeilometerPassword: {get_param: CeilometerPassword}
799 CeilometerMeterDispatcher: {get_param: CeilometerMeterDispatcher}
800 CloudDomain: {get_param: CloudDomain}
801 ControlVirtualInterface: {get_param: ControlVirtualInterface}
802 controllerExtraConfig: {get_param: controllerExtraConfig}
803 CorosyncIPv6: {get_param: CorosyncIPv6}
804 Debug: {get_param: Debug}
805 EnableFencing: {get_param: EnableFencing}
806 ManageFirewall: {get_param: ManageFirewall}
807 PurgeFirewallRules: {get_param: PurgeFirewallRules}
808 EnableGalera: {get_param: EnableGalera}
809 ExtraConfig: {get_param: ExtraConfig}
810 FencingConfig: {get_param: FencingConfig}
811 Flavor: {get_param: OvercloudControlFlavor}
812 GnocchiPassword: {get_param: GnocchiPassword}
813 GnocchiBackend: {get_param: GnocchiBackend}
814 GnocchiIndexerBackend: {get_param: GnocchiIndexerBackend}
815 HAProxySyslogAddress: {get_param: HAProxySyslogAddress}
816 HeatAuthEncryptionKey: {get_resource: HeatAuthEncryptionKey}
817 HorizonAllowedHosts: {get_param: HorizonAllowedHosts}
818 HorizonSecret: {get_resource: HorizonSecret}
819 Image: {get_param: controllerImage}
820 ImageUpdatePolicy: {get_param: ImageUpdatePolicy}
821 InstanceNameTemplate: {get_param: InstanceNameTemplate}
822 KeyName: {get_param: KeyName}
823 MemcachedIPv6: {get_param: MemcachedIPv6}
824 MysqlClusterUniquePart: {get_attr: [MysqlClusterUniquePart, value]}
825 MysqlInnodbBufferPoolSize: {get_param: MysqlInnodbBufferPoolSize}
826 MysqlMaxConnections: {get_param: MysqlMaxConnections}
827 MysqlRootPassword: {get_attr: [MysqlRootPassword, value]}
828 NeutronTenantMtu: {get_param: NeutronTenantMtu}
829 NeutronPublicInterface: {get_param: NeutronPublicInterface}
830 NeutronPassword: {get_param: NeutronPassword}
831 NeutronMetadataProxySharedSecret: {get_param: NeutronMetadataProxySharedSecret}
832 NovaIPv6: {get_param: NovaIPv6}
833 NovaPassword: {get_param: NovaPassword}
834 PcsdPassword: {get_resource: PcsdPassword}
835 PublicVirtualInterface: {get_param: PublicVirtualInterface}
836 RabbitPassword: {get_param: RabbitPassword}
837 RabbitUserName: {get_param: RabbitUserName}
838 RabbitCookie: {get_attr: [RabbitCookie, value]}
839 RabbitClientUseSSL: {get_param: RabbitClientUseSSL}
840 RabbitClientPort: {get_param: RabbitClientPort}
841 RedisPassword: {get_param: RedisPassword}
842 RedisVirtualIP: {get_attr: [RedisVirtualIP, ip_address]}
843 RedisVirtualIPUri: {get_attr: [RedisVirtualIP, ip_address_uri]}
844 SwiftHashSuffix: {get_param: SwiftHashSuffix}
845 SwiftMinPartHours: {get_param: SwiftMinPartHours}
846 SwiftPartPower: {get_param: SwiftPartPower}
847 SwiftReplicas: { get_param: SwiftReplicas}
848 ServiceNetMap: {get_param: ServiceNetMap}
849 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
850 MysqlVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
851 UpdateIdentifier: {get_param: UpdateIdentifier}
854 template: {get_param: ControllerHostnameFormat}
856 '%stackname%': {get_param: 'OS::stack_name'}
858 ServerMetadata: {get_param: ServerMetadata}
859 SchedulerHints: {get_param: ControllerSchedulerHints}
860 ServiceConfigSettings: {get_attr: [ControllerServiceChain, role_data, config_settings]}
864 type: OS::TripleO::Services
866 Services: {get_param: ComputeServices}
867 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
870 type: OS::Heat::ResourceGroup
873 count: {get_param: ComputeCount}
874 removal_policies: {get_param: ComputeRemovalPolicies}
876 type: OS::TripleO::Compute
878 AdminPassword: {get_param: AdminPassword}
879 CeilometerComputeAgent: {get_param: CeilometerComputeAgent}
880 CeilometerMeteringSecret: {get_param: CeilometerMeteringSecret}
881 CeilometerPassword: {get_param: CeilometerPassword}
882 CinderEnableNfsBackend: {get_param: CinderEnableNfsBackend}
883 CinderEnableRbdBackend: {get_param: CinderEnableRbdBackend}
884 Debug: {get_param: Debug}
885 ExtraConfig: {get_param: ExtraConfig}
886 Flavor: {get_param: OvercloudComputeFlavor}
887 GlanceHost: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
888 Image: {get_param: NovaImage}
889 ImageUpdatePolicy: {get_param: ImageUpdatePolicy}
890 KeyName: {get_param: KeyName}
891 KeystoneAdminApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
892 KeystonePublicApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
893 NeutronBridgeMappings: {get_param: NeutronBridgeMappings}
894 NeutronTenantMtu: {get_param: NeutronTenantMtu}
895 NeutronEnableTunnelling: {get_param: NeutronEnableTunnelling}
896 NeutronEnableL2Pop : {get_param: NeutronEnableL2Pop}
897 NeutronFlatNetworks: {get_param: NeutronFlatNetworks}
898 NeutronHost: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
899 NeutronNetworkType: {get_param: NeutronNetworkType}
900 NeutronTunnelTypes: {get_param: NeutronTunnelTypes}
901 NeutronNetworkVLANRanges: {get_param: NeutronNetworkVLANRanges}
902 NeutronPassword: {get_param: NeutronPassword}
903 NeutronPhysicalBridge: {get_param: HypervisorNeutronPhysicalBridge}
904 NeutronPublicInterface: {get_param: HypervisorNeutronPublicInterface}
905 NeutronMetadataProxySharedSecret: {get_param: NeutronMetadataProxySharedSecret}
906 NeutronCorePlugin: {get_param: NeutronCorePlugin}
907 NeutronServicePlugins: {get_param: NeutronServicePlugins}
908 NeutronTypeDrivers: {get_param: NeutronTypeDrivers}
909 NeutronMechanismDrivers: {get_param: NeutronMechanismDrivers}
910 NeutronAgentExtensions: {get_param: NeutronAgentExtensions}
911 # L3 HA and Failover is not relevant for Computes, should be removed
912 NeutronAllowL3AgentFailover: {get_param: NeutronAllowL3AgentFailover}
913 NeutronL3HA: {get_param: NeutronL3HA}
914 NovaApiHost: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
915 NovaComputeDriver: {get_param: NovaComputeDriver}
916 NovaComputeExtraConfig: {get_param: NovaComputeExtraConfig}
917 NovaComputeLibvirtType: {get_param: NovaComputeLibvirtType}
918 NovaComputeLibvirtVifDriver: {get_param: NovaComputeLibvirtVifDriver}
919 NovaEnableRbdBackend: {get_param: NovaEnableRbdBackend}
920 NovaIPv6: {get_param: NovaIPv6}
921 NovaPublicIP: {get_attr: [VipMap, net_ip_map, external]}
922 NovaPassword: {get_param: NovaPassword}
923 NovaOVSBridge: {get_param: NovaOVSBridge}
924 NovaSecurityGroupAPI: {get_param: NovaSecurityGroupAPI}
925 RabbitHost: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]}
926 RabbitPassword: {get_param: RabbitPassword}
927 RabbitUserName: {get_param: RabbitUserName}
928 RabbitClientUseSSL: {get_param: RabbitClientUseSSL}
929 RabbitClientPort: {get_param: RabbitClientPort}
930 ServiceNetMap: {get_param: ServiceNetMap}
931 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
932 UpdateIdentifier: {get_param: UpdateIdentifier}
935 template: {get_param: ComputeHostnameFormat}
937 '%stackname%': {get_param: 'OS::stack_name'}
938 CloudDomain: {get_param: CloudDomain}
939 ServerMetadata: {get_param: ServerMetadata}
940 SchedulerHints: {get_param: NovaComputeSchedulerHints}
942 ServiceConfigSettings: {get_attr: [ComputeServiceChain, role_data, config_settings]}
944 BlockStorageServiceChain:
945 type: OS::TripleO::Services
947 Services: {get_param: BlockStorageServices}
948 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
951 type: OS::Heat::ResourceGroup
954 count: {get_param: BlockStorageCount}
955 removal_policies: {get_param: BlockStorageRemovalPolicies}
957 type: OS::TripleO::BlockStorage
959 Image: {get_param: BlockStorageImage}
960 KeyName: {get_param: KeyName}
961 Flavor: {get_param: OvercloudBlockStorageFlavor}
962 UpdateIdentifier: {get_param: UpdateIdentifier}
965 template: {get_param: BlockStorageHostnameFormat}
967 '%stackname%': {get_param: 'OS::stack_name'}
968 ServiceNetMap: {get_param: ServiceNetMap}
969 ExtraConfig: {get_param: ExtraConfig}
970 BlockStorageExtraConfig: {get_param: BlockStorageExtraConfig}
971 CloudDomain: {get_param: CloudDomain}
972 ServerMetadata: {get_param: ServerMetadata}
973 SchedulerHints: {get_param: BlockStorageSchedulerHints}
975 ServiceConfigSettings: {get_attr: [BlockStorageServiceChain, role_data, config_settings]}
977 ObjectStorageServiceChain:
978 type: OS::TripleO::Services
980 Services: {get_param: ObjectStorageServices}
981 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
984 type: OS::Heat::ResourceGroup
987 count: {get_param: ObjectStorageCount}
988 removal_policies: {get_param: ObjectStorageRemovalPolicies}
990 type: OS::TripleO::ObjectStorage
992 KeyName: {get_param: KeyName}
993 Flavor: {get_param: OvercloudSwiftStorageFlavor}
994 HashSuffix: {get_param: SwiftHashSuffix}
995 MinPartHours: {get_param: SwiftMinPartHours}
996 PartPower: {get_param: SwiftPartPower}
997 Image: {get_param: SwiftStorageImage}
998 Replicas: { get_param: SwiftReplicas}
999 UpdateIdentifier: {get_param: UpdateIdentifier}
1000 ServiceNetMap: {get_param: ServiceNetMap}
1003 template: {get_param: ObjectStorageHostnameFormat}
1005 '%stackname%': {get_param: 'OS::stack_name'}
1006 ExtraConfig: {get_param: ExtraConfig}
1007 ObjectStorageExtraConfig: {get_param: ObjectStorageExtraConfig}
1008 CloudDomain: {get_param: CloudDomain}
1009 ServerMetadata: {get_param: ServerMetadata}
1010 SchedulerHints: {get_param: ObjectStorageSchedulerHints}
1011 NodeIndex: '%index%'
1012 ServiceConfigSettings: {get_attr: [ObjectStorageServiceChain, role_data, config_settings]}
1014 CephStorageServiceChain:
1015 type: OS::TripleO::Services
1017 Services: {get_param: CephStorageServices}
1018 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
1021 type: OS::Heat::ResourceGroup
1022 depends_on: Networks
1024 count: {get_param: CephStorageCount}
1025 removal_policies: {get_param: CephStorageRemovalPolicies}
1027 type: OS::TripleO::CephStorage
1029 Image: {get_param: CephStorageImage}
1030 KeyName: {get_param: KeyName}
1031 Flavor: {get_param: OvercloudCephStorageFlavor}
1032 ServiceNetMap: {get_param: ServiceNetMap}
1033 UpdateIdentifier: {get_param: UpdateIdentifier}
1036 template: {get_param: CephStorageHostnameFormat}
1038 '%stackname%': {get_param: 'OS::stack_name'}
1039 ExtraConfig: {get_param: ExtraConfig}
1040 CephStorageExtraConfig: {get_param: CephStorageExtraConfig}
1041 CloudDomain: {get_param: CloudDomain}
1042 ServerMetadata: {get_param: ServerMetadata}
1043 SchedulerHints: {get_param: CephStorageSchedulerHints}
1044 NodeIndex: '%index%'
1045 ServiceConfigSettings: {get_attr: [CephStorageServiceChain, role_data, config_settings]}
1047 ControllerIpListMap:
1048 type: OS::TripleO::Network::Ports::NetIpListMap
1050 ControlPlaneIpList: {get_attr: [Controller, ip_address]}
1051 ExternalIpList: {get_attr: [Controller, external_ip_address]}
1052 InternalApiIpList: {get_attr: [Controller, internal_api_ip_address]}
1053 StorageIpList: {get_attr: [Controller, storage_ip_address]}
1054 StorageMgmtIpList: {get_attr: [Controller, storage_mgmt_ip_address]}
1055 TenantIpList: {get_attr: [Controller, tenant_ip_address]}
1056 ManagementIpList: {get_attr: [Controller, management_ip_address]}
1059 type: OS::TripleO::AllNodes::SoftwareConfig
1061 compute_hosts: {get_attr: [Compute, hosts_entry]}
1062 controller_hosts: {get_attr: [Controller, hosts_entry]}
1063 controller_ips: {get_attr: [Controller, ip_address]}
1064 block_storage_hosts: {get_attr: [BlockStorage, hosts_entry]}
1065 object_storage_hosts: {get_attr: [ObjectStorage, hosts_entry]}
1066 ceph_storage_hosts: {get_attr: [CephStorage, hosts_entry]}
1067 controller_names: {get_attr: [Controller, hostname]}
1068 rabbit_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]}
1069 mongo_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, MongoDbNetwork]}]}
1070 redis_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, RedisNetwork]}]}
1071 memcache_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, MemcachedNetwork]}]}
1072 mysql_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
1073 horizon_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, HorizonNetwork]}]}
1074 heat_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
1075 swift_proxy_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
1076 ceilometer_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
1077 aodh_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
1078 gnocchi_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
1079 nova_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
1080 nova_metadata_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, NovaMetadataNetwork]}]}
1081 glance_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
1082 glance_registry_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
1083 cinder_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
1084 neutron_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
1085 keystone_public_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
1086 keystone_admin_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
1087 sahara_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
1088 ironic_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
1089 ceph_mon_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, CephPublicNetwork]}]}
1090 ceph_mon_node_names: {get_attr: [Controller, hostname]}
1091 DeployIdentifier: {get_param: DeployIdentifier}
1092 UpdateIdentifier: {get_param: UpdateIdentifier}
1095 type: OS::Heat::RandomString
1099 MysqlClusterUniquePart:
1100 type: OS::Heat::RandomString
1105 type: OS::Heat::RandomString
1108 salt: {get_param: RabbitCookieSalt}
1110 # creates the network architecture
1112 type: OS::TripleO::Network
1115 type: OS::Neutron::Port
1116 depends_on: Networks
1118 name: control_virtual_ip
1119 network: {get_param: NeutronControlPlaneID}
1120 fixed_ips: {get_param: ControlFixedIPs}
1121 replacement_policy: AUTO
1124 depends_on: Networks
1125 type: OS::TripleO::Network::Ports::RedisVipPort
1127 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
1128 ControlPlaneNetwork: {get_param: NeutronControlPlaneID}
1129 PortName: redis_virtual_ip
1130 NetworkName: {get_param: [ServiceNetMap, RedisNetwork]}
1133 # The public VIP is on the External net, falls back to ctlplane
1135 depends_on: Networks
1136 type: OS::TripleO::Network::Ports::ExternalVipPort
1138 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
1139 ControlPlaneNetwork: {get_param: NeutronControlPlaneID}
1140 PortName: public_virtual_ip
1141 FixedIPs: {get_param: PublicVirtualFixedIPs}
1143 InternalApiVirtualIP:
1144 depends_on: Networks
1145 type: OS::TripleO::Network::Ports::InternalApiVipPort
1147 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
1148 PortName: internal_api_virtual_ip
1149 FixedIPs: {get_param: InternalApiVirtualFixedIPs}
1152 depends_on: Networks
1153 type: OS::TripleO::Network::Ports::StorageVipPort
1155 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
1156 PortName: storage_virtual_ip
1157 FixedIPs: {get_param: StorageVirtualFixedIPs}
1159 StorageMgmtVirtualIP:
1160 depends_on: Networks
1161 type: OS::TripleO::Network::Ports::StorageMgmtVipPort
1163 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
1164 PortName: storage_management_virtual_ip
1165 FixedIPs: {get_param: StorageMgmtVirtualFixedIPs}
1168 type: OS::TripleO::Network::Ports::NetVipMap
1170 ControlPlaneIp: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
1171 ExternalIp: {get_attr: [PublicVirtualIP, ip_address]}
1172 ExternalIpUri: {get_attr: [PublicVirtualIP, ip_address_uri]}
1173 InternalApiIp: {get_attr: [InternalApiVirtualIP, ip_address]}
1174 InternalApiIpUri: {get_attr: [InternalApiVirtualIP, ip_address_uri]}
1175 StorageIp: {get_attr: [StorageVirtualIP, ip_address]}
1176 StorageIpUri: {get_attr: [StorageVirtualIP, ip_address_uri]}
1177 StorageMgmtIp: {get_attr: [StorageMgmtVirtualIP, ip_address]}
1178 StorageMgmtIpUri: {get_attr: [StorageMgmtVirtualIP, ip_address_uri]}
1179 # No tenant or management VIP required
1182 type: OS::TripleO::VipConfig
1185 type: OS::Heat::StructuredDeployments
1188 config: {get_resource: VipConfig}
1189 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1191 # service VIP mappings
1192 keystone_admin_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
1193 keystone_public_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
1194 neutron_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
1195 cinder_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
1196 glance_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
1197 glance_registry_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
1198 swift_proxy_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
1199 nova_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
1200 nova_metadata_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaMetadataNetwork]}]}
1201 ceilometer_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
1202 aodh_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
1203 gnocchi_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
1204 heat_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
1205 horizon_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HorizonNetwork]}]}
1206 redis_vip: {get_attr: [RedisVirtualIP, ip_address]}
1207 mysql_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
1208 rabbit_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]}
1209 # direct configuration of Virtual IPs for each network
1210 control_virtual_ip: {get_attr: [VipMap, net_ip_map, ctlplane]}
1211 public_virtual_ip: {get_attr: [VipMap, net_ip_map, external]}
1212 internal_api_virtual_ip: {get_attr: [VipMap, net_ip_map, internal_api]}
1213 sahara_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
1214 ironic_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
1215 storage_virtual_ip: {get_attr: [VipMap, net_ip_map, storage]}
1216 storage_mgmt_virtual_ip: {get_attr: [VipMap, net_ip_map, storage_mgmt]}
1218 ControllerBootstrapNodeConfig:
1219 type: OS::TripleO::BootstrapNode::SoftwareConfig
1221 bootstrap_nodeid: {get_attr: [Controller, resource.0.hostname]}
1222 bootstrap_nodeid_ip: {get_attr: [Controller, resource.0.ip_address]}
1224 ControllerBootstrapNodeDeployment:
1225 type: OS::Heat::StructuredDeployments
1227 name: ControllerBootstrapNodeDeployment
1228 config: {get_attr: [ControllerBootstrapNodeConfig, config_id]}
1229 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1231 ControllerSwiftDeployment:
1232 type: OS::Heat::StructuredDeployments
1234 name: ControllerSwiftDeployment
1235 config: {get_attr: [SwiftDevicesAndProxyConfig, config_id]}
1236 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1238 ObjectStorageSwiftDeployment:
1239 type: OS::Heat::StructuredDeployments
1241 name: ObjectStorageSwiftDeployment
1242 config: {get_attr: [SwiftDevicesAndProxyConfig, config_id]}
1243 servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1245 SwiftDevicesAndProxyConfig:
1246 type: OS::TripleO::SwiftDevicesAndProxy::SoftwareConfig
1248 controller_swift_devices: {get_attr: [Controller, swift_device]}
1249 object_store_swift_devices: {get_attr: [ObjectStorage, swift_device]}
1250 controller_swift_proxy_memcaches: {get_attr: [Controller, swift_proxy_memcache]}
1252 ComputeCephDeployment:
1253 type: OS::Heat::StructuredDeployments
1255 name: ComputeCephDeployment
1256 config: {get_attr: [CephClusterConfig, config_id]}
1257 servers: {get_attr: [Compute, attributes, nova_server_resource]}
1259 ControllerCephDeployment:
1260 type: OS::Heat::StructuredDeployments
1262 name: ControllerCephDeployment
1263 config: {get_attr: [CephClusterConfig, config_id]}
1264 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1266 CephStorageCephDeployment:
1267 type: OS::Heat::StructuredDeployments
1269 name: CephStorageCephDeployment
1270 config: {get_attr: [CephClusterConfig, config_id]}
1271 servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1274 type: OS::TripleO::CephClusterConfig::SoftwareConfig
1276 ControllerAllNodesDeployment:
1277 type: OS::Heat::StructuredDeployments
1279 name: ControllerAllNodesDeployment
1280 config: {get_attr: [allNodesConfig, config_id]}
1281 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1283 ComputeAllNodesDeployment:
1284 type: OS::Heat::StructuredDeployments
1286 name: ComputeAllNodesDeployment
1287 config: {get_attr: [allNodesConfig, config_id]}
1288 servers: {get_attr: [Compute, attributes, nova_server_resource]}
1290 BlockStorageAllNodesDeployment:
1291 type: OS::Heat::StructuredDeployments
1293 name: BlockStorageAllNodesDeployment
1294 config: {get_attr: [allNodesConfig, config_id]}
1295 servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
1297 ObjectStorageAllNodesDeployment:
1298 type: OS::Heat::StructuredDeployments
1300 name: ObjectStorageAllNodesDeployment
1301 config: {get_attr: [allNodesConfig, config_id]}
1302 servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1304 CephStorageAllNodesDeployment:
1305 type: OS::Heat::StructuredDeployments
1307 name: CephStorageAllNodesDeployment
1308 config: {get_attr: [allNodesConfig, config_id]}
1309 servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1311 # All Nodes Validations
1312 AllNodesValidationConfig:
1313 type: OS::TripleO::AllNodes::Validation
1318 - - {get_attr: [Controller, resource.0.external_ip_address]}
1319 - {get_attr: [Controller, resource.0.internal_api_ip_address]}
1320 - {get_attr: [Controller, resource.0.storage_ip_address]}
1321 - {get_attr: [Controller, resource.0.storage_mgmt_ip_address]}
1322 - {get_attr: [Controller, resource.0.tenant_ip_address]}
1324 ControllerAllNodesValidationDeployment:
1325 type: OS::Heat::StructuredDeployments
1326 depends_on: ControllerAllNodesDeployment
1328 name: ControllerAllNodesValidationDeployment
1329 config: {get_resource: AllNodesValidationConfig}
1330 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1332 ComputeAllNodesValidationDeployment:
1333 type: OS::Heat::StructuredDeployments
1334 depends_on: ComputeAllNodesDeployment
1336 name: ComputeAllNodesValidationDeployment
1337 config: {get_resource: AllNodesValidationConfig}
1338 servers: {get_attr: [Compute, attributes, nova_server_resource]}
1340 BlockStorageAllNodesValidationDeployment:
1341 type: OS::Heat::StructuredDeployments
1342 depends_on: BlockStorageAllNodesDeployment
1344 name: BlockStorageAllNodesValidationDeployment
1345 config: {get_resource: AllNodesValidationConfig}
1346 servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
1348 ObjectStorageAllNodesValidationDeployment:
1349 type: OS::Heat::StructuredDeployments
1350 depends_on: ObjectStorageAllNodesDeployment
1352 name: ObjectStorageAllNodesValidationDeployment
1353 config: {get_resource: AllNodesValidationConfig}
1354 servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1356 CephStorageAllNodesValidationDeployment:
1357 type: OS::Heat::StructuredDeployments
1358 depends_on: CephStorageAllNodesDeployment
1360 name: CephStorageAllNodesValidationDeployment
1361 config: {get_resource: AllNodesValidationConfig}
1362 servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1365 type: OS::TripleO::Tasks::UpdateWorkflow
1367 controller_servers: {get_attr: [Controller, attributes, nova_server_resource]}
1368 compute_servers: {get_attr: [Compute, attributes, nova_server_resource]}
1369 blockstorage_servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
1370 objectstorage_servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1371 cephstorage_servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1373 deploy_identifier: {get_param: DeployIdentifier}
1374 update_identifier: {get_param: UpdateIdentifier}
1376 # Optional ExtraConfig for all nodes - all roles are passed in here, but
1377 # the nested template may configure each role differently (or not at all)
1378 AllNodesExtraConfig:
1379 type: OS::TripleO::AllNodesExtraConfig
1382 - ComputeAllNodesValidationDeployment
1383 - BlockStorageAllNodesValidationDeployment
1384 - ObjectStorageAllNodesValidationDeployment
1385 - CephStorageAllNodesValidationDeployment
1386 - ControllerAllNodesValidationDeployment
1388 controller_servers: {get_attr: [Controller, attributes, nova_server_resource]}
1389 compute_servers: {get_attr: [Compute, attributes, nova_server_resource]}
1390 blockstorage_servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
1391 objectstorage_servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1392 cephstorage_servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1394 # Nested stack deployment runs after all other controller deployments
1395 ControllerNodesPostDeployment:
1396 type: OS::TripleO::ControllerPostDeployment
1397 depends_on: [ControllerBootstrapNodeDeployment, ControllerAllNodesDeployment, ControllerSwiftDeployment, ControllerCephDeployment]
1399 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1400 RoleData: {get_attr: [ControllerServiceChain, role_data]}
1402 ComputeNodesPostDeployment:
1403 type: OS::TripleO::ComputePostDeployment
1404 depends_on: [ComputeAllNodesDeployment, ComputeCephDeployment]
1406 servers: {get_attr: [Compute, attributes, nova_server_resource]}
1407 RoleData: {get_attr: [ComputeServiceChain, role_data]}
1409 ObjectStorageNodesPostDeployment:
1410 type: OS::TripleO::ObjectStoragePostDeployment
1411 depends_on: [ObjectStorageSwiftDeployment, ObjectStorageAllNodesDeployment]
1413 servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1414 RoleData: {get_attr: [ObjectStorageServiceChain, role_data]}
1416 BlockStorageNodesPostDeployment:
1417 type: OS::TripleO::BlockStoragePostDeployment
1418 depends_on: [ControllerNodesPostDeployment, BlockStorageAllNodesDeployment]
1420 servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
1421 RoleData: {get_attr: [BlockStorageServiceChain, role_data]}
1423 CephStorageNodesPostDeployment:
1424 type: OS::TripleO::CephStoragePostDeployment
1425 depends_on: [ControllerNodesPostDeployment, CephStorageCephDeployment, CephStorageAllNodesDeployment]
1427 servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1428 RoleData: {get_attr: [CephStorageServiceChain, role_data]}
1432 description: URL for the Overcloud Keystone service
1433 value: {get_attr: [EndpointMap, endpoint_map, KeystonePublic, uri]}
1435 description: Keystone Admin VIP endpoint
1436 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
1438 description: Controller VIP for public API endpoints
1439 value: {get_attr: [VipMap, net_ip_map, external]}
1441 description: VIP for Aodh API internal endpoint
1442 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
1443 CeilometerInternalVip:
1444 description: VIP for Ceilometer API internal endpoint
1445 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
1447 description: VIP for Cinder API internal endpoint
1448 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
1450 description: VIP for Glance API internal endpoint
1451 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
1453 description: VIP for Gnocchi API internal endpoint
1454 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
1456 description: VIP for Heat API internal endpoint
1457 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
1459 description: VIP for Ironic API internal endpoint
1460 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
1461 KeystoneInternalVip:
1462 description: VIP for Keystone API internal endpoint
1463 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
1465 description: VIP for Neutron API internal endpoint
1466 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
1468 description: VIP for Nova API internal endpoint
1469 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
1471 description: VIP for Sahara API internal endpoint
1472 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
1474 description: VIP for Swift Proxy internal endpoint
1475 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
1478 Mapping of the resources with the needed info for their endpoints.
1479 This includes the protocol used, the IP, port and also a full
1480 representation of the URI.
1481 value: {get_attr: [EndpointMap, endpoint_map]}
1484 The content that should be appended to your /etc/hosts if you want to get
1485 hostname-based access to the deployed nodes (useful for testing without
1487 value: {get_attr: [allNodesConfig, hosts_entries]}