1 heat_template_version: 2016-04-08
4 Deploy an OpenStack environment, consisting of several node types (roles),
5 Controller, Compute, BlockStorage, SwiftStorage and CephStorage. The Storage
6 roles enable independent scaling of the storage components, but the minimal
7 deployment is one Controller and one Compute node.
10 # TODO(shadower): we should probably use the parameter groups to put
14 # Common parameters (not specific to a role)
16 description: The password for the keystone admin account, used for monitoring, querying neutron etc.
20 description: The password for the aodh services.
23 CinderEnableNfsBackend:
25 description: Whether to enable or not the NFS backend for Cinder
27 CinderEnableRbdBackend:
29 description: Whether to enable or not the Rbd backend for Cinder
33 description: The DNS name of this cloud. E.g. ci-overcloud.tripleo.org
37 description: Should be used for arbitrary ips.
41 description: Enable IPv6 in Corosync
45 description: Set to True to enable debugging on all services.
49 description: Syslog address where HAproxy will send its log
52 default: 'REBUILD_PRESERVE_EPHEMERAL'
53 description: What policy to use when reconstructing instances. REBUILD for rebuilds, REBUILD_PRESERVE_EPHEMERAL to preserve /mnt.
55 InternalApiVirtualFixedIPs:
58 Control the IP allocation for the InternalApiVirtualInterface port. E.g.
59 [{'ip_address':'1.2.3.4'}]
63 description: Name of an existing Nova key pair to enable SSH access to the instances
66 - custom_constraint: nova.keypair
69 description: Enable IPv6 features in Memcached.
71 NeutronControlPlaneID:
74 description: Neutron ID or name for ctlplane network.
76 description: The password for the neutron service account, used by neutron agents.
79 NeutronPublicInterface:
81 description: What interface to bridge onto br-ex for network nodes.
85 description: Enable IPv6 features in Nova
88 description: The password for the nova service account, used by nova-api.
91 PublicVirtualFixedIPs:
94 Control the IP allocation for the PublicVirtualInterface port. E.g.
95 [{'ip_address':'1.2.3.4'}]
100 description: Salt for the rabbit cookie, change this to force the randomly generated rabbit cookie to change.
103 description: The username for RabbitMQ
106 description: The password for RabbitMQ
112 Rabbit client subscriber parameter to specify
113 an SSL connection to the RabbitMQ host.
117 description: Set rabbit subscriber port, change this if using SSL
120 description: The password for Redis
123 StorageVirtualFixedIPs:
126 Control the IP allocation for the StorageVirtualInterface port. E.g.
127 [{'ip_address':'1.2.3.4'}]
129 StorageMgmtVirtualFixedIPs:
132 Control the IP allocation for the StorageMgmgVirtualInterface port. E.g.
133 [{'ip_address':'1.2.3.4'}]
136 default: 'localdomain'
139 The DNS domain used for the hosts. This should match the dhcp_domain
140 configured in the Undercloud neutron. Defaults to localdomain.
144 Extra properties or metadata passed to Nova for the created nodes in
145 the overcloud. It's accessible via the Nova metadata API.
148 # Controller-specific params
152 controllerExtraConfig:
155 Deprecated. Use ControllerExtraConfig via parameter_defaults instead.
159 default: overcloud-full
161 - custom_constraint: glance.image
162 OvercloudControlFlavor:
163 description: Flavor for control nodes to request when deploying.
167 - custom_constraint: nova.flavor
168 ControlVirtualInterface:
170 description: Interface where virtual ip will be assigned.
174 description: Whether to enable fencing in Pacemaker or not.
178 description: Whether to use Galera instead of regular MariaDB.
180 ControllerSchedulerHints:
182 description: Optional scheduler hints to pass to nova
187 Additional configuration to inject into the cluster. The format required
188 may be implementation specific, e.g puppet hieradata. Any role specific
189 ExtraConfig, e.g controllerExtraConfig takes precedence over ExtraConfig.
194 Pacemaker fencing configuration. The JSON should have
195 the following structure:
199 "agent": "AGENT_NAME",
200 "host_mac": "HOST_MAC_ADDRESS",
201 "params": {"PARAM_NAME": "PARAM_VALUE"}
209 "agent": "fence_xvm",
210 "host_mac": "52:54:00:aa:bb:cc",
212 "multicast_address": "225.0.0.12",
213 "port": "baremetal_0",
215 "manage_key_file": true,
216 "key_file": "/etc/fence_xvm.key",
217 "key_file_password": "abcdef"
225 InstanceNameTemplate:
226 default: 'instance-%08x'
227 description: Template string to be used to generate instance names
231 description: Whether to manage IPtables rules.
235 description: Whether IPtables rules should be purged before setting up the ones.
237 MysqlInnodbBufferPoolSize:
239 Specifies the size of the buffer pool in megabytes. Setting to
240 zero should be interpreted as "no value" and will defer to the
245 description: Configures MySQL max_connections config setting
248 PublicVirtualInterface:
251 Specifies the interface where the public-facing virtual ip will be assigned.
252 This should be int_public when a VLAN is being used.
255 description: A random string to be used as a salt when hashing to determine mappings in the ring.
261 description: The minimum time (in hours) before a partition in a ring can be moved following a rebalance.
264 description: Partition Power to use when building Swift rings
269 description: How many replicas to use in the swift rings.
271 # Compute-specific params
275 HypervisorNeutronPhysicalBridge:
278 An OVS bridge to create on each hypervisor. This defaults to br-ex the
279 same as the control plane nodes, as we have a uniform configuration of
280 the openvswitch agent. Typically should not need to be changed.
282 HypervisorNeutronPublicInterface:
284 description: What interface to add to the HypervisorNeutronPhysicalBridge.
288 default: libvirt.LibvirtDriver
289 NovaComputeExtraConfig:
292 NovaCompute specific configuration to inject into the cluster. Same
293 structure as ExtraConfig.
295 NovaComputeLibvirtType:
298 NovaComputeLibvirtVifDriver:
300 description: Libvirt VIF driver configuration for the network
302 NovaComputeSchedulerHints:
304 description: Optional scheduler hints to pass to nova
306 NovaEnableRbdBackend:
308 description: Whether to enable or not the Rbd backend for Nova
312 default: overcloud-full
314 - custom_constraint: glance.image
317 description: Name of integration bridge used by Open vSwitch
319 NovaSecurityGroupAPI:
321 description: The full class name of the security API class
323 OvercloudComputeFlavor:
324 description: Use this flavor
328 - custom_constraint: nova.flavor
331 NeutronTenantNetwork: tenant
332 CeilometerApiNetwork: internal_api
333 AodhApiNetwork: internal_api
334 GnocchiApiNetwork: internal_api
335 MongoDbNetwork: internal_api
336 CinderApiNetwork: internal_api
337 CinderIscsiNetwork: storage
338 GlanceApiNetwork: storage
339 GlanceRegistryNetwork: internal_api
340 IronicApiNetwork: internal_api
341 KeystoneAdminApiNetwork: ctlplane # allows undercloud to config endpoints
342 KeystonePublicApiNetwork: internal_api
343 NeutronApiNetwork: internal_api
344 HeatApiNetwork: internal_api
345 NovaApiNetwork: internal_api
346 NovaMetadataNetwork: internal_api
347 NovaVncProxyNetwork: internal_api
348 SwiftMgmtNetwork: storage_mgmt
349 SwiftProxyNetwork: storage
350 SaharaApiNetwork: internal_api
351 HorizonNetwork: internal_api
352 MemcachedNetwork: internal_api
353 RabbitMqNetwork: internal_api
354 RedisNetwork: internal_api
355 MysqlNetwork: internal_api
356 CephClusterNetwork: storage_mgmt
357 CephPublicNetwork: storage
358 ControllerHostnameResolveNetwork: internal_api
359 ComputeHostnameResolveNetwork: internal_api
360 BlockStorageHostnameResolveNetwork: internal_api
361 ObjectStorageHostnameResolveNetwork: internal_api
362 CephStorageHostnameResolveNetwork: storage
363 description: Mapping of service_name -> network name. Typically set
364 via parameter_defaults in the resource registry.
369 - OS::TripleO::Services::CephMon
370 - OS::TripleO::Services::CephExternal
371 - OS::TripleO::Services::CinderApi
372 - OS::TripleO::Services::CinderScheduler
373 - OS::TripleO::Services::CinderVolume
374 - OS::TripleO::Services::Kernel
375 - OS::TripleO::Services::Keystone
376 - OS::TripleO::Services::GlanceApi
377 - OS::TripleO::Services::GlanceRegistry
378 - OS::TripleO::Services::HeatApi
379 - OS::TripleO::Services::HeatApiCfn
380 - OS::TripleO::Services::HeatApiCloudwatch
381 - OS::TripleO::Services::HeatEngine
382 - OS::TripleO::Services::MySQL
383 - OS::TripleO::Services::NeutronDhcpAgent
384 - OS::TripleO::Services::NeutronL3Agent
385 - OS::TripleO::Services::NeutronMetadataAgent
386 - OS::TripleO::Services::NeutronServer
387 - OS::TripleO::Services::NeutronCorePlugin
388 - OS::TripleO::Services::NeutronOvsAgent
389 - OS::TripleO::Services::RabbitMQ
390 - OS::TripleO::Services::HAproxy
391 - OS::TripleO::Services::Keepalived
392 - OS::TripleO::Services::Memcached
393 - OS::TripleO::Services::Pacemaker
394 - OS::TripleO::Services::Redis
395 - OS::TripleO::Services::NovaConductor
396 - OS::TripleO::Services::MongoDb
397 - OS::TripleO::Services::NovaApi
398 - OS::TripleO::Services::NovaScheduler
399 - OS::TripleO::Services::NovaConsoleauth
400 - OS::TripleO::Services::NovaVncproxy
401 - OS::TripleO::Services::Ntp
402 - OS::TripleO::Services::SwiftProxy
403 - OS::TripleO::Services::SwiftStorage
404 - OS::TripleO::Services::Snmp
405 - OS::TripleO::Services::Timezone
406 - OS::TripleO::Services::CeilometerApi
407 - OS::TripleO::Services::CeilometerCollector
408 - OS::TripleO::Services::CeilometerExpirer
409 - OS::TripleO::Services::CeilometerAgentCentral
410 - OS::TripleO::Services::CeilometerAgentNotification
411 - OS::TripleO::Services::Horizon
412 - OS::TripleO::Services::GnocchiApi
413 - OS::TripleO::Services::GnocchiMetricd
414 - OS::TripleO::Services::GnocchiStatsd
416 description: A list of service resources (configured in the Heat
417 resource_registry) which represent nested stacks
418 for each service that should get installed on the Controllers.
419 type: comma_delimited_list
423 - OS::TripleO::Services::CephClient
424 - OS::TripleO::Services::CephExternal
425 - OS::TripleO::Services::Timezone
426 - OS::TripleO::Services::Ntp
427 - OS::TripleO::Services::Snmp
428 - OS::TripleO::Services::NovaCompute
429 - OS::TripleO::Services::NovaLibvirt
430 - OS::TripleO::Services::Kernel
431 - OS::TripleO::Services::ComputeNeutronCorePlugin
432 - OS::TripleO::Services::ComputeNeutronOvsAgent
433 - OS::TripleO::Services::ComputeCeilometerAgent
434 description: A list of service resources (configured in the Heat
435 resource_registry) which represent nested stacks
436 for each service that should get installed on the Compute Nodes.
437 type: comma_delimited_list
439 # Block storage specific parameters
444 default: overcloud-full
446 OvercloudBlockStorageFlavor:
447 description: Flavor for block storage nodes to request when deploying.
451 - custom_constraint: nova.flavor
452 BlockStorageExtraConfig:
455 BlockStorage specific configuration to inject into the cluster. Same
456 structure as ExtraConfig.
458 BlockStorageSchedulerHints:
460 description: Optional scheduler hints to pass to nova
462 BlockStorageServices:
464 - OS::TripleO::Services::CinderVolume
465 - OS::TripleO::Services::Kernel
466 - OS::TripleO::Services::Ntp
467 - OS::TripleO::Services::Timezone
468 - OS::TripleO::Services::Snmp
469 description: A list of service resources (configured in the Heat
470 resource_registry) which represent nested stacks
471 for each service that should get installed on the BlockStorage nodes.
472 type: comma_delimited_list
474 # Object storage specific parameters
478 OvercloudSwiftStorageFlavor:
479 description: Flavor for Swift storage nodes to request when deploying.
483 - custom_constraint: nova.flavor
485 default: overcloud-full
487 ObjectStorageExtraConfig:
490 ObjectStorage specific configuration to inject into the cluster. Same
491 structure as ExtraConfig.
493 ObjectStorageSchedulerHints:
495 description: Optional scheduler hints to pass to nova
497 ObjectStorageServices:
499 - OS::TripleO::Services::Kernel
500 - OS::TripleO::Services::Ntp
501 - OS::TripleO::Services::SwiftStorage
502 - OS::TripleO::Services::Snmp
503 - OS::TripleO::Services::Timezone
504 description: A list of service resources (configured in the Heat
505 resource_registry) which represent nested stacks
506 for each service that should get installed on the ObjectStorage nodes.
507 Note this role currently only supports steps 2, 3 and 4 configuration.
508 type: comma_delimited_list
511 # Ceph storage specific parameters
516 default: overcloud-full
518 OvercloudCephStorageFlavor:
520 description: Flavor for Ceph storage nodes to request when deploying.
523 - custom_constraint: nova.flavor
524 CephStorageExtraConfig:
527 CephStorage specific configuration to inject into the cluster. Same
528 structure as ExtraConfig.
530 CephStorageSchedulerHints:
532 description: Optional scheduler hints to pass to nova
536 - OS::TripleO::Services::CephOSD
537 - OS::TripleO::Services::Kernel
538 - OS::TripleO::Services::Ntp
539 - OS::TripleO::Services::Timezone
540 description: A list of service resources (configured in the Heat
541 resource_registry) which represent nested stacks
542 for each service that should get installed on the CephStorage nodes.
543 type: comma_delimited_list
545 # Hostname format for each role
546 # Note %index% is translated into the index of the node, e.g 0/1/2 etc
547 # and %stackname% is replaced with OS::stack_name in the template below.
548 # If you want to use the heat generated names, pass '' (empty string).
549 ControllerHostnameFormat:
551 description: Format for Controller node hostnames
552 default: '%stackname%-controller-%index%'
553 ComputeHostnameFormat:
555 description: Format for Compute node hostnames
556 default: '%stackname%-novacompute-%index%'
557 BlockStorageHostnameFormat:
559 description: Format for BlockStorage node hostnames
560 default: '%stackname%-blockstorage-%index%'
561 ObjectStorageHostnameFormat:
563 description: Format for SwiftStorage node hostnames
564 default: '%stackname%-objectstorage-%index%'
565 CephStorageHostnameFormat:
567 description: Format for CephStorage node hostnames
568 default: '%stackname%-cephstorage-%index%'
570 # Identifiers to trigger tasks on nodes
575 Setting to a previously unused value during stack-update will trigger
576 package update on all nodes
581 Setting this to a unique value will re-run any deployment tasks which
582 perform configuration on a Heat stack-update.
584 # If you want to remove a specific node from a resource group, you can pass
585 # the node name or id as a <Group>RemovalPolicies parameter, for example:
586 # ComputeRemovalPolicies: [{'resource_list': ['0']}]
587 ControllerRemovalPolicies:
591 List of resources to be removed from ControllerResourceGroup when
592 doing an update which requires removal of specific resources.
593 ComputeRemovalPolicies:
597 List of resources to be removed from ComputeResourceGroup when
598 doing an update which requires removal of specific resources.
599 BlockStorageRemovalPolicies:
603 List of resources to be removed from BlockStorageResourceGroup when
604 doing an update which requires removal of specific resources.
605 ObjectStorageRemovalPolicies:
609 List of resources to be removed from ObjectStorageResourceGroup when
610 doing an update which requires removal of specific resources.
611 CephStorageRemovalPolicies:
615 List of resources to be removed from CephStorageResourceGroup when
616 doing an update which requires removal of specific resources.
620 description: Do not use deprecated params, they will be removed.
622 - controllerExtraConfig
627 HeatAuthEncryptionKey:
628 type: OS::Heat::RandomString
631 type: OS::Heat::RandomString
636 type: OS::Heat::RandomString
641 type: OS::TripleO::EndpointMap
643 CloudName: {get_param: CloudName}
644 CeilometerApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
645 AodhApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
646 CinderApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
647 GlanceApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
648 GlanceRegistryVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
649 GnocchiApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
650 HeatApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
651 IronicApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
652 KeystoneAdminApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
653 KeystonePublicApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
654 MysqlVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
655 MysqlNoBracketsVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
656 NeutronApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
657 NovaApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
658 SaharaApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
659 SwiftProxyVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
660 PublicVirtualIP: {get_attr: [VipMap, net_ip_uri_map, external]}
662 ControllerServiceChain:
663 type: OS::TripleO::Services
665 Services: {get_param: ControllerServices}
666 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
669 type: OS::Heat::ResourceGroup
672 count: {get_param: ControllerCount}
673 removal_policies: {get_param: ControllerRemovalPolicies}
675 type: OS::TripleO::Controller
677 AdminPassword: {get_param: AdminPassword}
678 AodhPassword: {get_param: AodhPassword}
679 CloudDomain: {get_param: CloudDomain}
680 ControlVirtualInterface: {get_param: ControlVirtualInterface}
681 controllerExtraConfig: {get_param: controllerExtraConfig}
682 CorosyncIPv6: {get_param: CorosyncIPv6}
683 Debug: {get_param: Debug}
684 EnableFencing: {get_param: EnableFencing}
685 ManageFirewall: {get_param: ManageFirewall}
686 PurgeFirewallRules: {get_param: PurgeFirewallRules}
687 EnableGalera: {get_param: EnableGalera}
688 ExtraConfig: {get_param: ExtraConfig}
689 FencingConfig: {get_param: FencingConfig}
690 Flavor: {get_param: OvercloudControlFlavor}
691 HAProxySyslogAddress: {get_param: HAProxySyslogAddress}
692 HeatAuthEncryptionKey: {get_resource: HeatAuthEncryptionKey}
693 HorizonSecret: {get_resource: HorizonSecret}
694 Image: {get_param: controllerImage}
695 ImageUpdatePolicy: {get_param: ImageUpdatePolicy}
696 InstanceNameTemplate: {get_param: InstanceNameTemplate}
697 KeyName: {get_param: KeyName}
698 MemcachedIPv6: {get_param: MemcachedIPv6}
699 MysqlClusterUniquePart: {get_attr: [MysqlClusterUniquePart, value]}
700 MysqlInnodbBufferPoolSize: {get_param: MysqlInnodbBufferPoolSize}
701 MysqlMaxConnections: {get_param: MysqlMaxConnections}
702 MysqlRootPassword: {get_attr: [MysqlRootPassword, value]}
703 NeutronPublicInterface: {get_param: NeutronPublicInterface}
704 NeutronPassword: {get_param: NeutronPassword}
705 NovaIPv6: {get_param: NovaIPv6}
706 NovaPassword: {get_param: NovaPassword}
707 PcsdPassword: {get_resource: PcsdPassword}
708 PublicVirtualInterface: {get_param: PublicVirtualInterface}
709 RabbitPassword: {get_param: RabbitPassword}
710 RabbitUserName: {get_param: RabbitUserName}
711 RabbitCookie: {get_attr: [RabbitCookie, value]}
712 RabbitClientUseSSL: {get_param: RabbitClientUseSSL}
713 RabbitClientPort: {get_param: RabbitClientPort}
714 RedisPassword: {get_param: RedisPassword}
715 RedisVirtualIP: {get_attr: [RedisVirtualIP, ip_address]}
716 RedisVirtualIPUri: {get_attr: [RedisVirtualIP, ip_address_uri]}
717 SwiftHashSuffix: {get_param: SwiftHashSuffix}
718 SwiftMinPartHours: {get_param: SwiftMinPartHours}
719 SwiftPartPower: {get_param: SwiftPartPower}
720 SwiftReplicas: { get_param: SwiftReplicas}
721 ServiceNetMap: {get_param: ServiceNetMap}
722 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
723 MysqlVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
724 UpdateIdentifier: {get_param: UpdateIdentifier}
727 template: {get_param: ControllerHostnameFormat}
729 '%stackname%': {get_param: 'OS::stack_name'}
731 ServerMetadata: {get_param: ServerMetadata}
732 SchedulerHints: {get_param: ControllerSchedulerHints}
733 ServiceConfigSettings: {get_attr: [ControllerServiceChain, role_data, config_settings]}
734 ServiceNames: {get_attr: [ControllerServiceChain, role_data, service_names]}
738 type: OS::TripleO::Services
740 Services: {get_param: ComputeServices}
741 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
744 type: OS::Heat::ResourceGroup
747 count: {get_param: ComputeCount}
748 removal_policies: {get_param: ComputeRemovalPolicies}
750 type: OS::TripleO::Compute
752 AdminPassword: {get_param: AdminPassword}
753 CinderEnableNfsBackend: {get_param: CinderEnableNfsBackend}
754 CinderEnableRbdBackend: {get_param: CinderEnableRbdBackend}
755 Debug: {get_param: Debug}
756 ExtraConfig: {get_param: ExtraConfig}
757 Flavor: {get_param: OvercloudComputeFlavor}
758 GlanceHost: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
759 Image: {get_param: NovaImage}
760 ImageUpdatePolicy: {get_param: ImageUpdatePolicy}
761 KeyName: {get_param: KeyName}
762 KeystoneAdminApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
763 KeystonePublicApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
764 NeutronPassword: {get_param: NeutronPassword}
765 NeutronPhysicalBridge: {get_param: HypervisorNeutronPhysicalBridge}
766 NeutronPublicInterface: {get_param: HypervisorNeutronPublicInterface}
767 # L3 HA and Failover is not relevant for Computes, should be removed
768 NovaApiHost: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
769 NovaComputeDriver: {get_param: NovaComputeDriver}
770 NovaComputeExtraConfig: {get_param: NovaComputeExtraConfig}
771 NovaComputeLibvirtType: {get_param: NovaComputeLibvirtType}
772 NovaComputeLibvirtVifDriver: {get_param: NovaComputeLibvirtVifDriver}
773 NovaEnableRbdBackend: {get_param: NovaEnableRbdBackend}
774 NovaIPv6: {get_param: NovaIPv6}
775 NovaPublicIP: {get_attr: [VipMap, net_ip_map, external]}
776 NovaPassword: {get_param: NovaPassword}
777 NovaOVSBridge: {get_param: NovaOVSBridge}
778 NovaSecurityGroupAPI: {get_param: NovaSecurityGroupAPI}
779 RabbitHost: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]}
780 RabbitPassword: {get_param: RabbitPassword}
781 RabbitUserName: {get_param: RabbitUserName}
782 RabbitClientUseSSL: {get_param: RabbitClientUseSSL}
783 RabbitClientPort: {get_param: RabbitClientPort}
784 ServiceNetMap: {get_param: ServiceNetMap}
785 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
786 UpdateIdentifier: {get_param: UpdateIdentifier}
789 template: {get_param: ComputeHostnameFormat}
791 '%stackname%': {get_param: 'OS::stack_name'}
792 CloudDomain: {get_param: CloudDomain}
793 ServerMetadata: {get_param: ServerMetadata}
794 SchedulerHints: {get_param: NovaComputeSchedulerHints}
796 ServiceConfigSettings: {get_attr: [ComputeServiceChain, role_data, config_settings]}
797 ServiceNames: {get_attr: [ComputeServiceChain, role_data, service_names]}
799 BlockStorageServiceChain:
800 type: OS::TripleO::Services
802 Services: {get_param: BlockStorageServices}
803 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
806 type: OS::Heat::ResourceGroup
809 count: {get_param: BlockStorageCount}
810 removal_policies: {get_param: BlockStorageRemovalPolicies}
812 type: OS::TripleO::BlockStorage
814 Image: {get_param: BlockStorageImage}
815 KeyName: {get_param: KeyName}
816 Flavor: {get_param: OvercloudBlockStorageFlavor}
817 UpdateIdentifier: {get_param: UpdateIdentifier}
820 template: {get_param: BlockStorageHostnameFormat}
822 '%stackname%': {get_param: 'OS::stack_name'}
823 ServiceNetMap: {get_param: ServiceNetMap}
824 ExtraConfig: {get_param: ExtraConfig}
825 BlockStorageExtraConfig: {get_param: BlockStorageExtraConfig}
826 CloudDomain: {get_param: CloudDomain}
827 ServerMetadata: {get_param: ServerMetadata}
828 SchedulerHints: {get_param: BlockStorageSchedulerHints}
830 ServiceConfigSettings: {get_attr: [BlockStorageServiceChain, role_data, config_settings]}
831 ServiceNames: {get_attr: [BlockStorageServiceChain, role_data, service_names]}
833 ObjectStorageServiceChain:
834 type: OS::TripleO::Services
836 Services: {get_param: ObjectStorageServices}
837 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
840 type: OS::Heat::ResourceGroup
843 count: {get_param: ObjectStorageCount}
844 removal_policies: {get_param: ObjectStorageRemovalPolicies}
846 type: OS::TripleO::ObjectStorage
848 KeyName: {get_param: KeyName}
849 Flavor: {get_param: OvercloudSwiftStorageFlavor}
850 HashSuffix: {get_param: SwiftHashSuffix}
851 MinPartHours: {get_param: SwiftMinPartHours}
852 PartPower: {get_param: SwiftPartPower}
853 Image: {get_param: SwiftStorageImage}
854 Replicas: { get_param: SwiftReplicas}
855 UpdateIdentifier: {get_param: UpdateIdentifier}
856 ServiceNetMap: {get_param: ServiceNetMap}
859 template: {get_param: ObjectStorageHostnameFormat}
861 '%stackname%': {get_param: 'OS::stack_name'}
862 ExtraConfig: {get_param: ExtraConfig}
863 ObjectStorageExtraConfig: {get_param: ObjectStorageExtraConfig}
864 CloudDomain: {get_param: CloudDomain}
865 ServerMetadata: {get_param: ServerMetadata}
866 SchedulerHints: {get_param: ObjectStorageSchedulerHints}
868 ServiceConfigSettings: {get_attr: [ObjectStorageServiceChain, role_data, config_settings]}
869 ServiceNames: {get_attr: [ObjectStorageServiceChain, role_data, service_names]}
871 CephStorageServiceChain:
872 type: OS::TripleO::Services
874 Services: {get_param: CephStorageServices}
875 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
878 type: OS::Heat::ResourceGroup
881 count: {get_param: CephStorageCount}
882 removal_policies: {get_param: CephStorageRemovalPolicies}
884 type: OS::TripleO::CephStorage
886 Image: {get_param: CephStorageImage}
887 KeyName: {get_param: KeyName}
888 Flavor: {get_param: OvercloudCephStorageFlavor}
889 ServiceNetMap: {get_param: ServiceNetMap}
890 UpdateIdentifier: {get_param: UpdateIdentifier}
893 template: {get_param: CephStorageHostnameFormat}
895 '%stackname%': {get_param: 'OS::stack_name'}
896 ExtraConfig: {get_param: ExtraConfig}
897 CephStorageExtraConfig: {get_param: CephStorageExtraConfig}
898 CloudDomain: {get_param: CloudDomain}
899 ServerMetadata: {get_param: ServerMetadata}
900 SchedulerHints: {get_param: CephStorageSchedulerHints}
902 ServiceConfigSettings: {get_attr: [CephStorageServiceChain, role_data, config_settings]}
903 ServiceNames: {get_attr: [CephStorageServiceChain, role_data, service_names]}
906 type: OS::TripleO::Network::Ports::NetIpListMap
908 ControlPlaneIpList: {get_attr: [Controller, ip_address]}
909 ExternalIpList: {get_attr: [Controller, external_ip_address]}
910 InternalApiIpList: {get_attr: [Controller, internal_api_ip_address]}
911 StorageIpList: {get_attr: [Controller, storage_ip_address]}
912 StorageMgmtIpList: {get_attr: [Controller, storage_mgmt_ip_address]}
913 TenantIpList: {get_attr: [Controller, tenant_ip_address]}
914 ManagementIpList: {get_attr: [Controller, management_ip_address]}
917 type: OS::TripleO::AllNodes::SoftwareConfig
919 compute_hosts: {get_attr: [Compute, hosts_entry]}
920 controller_hosts: {get_attr: [Controller, hosts_entry]}
921 controller_ips: {get_attr: [Controller, ip_address]}
922 block_storage_hosts: {get_attr: [BlockStorage, hosts_entry]}
923 object_storage_hosts: {get_attr: [ObjectStorage, hosts_entry]}
924 ceph_storage_hosts: {get_attr: [CephStorage, hosts_entry]}
925 controller_names: {get_attr: [Controller, hostname]}
926 rabbit_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]}
927 mongo_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, MongoDbNetwork]}]}
928 redis_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, RedisNetwork]}]}
929 memcache_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, MemcachedNetwork]}]}
930 mysql_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
931 horizon_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, HorizonNetwork]}]}
932 heat_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
933 swift_proxy_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
934 ceilometer_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
935 aodh_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
936 gnocchi_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
937 nova_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
938 nova_metadata_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, NovaMetadataNetwork]}]}
939 glance_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
940 glance_registry_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
941 cinder_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
942 neutron_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
943 keystone_public_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
944 keystone_admin_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
945 sahara_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
946 ironic_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
947 ceph_mon_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, CephPublicNetwork]}]}
948 ceph_mon_node_names: {get_attr: [Controller, hostname]}
949 DeployIdentifier: {get_param: DeployIdentifier}
950 UpdateIdentifier: {get_param: UpdateIdentifier}
953 type: OS::Heat::RandomString
957 MysqlClusterUniquePart:
958 type: OS::Heat::RandomString
963 type: OS::Heat::RandomString
966 salt: {get_param: RabbitCookieSalt}
968 # creates the network architecture
970 type: OS::TripleO::Network
973 type: OS::Neutron::Port
976 name: control_virtual_ip
977 network: {get_param: NeutronControlPlaneID}
978 fixed_ips: {get_param: ControlFixedIPs}
979 replacement_policy: AUTO
983 type: OS::TripleO::Network::Ports::RedisVipPort
985 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
986 ControlPlaneNetwork: {get_param: NeutronControlPlaneID}
987 PortName: redis_virtual_ip
988 NetworkName: {get_param: [ServiceNetMap, RedisNetwork]}
991 # The public VIP is on the External net, falls back to ctlplane
994 type: OS::TripleO::Network::Ports::ExternalVipPort
996 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
997 ControlPlaneNetwork: {get_param: NeutronControlPlaneID}
998 PortName: public_virtual_ip
999 FixedIPs: {get_param: PublicVirtualFixedIPs}
1001 InternalApiVirtualIP:
1002 depends_on: Networks
1003 type: OS::TripleO::Network::Ports::InternalApiVipPort
1005 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
1006 PortName: internal_api_virtual_ip
1007 FixedIPs: {get_param: InternalApiVirtualFixedIPs}
1010 depends_on: Networks
1011 type: OS::TripleO::Network::Ports::StorageVipPort
1013 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
1014 PortName: storage_virtual_ip
1015 FixedIPs: {get_param: StorageVirtualFixedIPs}
1017 StorageMgmtVirtualIP:
1018 depends_on: Networks
1019 type: OS::TripleO::Network::Ports::StorageMgmtVipPort
1021 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
1022 PortName: storage_management_virtual_ip
1023 FixedIPs: {get_param: StorageMgmtVirtualFixedIPs}
1026 type: OS::TripleO::Network::Ports::NetVipMap
1028 ControlPlaneIp: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
1029 ExternalIp: {get_attr: [PublicVirtualIP, ip_address]}
1030 ExternalIpUri: {get_attr: [PublicVirtualIP, ip_address_uri]}
1031 InternalApiIp: {get_attr: [InternalApiVirtualIP, ip_address]}
1032 InternalApiIpUri: {get_attr: [InternalApiVirtualIP, ip_address_uri]}
1033 StorageIp: {get_attr: [StorageVirtualIP, ip_address]}
1034 StorageIpUri: {get_attr: [StorageVirtualIP, ip_address_uri]}
1035 StorageMgmtIp: {get_attr: [StorageMgmtVirtualIP, ip_address]}
1036 StorageMgmtIpUri: {get_attr: [StorageMgmtVirtualIP, ip_address_uri]}
1037 # No tenant or management VIP required
1040 type: OS::TripleO::VipConfig
1043 type: OS::Heat::StructuredDeployments
1046 config: {get_resource: VipConfig}
1047 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1049 # service VIP mappings
1050 keystone_admin_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
1051 keystone_public_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
1052 neutron_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
1053 cinder_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
1054 glance_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
1055 glance_registry_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
1056 swift_proxy_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
1057 nova_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
1058 nova_metadata_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaMetadataNetwork]}]}
1059 ceilometer_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
1060 aodh_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
1061 gnocchi_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
1062 heat_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
1063 horizon_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HorizonNetwork]}]}
1064 redis_vip: {get_attr: [RedisVirtualIP, ip_address]}
1065 mysql_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
1066 rabbit_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]}
1067 # direct configuration of Virtual IPs for each network
1068 control_virtual_ip: {get_attr: [VipMap, net_ip_map, ctlplane]}
1069 public_virtual_ip: {get_attr: [VipMap, net_ip_map, external]}
1070 internal_api_virtual_ip: {get_attr: [VipMap, net_ip_map, internal_api]}
1071 sahara_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
1072 ironic_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
1073 storage_virtual_ip: {get_attr: [VipMap, net_ip_map, storage]}
1074 storage_mgmt_virtual_ip: {get_attr: [VipMap, net_ip_map, storage_mgmt]}
1076 ControllerSwiftDeployment:
1077 type: OS::Heat::StructuredDeployments
1079 name: ControllerSwiftDeployment
1080 config: {get_attr: [SwiftDevicesAndProxyConfig, config_id]}
1081 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1083 ObjectStorageSwiftDeployment:
1084 type: OS::Heat::StructuredDeployments
1086 name: ObjectStorageSwiftDeployment
1087 config: {get_attr: [SwiftDevicesAndProxyConfig, config_id]}
1088 servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1090 SwiftDevicesAndProxyConfig:
1091 type: OS::TripleO::SwiftDevicesAndProxy::SoftwareConfig
1093 controller_swift_devices: {get_attr: [Controller, swift_device]}
1094 object_store_swift_devices: {get_attr: [ObjectStorage, swift_device]}
1095 controller_swift_proxy_memcaches: {get_attr: [Controller, swift_proxy_memcache]}
1097 ComputeCephDeployment:
1098 type: OS::Heat::StructuredDeployments
1100 name: ComputeCephDeployment
1101 config: {get_attr: [CephClusterConfig, config_id]}
1102 servers: {get_attr: [Compute, attributes, nova_server_resource]}
1104 ControllerCephDeployment:
1105 type: OS::Heat::StructuredDeployments
1107 name: ControllerCephDeployment
1108 config: {get_attr: [CephClusterConfig, config_id]}
1109 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1111 CephStorageCephDeployment:
1112 type: OS::Heat::StructuredDeployments
1114 name: CephStorageCephDeployment
1115 config: {get_attr: [CephClusterConfig, config_id]}
1116 servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1119 type: OS::TripleO::CephClusterConfig::SoftwareConfig
1121 ControllerAllNodesDeployment:
1122 type: OS::Heat::StructuredDeployments
1124 name: ControllerAllNodesDeployment
1125 config: {get_attr: [allNodesConfig, config_id]}
1126 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1128 bootstrap_nodeid: {get_attr: [Controller, resource.0.hostname]}
1129 bootstrap_nodeid_ip: {get_attr: [Controller, resource.0.ip_address]}
1131 ComputeAllNodesDeployment:
1132 type: OS::Heat::StructuredDeployments
1134 name: ComputeAllNodesDeployment
1135 config: {get_attr: [allNodesConfig, config_id]}
1136 servers: {get_attr: [Compute, attributes, nova_server_resource]}
1138 bootstrap_nodeid: {get_attr: [Compute, resource.0.hostname]}
1139 bootstrap_nodeid_ip: {get_attr: [Compute, resource.0.ip_address]}
1141 BlockStorageAllNodesDeployment:
1142 type: OS::Heat::StructuredDeployments
1144 name: BlockStorageAllNodesDeployment
1145 config: {get_attr: [allNodesConfig, config_id]}
1146 servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
1148 bootstrap_nodeid: {get_attr: [BlockStorage, resource.0.hostname]}
1149 bootstrap_nodeid_ip: {get_attr: [BlockStorage, resource.0.ip_address]}
1151 ObjectStorageAllNodesDeployment:
1152 type: OS::Heat::StructuredDeployments
1154 name: ObjectStorageAllNodesDeployment
1155 config: {get_attr: [allNodesConfig, config_id]}
1156 servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1158 bootstrap_nodeid: {get_attr: [ObjectStorage, resource.0.hostname]}
1159 bootstrap_nodeid_ip: {get_attr: [ObjectStorage, resource.0.ip_address]}
1161 CephStorageAllNodesDeployment:
1162 type: OS::Heat::StructuredDeployments
1164 name: CephStorageAllNodesDeployment
1165 config: {get_attr: [allNodesConfig, config_id]}
1166 servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1168 bootstrap_nodeid: {get_attr: [CephStorage, resource.0.hostname]}
1169 bootstrap_nodeid_ip: {get_attr: [CephStorage, resource.0.ip_address]}
1171 # All Nodes Validations
1172 AllNodesValidationConfig:
1173 type: OS::TripleO::AllNodes::Validation
1178 - - {get_attr: [Controller, resource.0.external_ip_address]}
1179 - {get_attr: [Controller, resource.0.internal_api_ip_address]}
1180 - {get_attr: [Controller, resource.0.storage_ip_address]}
1181 - {get_attr: [Controller, resource.0.storage_mgmt_ip_address]}
1182 - {get_attr: [Controller, resource.0.tenant_ip_address]}
1184 ControllerAllNodesValidationDeployment:
1185 type: OS::Heat::StructuredDeployments
1186 depends_on: ControllerAllNodesDeployment
1188 name: ControllerAllNodesValidationDeployment
1189 config: {get_resource: AllNodesValidationConfig}
1190 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1192 ComputeAllNodesValidationDeployment:
1193 type: OS::Heat::StructuredDeployments
1194 depends_on: ComputeAllNodesDeployment
1196 name: ComputeAllNodesValidationDeployment
1197 config: {get_resource: AllNodesValidationConfig}
1198 servers: {get_attr: [Compute, attributes, nova_server_resource]}
1200 BlockStorageAllNodesValidationDeployment:
1201 type: OS::Heat::StructuredDeployments
1202 depends_on: BlockStorageAllNodesDeployment
1204 name: BlockStorageAllNodesValidationDeployment
1205 config: {get_resource: AllNodesValidationConfig}
1206 servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
1208 ObjectStorageAllNodesValidationDeployment:
1209 type: OS::Heat::StructuredDeployments
1210 depends_on: ObjectStorageAllNodesDeployment
1212 name: ObjectStorageAllNodesValidationDeployment
1213 config: {get_resource: AllNodesValidationConfig}
1214 servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1216 CephStorageAllNodesValidationDeployment:
1217 type: OS::Heat::StructuredDeployments
1218 depends_on: CephStorageAllNodesDeployment
1220 name: CephStorageAllNodesValidationDeployment
1221 config: {get_resource: AllNodesValidationConfig}
1222 servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1225 type: OS::TripleO::Tasks::UpdateWorkflow
1227 controller_servers: {get_attr: [Controller, attributes, nova_server_resource]}
1228 compute_servers: {get_attr: [Compute, attributes, nova_server_resource]}
1229 blockstorage_servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
1230 objectstorage_servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1231 cephstorage_servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1233 deploy_identifier: {get_param: DeployIdentifier}
1234 update_identifier: {get_param: UpdateIdentifier}
1236 # Optional ExtraConfig for all nodes - all roles are passed in here, but
1237 # the nested template may configure each role differently (or not at all)
1238 AllNodesExtraConfig:
1239 type: OS::TripleO::AllNodesExtraConfig
1242 - ComputeAllNodesValidationDeployment
1243 - BlockStorageAllNodesValidationDeployment
1244 - ObjectStorageAllNodesValidationDeployment
1245 - CephStorageAllNodesValidationDeployment
1246 - ControllerAllNodesValidationDeployment
1248 controller_servers: {get_attr: [Controller, attributes, nova_server_resource]}
1249 compute_servers: {get_attr: [Compute, attributes, nova_server_resource]}
1250 blockstorage_servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
1251 objectstorage_servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1252 cephstorage_servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1254 # Nested stack deployment runs after all other controller deployments
1255 ControllerNodesPostDeployment:
1256 type: OS::TripleO::ControllerPostDeployment
1257 depends_on: [ControllerAllNodesDeployment, ControllerSwiftDeployment, ControllerCephDeployment]
1259 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1260 RoleData: {get_attr: [ControllerServiceChain, role_data]}
1262 ComputeNodesPostDeployment:
1263 type: OS::TripleO::ComputePostDeployment
1264 depends_on: [ComputeAllNodesDeployment, ComputeCephDeployment]
1266 servers: {get_attr: [Compute, attributes, nova_server_resource]}
1267 RoleData: {get_attr: [ComputeServiceChain, role_data]}
1269 ObjectStorageNodesPostDeployment:
1270 type: OS::TripleO::ObjectStoragePostDeployment
1271 depends_on: [ObjectStorageSwiftDeployment, ObjectStorageAllNodesDeployment]
1273 servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1274 RoleData: {get_attr: [ObjectStorageServiceChain, role_data]}
1276 BlockStorageNodesPostDeployment:
1277 type: OS::TripleO::BlockStoragePostDeployment
1278 depends_on: [ControllerNodesPostDeployment, BlockStorageAllNodesDeployment]
1280 servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
1281 RoleData: {get_attr: [BlockStorageServiceChain, role_data]}
1283 CephStorageNodesPostDeployment:
1284 type: OS::TripleO::CephStoragePostDeployment
1285 depends_on: [ControllerNodesPostDeployment, CephStorageCephDeployment, CephStorageAllNodesDeployment]
1287 servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1288 RoleData: {get_attr: [CephStorageServiceChain, role_data]}
1292 description: URL for the Overcloud Keystone service
1293 value: {get_attr: [EndpointMap, endpoint_map, KeystonePublic, uri]}
1295 description: Keystone Admin VIP endpoint
1296 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
1298 description: Controller VIP for public API endpoints
1299 value: {get_attr: [VipMap, net_ip_map, external]}
1301 description: VIP for Aodh API internal endpoint
1302 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
1303 CeilometerInternalVip:
1304 description: VIP for Ceilometer API internal endpoint
1305 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
1307 description: VIP for Cinder API internal endpoint
1308 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
1310 description: VIP for Glance API internal endpoint
1311 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
1313 description: VIP for Gnocchi API internal endpoint
1314 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
1316 description: VIP for Heat API internal endpoint
1317 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
1319 description: VIP for Ironic API internal endpoint
1320 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
1321 KeystoneInternalVip:
1322 description: VIP for Keystone API internal endpoint
1323 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
1325 description: VIP for Neutron API internal endpoint
1326 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
1328 description: VIP for Nova API internal endpoint
1329 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
1331 description: VIP for Sahara API internal endpoint
1332 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
1334 description: VIP for Swift Proxy internal endpoint
1335 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
1338 Mapping of the resources with the needed info for their endpoints.
1339 This includes the protocol used, the IP, port and also a full
1340 representation of the URI.
1341 value: {get_attr: [EndpointMap, endpoint_map]}
1344 The content that should be appended to your /etc/hosts if you want to get
1345 hostname-based access to the deployed nodes (useful for testing without
1347 value: {get_attr: [allNodesConfig, hosts_entries]}