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.
19 CinderEnableNfsBackend:
21 description: Whether to enable or not the NFS backend for Cinder
23 CinderEnableRbdBackend:
25 description: Whether to enable or not the Rbd backend for Cinder
29 description: The DNS name of this cloud. E.g. ci-overcloud.tripleo.org
33 description: Should be used for arbitrary ips.
37 description: Set to True to enable debugging on all services.
39 InternalApiVirtualFixedIPs:
42 Control the IP allocation for the InternalApiVirtualInterface port. E.g.
43 [{'ip_address':'1.2.3.4'}]
45 NeutronControlPlaneID:
48 description: Neutron ID or name for ctlplane network.
50 description: The password for the neutron service account, used by neutron agents.
53 NeutronPublicInterface:
55 description: What interface to bridge onto br-ex for network nodes.
59 description: Enable IPv6 features in Nova
62 description: The password for the nova service account, used by nova-api.
65 PublicVirtualFixedIPs:
68 Control the IP allocation for the PublicVirtualInterface port. E.g.
69 [{'ip_address':'1.2.3.4'}]
74 description: Salt for the rabbit cookie, change this to force the randomly generated rabbit cookie to change.
77 description: The username for RabbitMQ
80 description: The password for RabbitMQ
86 Rabbit client subscriber parameter to specify
87 an SSL connection to the RabbitMQ host.
91 description: Set rabbit subscriber port, change this if using SSL
93 StorageVirtualFixedIPs:
96 Control the IP allocation for the StorageVirtualInterface port. E.g.
97 [{'ip_address':'1.2.3.4'}]
99 StorageMgmtVirtualFixedIPs:
102 Control the IP allocation for the StorageMgmgVirtualInterface port. E.g.
103 [{'ip_address':'1.2.3.4'}]
106 default: 'localdomain'
109 The DNS domain used for the hosts. This should match the dhcp_domain
110 configured in the Undercloud neutron. Defaults to localdomain.
114 Extra properties or metadata passed to Nova for the created nodes in
115 the overcloud. It's accessible via the Nova metadata API.
118 # Controller-specific params
122 controllerExtraConfig:
125 Deprecated. Use ControllerExtraConfig via parameter_defaults instead.
127 OvercloudControlFlavor:
128 description: Flavor for control nodes to request when deploying.
132 - custom_constraint: nova.flavor
136 Additional configuration to inject into the cluster. The format required
137 may be implementation specific, e.g puppet hieradata. Any role specific
138 ExtraConfig, e.g controllerExtraConfig takes precedence over ExtraConfig.
141 description: A random string to be used as a salt when hashing to determine mappings in the ring.
146 # Compute-specific params
150 HypervisorNeutronPhysicalBridge:
153 An OVS bridge to create on each hypervisor. This defaults to br-ex the
154 same as the control plane nodes, as we have a uniform configuration of
155 the openvswitch agent. Typically should not need to be changed.
157 HypervisorNeutronPublicInterface:
159 description: What interface to add to the HypervisorNeutronPhysicalBridge.
163 default: libvirt.LibvirtDriver
164 NovaComputeExtraConfig:
167 NovaCompute specific configuration to inject into the cluster. Same
168 structure as ExtraConfig.
170 NovaComputeLibvirtType:
173 NovaComputeLibvirtVifDriver:
175 description: Libvirt VIF driver configuration for the network
177 NovaEnableRbdBackend:
179 description: Whether to enable or not the Rbd backend for Nova
183 description: Name of integration bridge used by Open vSwitch
185 NovaSecurityGroupAPI:
187 description: The full class name of the security API class
189 OvercloudComputeFlavor:
190 description: Use this flavor
194 - custom_constraint: nova.flavor
197 NeutronTenantNetwork: tenant
198 CeilometerApiNetwork: internal_api
199 AodhApiNetwork: internal_api
200 GnocchiApiNetwork: internal_api
201 MongoDbNetwork: internal_api
202 CinderApiNetwork: internal_api
203 CinderIscsiNetwork: storage
204 GlanceApiNetwork: storage
205 GlanceRegistryNetwork: internal_api
206 IronicApiNetwork: internal_api
207 KeystoneAdminApiNetwork: ctlplane # allows undercloud to config endpoints
208 KeystonePublicApiNetwork: internal_api
209 ManilaApiNetwork: internal_api
210 NeutronApiNetwork: internal_api
211 HeatApiNetwork: internal_api
212 NovaApiNetwork: internal_api
213 NovaMetadataNetwork: internal_api
214 NovaVncProxyNetwork: internal_api
215 SwiftMgmtNetwork: storage_mgmt
216 SwiftProxyNetwork: storage
217 SaharaApiNetwork: internal_api
218 HorizonNetwork: internal_api
219 MemcachedNetwork: internal_api
220 RabbitMqNetwork: internal_api
221 RedisNetwork: internal_api
222 MysqlNetwork: internal_api
223 CephClusterNetwork: storage_mgmt
224 CephPublicNetwork: storage
225 ControllerHostnameResolveNetwork: internal_api
226 ComputeHostnameResolveNetwork: internal_api
227 BlockStorageHostnameResolveNetwork: internal_api
228 ObjectStorageHostnameResolveNetwork: internal_api
229 CephStorageHostnameResolveNetwork: storage
230 description: Mapping of service_name -> network name. Typically set
231 via parameter_defaults in the resource registry.
236 - OS::TripleO::Services::CephMon
237 - OS::TripleO::Services::CephExternal
238 - OS::TripleO::Services::CinderApi
239 - OS::TripleO::Services::CinderScheduler
240 - OS::TripleO::Services::CinderVolume
241 - OS::TripleO::Services::Core
242 - OS::TripleO::Services::Kernel
243 - OS::TripleO::Services::Keystone
244 - OS::TripleO::Services::GlanceApi
245 - OS::TripleO::Services::GlanceRegistry
246 - OS::TripleO::Services::HeatApi
247 - OS::TripleO::Services::HeatApiCfn
248 - OS::TripleO::Services::HeatApiCloudwatch
249 - OS::TripleO::Services::HeatEngine
250 - OS::TripleO::Services::MySQL
251 - OS::TripleO::Services::NeutronDhcpAgent
252 - OS::TripleO::Services::NeutronL3Agent
253 - OS::TripleO::Services::NeutronMetadataAgent
254 - OS::TripleO::Services::NeutronServer
255 - OS::TripleO::Services::NeutronCorePlugin
256 - OS::TripleO::Services::NeutronOvsAgent
257 - OS::TripleO::Services::RabbitMQ
258 - OS::TripleO::Services::HAproxy
259 - OS::TripleO::Services::Keepalived
260 - OS::TripleO::Services::Memcached
261 - OS::TripleO::Services::Pacemaker
262 - OS::TripleO::Services::Redis
263 - OS::TripleO::Services::NovaConductor
264 - OS::TripleO::Services::MongoDb
265 - OS::TripleO::Services::NovaApi
266 - OS::TripleO::Services::NovaScheduler
267 - OS::TripleO::Services::NovaConsoleauth
268 - OS::TripleO::Services::NovaVncproxy
269 - OS::TripleO::Services::Ntp
270 - OS::TripleO::Services::SwiftProxy
271 - OS::TripleO::Services::SwiftStorage
272 - OS::TripleO::Services::SwiftRingBuilder
273 - OS::TripleO::Services::Snmp
274 - OS::TripleO::Services::Timezone
275 - OS::TripleO::Services::CeilometerApi
276 - OS::TripleO::Services::CeilometerCollector
277 - OS::TripleO::Services::CeilometerExpirer
278 - OS::TripleO::Services::CeilometerAgentCentral
279 - OS::TripleO::Services::CeilometerAgentNotification
280 - OS::TripleO::Services::Horizon
281 - OS::TripleO::Services::GnocchiApi
282 - OS::TripleO::Services::GnocchiMetricd
283 - OS::TripleO::Services::GnocchiStatsd
284 - OS::Tripleo::Services::ManilaApi
285 - OS::Tripleo::Services::ManilaScheduler
286 - OS::Tripleo::Services::ManilaShare
287 - OS::TripleO::Services::AodhApi
288 - OS::TripleO::Services::AodhEvaluator
289 - OS::TripleO::Services::AodhNotifier
290 - OS::TripleO::Services::AodhListener
291 - OS::TripleO::Services::SaharaApi
292 - OS::TripleO::Services::SaharaEngine
293 description: A list of service resources (configured in the Heat
294 resource_registry) which represent nested stacks
295 for each service that should get installed on the Controllers.
296 type: comma_delimited_list
300 - OS::TripleO::Services::CephClient
301 - OS::TripleO::Services::CephExternal
302 - OS::TripleO::Services::Timezone
303 - OS::TripleO::Services::Ntp
304 - OS::TripleO::Services::Snmp
305 - OS::TripleO::Services::NovaCompute
306 - OS::TripleO::Services::NovaLibvirt
307 - OS::TripleO::Services::Kernel
308 - OS::TripleO::Services::ComputeNeutronCorePlugin
309 - OS::TripleO::Services::ComputeNeutronOvsAgent
310 - OS::TripleO::Services::ComputeCeilometerAgent
311 - OS::TripleO::Services::ComputeNeutronL3Agent
312 - OS::TripleO::Services::ComputeNeutronMetadataAgent
313 description: A list of service resources (configured in the Heat
314 resource_registry) which represent nested stacks
315 for each service that should get installed on the Compute Nodes.
316 type: comma_delimited_list
318 # Block storage specific parameters
322 OvercloudBlockStorageFlavor:
323 description: Flavor for block storage nodes to request when deploying.
327 - custom_constraint: nova.flavor
328 BlockStorageExtraConfig:
331 BlockStorage specific configuration to inject into the cluster. Same
332 structure as ExtraConfig.
334 BlockStorageServices:
336 - OS::TripleO::Services::CinderVolume
337 - OS::TripleO::Services::Kernel
338 - OS::TripleO::Services::Ntp
339 - OS::TripleO::Services::Timezone
340 - OS::TripleO::Services::Snmp
341 description: A list of service resources (configured in the Heat
342 resource_registry) which represent nested stacks
343 for each service that should get installed on the BlockStorage nodes.
344 type: comma_delimited_list
346 # Object storage specific parameters
350 OvercloudSwiftStorageFlavor:
351 description: Flavor for Swift storage nodes to request when deploying.
355 - custom_constraint: nova.flavor
356 ObjectStorageExtraConfig:
359 ObjectStorage specific configuration to inject into the cluster. Same
360 structure as ExtraConfig.
362 ObjectStorageServices:
364 - OS::TripleO::Services::Kernel
365 - OS::TripleO::Services::Ntp
366 - OS::TripleO::Services::SwiftStorage
367 - OS::TripleO::Services::SwiftRingBuilder
368 - OS::TripleO::Services::Snmp
369 - OS::TripleO::Services::Timezone
370 description: A list of service resources (configured in the Heat
371 resource_registry) which represent nested stacks
372 for each service that should get installed on the ObjectStorage nodes.
373 Note this role currently only supports steps 2, 3 and 4 configuration.
374 type: comma_delimited_list
377 # Ceph storage specific parameters
381 OvercloudCephStorageFlavor:
383 description: Flavor for Ceph storage nodes to request when deploying.
386 - custom_constraint: nova.flavor
387 CephStorageExtraConfig:
390 CephStorage specific configuration to inject into the cluster. Same
391 structure as ExtraConfig.
395 - OS::TripleO::Services::CephOSD
396 - OS::TripleO::Services::Kernel
397 - OS::TripleO::Services::Ntp
398 - OS::TripleO::Services::Timezone
399 description: A list of service resources (configured in the Heat
400 resource_registry) which represent nested stacks
401 for each service that should get installed on the CephStorage nodes.
402 type: comma_delimited_list
404 # Hostname format for each role
405 # Note %index% is translated into the index of the node, e.g 0/1/2 etc
406 # and %stackname% is replaced with OS::stack_name in the template below.
407 # If you want to use the heat generated names, pass '' (empty string).
408 ControllerHostnameFormat:
410 description: Format for Controller node hostnames
411 default: '%stackname%-controller-%index%'
412 ComputeHostnameFormat:
414 description: Format for Compute node hostnames
415 default: '%stackname%-novacompute-%index%'
416 BlockStorageHostnameFormat:
418 description: Format for BlockStorage node hostnames
419 default: '%stackname%-blockstorage-%index%'
420 ObjectStorageHostnameFormat:
422 description: Format for SwiftStorage node hostnames
423 default: '%stackname%-objectstorage-%index%'
424 CephStorageHostnameFormat:
426 description: Format for CephStorage node hostnames
427 default: '%stackname%-cephstorage-%index%'
429 # Identifiers to trigger tasks on nodes
434 Setting to a previously unused value during stack-update will trigger
435 package update on all nodes
440 Setting this to a unique value will re-run any deployment tasks which
441 perform configuration on a Heat stack-update.
443 # If you want to remove a specific node from a resource group, you can pass
444 # the node name or id as a <Group>RemovalPolicies parameter, for example:
445 # ComputeRemovalPolicies: [{'resource_list': ['0']}]
446 ControllerRemovalPolicies:
450 List of resources to be removed from ControllerResourceGroup when
451 doing an update which requires removal of specific resources.
452 ComputeRemovalPolicies:
456 List of resources to be removed from ComputeResourceGroup when
457 doing an update which requires removal of specific resources.
458 BlockStorageRemovalPolicies:
462 List of resources to be removed from BlockStorageResourceGroup when
463 doing an update which requires removal of specific resources.
464 ObjectStorageRemovalPolicies:
468 List of resources to be removed from ObjectStorageResourceGroup when
469 doing an update which requires removal of specific resources.
470 CephStorageRemovalPolicies:
474 List of resources to be removed from CephStorageResourceGroup when
475 doing an update which requires removal of specific resources.
479 description: Do not use deprecated params, they will be removed.
481 - controllerExtraConfig
486 HeatAuthEncryptionKey:
487 type: OS::Heat::RandomString
490 type: OS::Heat::RandomString
495 type: OS::Heat::RandomString
500 type: OS::TripleO::EndpointMap
502 CloudName: {get_param: CloudName}
503 CeilometerApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
504 AodhApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
505 CinderApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
506 GlanceApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
507 GlanceRegistryVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
508 GnocchiApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
509 HeatApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
510 IronicApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
511 KeystoneAdminApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
512 KeystonePublicApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
513 ManilaApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, ManilaApiNetwork]}]}
514 MysqlVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
515 MysqlNoBracketsVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
516 NeutronApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
517 NovaApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
518 SaharaApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
519 SwiftProxyVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
520 PublicVirtualIP: {get_attr: [VipMap, net_ip_uri_map, external]}
522 ControllerServiceChain:
523 type: OS::TripleO::Services
525 Services: {get_param: ControllerServices}
526 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
529 type: OS::Heat::ResourceGroup
532 count: {get_param: ControllerCount}
533 removal_policies: {get_param: ControllerRemovalPolicies}
535 type: OS::TripleO::Controller
537 controllerExtraConfig: {get_param: controllerExtraConfig}
538 Flavor: {get_param: OvercloudControlFlavor}
539 HeatAuthEncryptionKey: {get_resource: HeatAuthEncryptionKey}
540 HorizonSecret: {get_resource: HorizonSecret}
541 MysqlClusterUniquePart: {get_attr: [MysqlClusterUniquePart, value]}
542 MysqlRootPassword: {get_attr: [MysqlRootPassword, value]}
543 PcsdPassword: {get_resource: PcsdPassword}
544 RabbitCookie: {get_attr: [RabbitCookie, value]}
545 RedisVirtualIP: {get_attr: [RedisVirtualIP, ip_address]}
546 RedisVirtualIPUri: {get_attr: [RedisVirtualIP, ip_address_uri]}
547 ServiceNetMap: {get_param: ServiceNetMap}
548 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
549 MysqlVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
552 template: {get_param: ControllerHostnameFormat}
554 '%stackname%': {get_param: 'OS::stack_name'}
556 ServiceConfigSettings: {get_attr: [ControllerServiceChain, role_data, config_settings]}
557 ServiceNames: {get_attr: [ControllerServiceChain, role_data, service_names]}
561 type: OS::TripleO::Services
563 Services: {get_param: ComputeServices}
564 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
567 type: OS::Heat::ResourceGroup
570 count: {get_param: ComputeCount}
571 removal_policies: {get_param: ComputeRemovalPolicies}
573 type: OS::TripleO::Compute
575 AdminPassword: {get_param: AdminPassword}
576 CinderEnableNfsBackend: {get_param: CinderEnableNfsBackend}
577 CinderEnableRbdBackend: {get_param: CinderEnableRbdBackend}
578 Debug: {get_param: Debug}
579 ExtraConfig: {get_param: ExtraConfig}
580 Flavor: {get_param: OvercloudComputeFlavor}
581 GlanceHost: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
582 KeystoneAdminApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
583 KeystonePublicApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
584 NeutronPassword: {get_param: NeutronPassword}
585 NeutronPhysicalBridge: {get_param: HypervisorNeutronPhysicalBridge}
586 NeutronPublicInterface: {get_param: HypervisorNeutronPublicInterface}
587 # L3 HA and Failover is not relevant for Computes, should be removed
588 NovaApiHost: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
589 NovaComputeDriver: {get_param: NovaComputeDriver}
590 NovaComputeExtraConfig: {get_param: NovaComputeExtraConfig}
591 NovaComputeLibvirtType: {get_param: NovaComputeLibvirtType}
592 NovaComputeLibvirtVifDriver: {get_param: NovaComputeLibvirtVifDriver}
593 NovaEnableRbdBackend: {get_param: NovaEnableRbdBackend}
594 NovaIPv6: {get_param: NovaIPv6}
595 NovaPublicIP: {get_attr: [VipMap, net_ip_map, external]}
596 NovaPassword: {get_param: NovaPassword}
597 NovaOVSBridge: {get_param: NovaOVSBridge}
598 NovaSecurityGroupAPI: {get_param: NovaSecurityGroupAPI}
599 RabbitHost: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]}
600 RabbitPassword: {get_param: RabbitPassword}
601 RabbitUserName: {get_param: RabbitUserName}
602 RabbitClientUseSSL: {get_param: RabbitClientUseSSL}
603 RabbitClientPort: {get_param: RabbitClientPort}
604 ServiceNetMap: {get_param: ServiceNetMap}
605 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
606 UpdateIdentifier: {get_param: UpdateIdentifier}
609 template: {get_param: ComputeHostnameFormat}
611 '%stackname%': {get_param: 'OS::stack_name'}
612 CloudDomain: {get_param: CloudDomain}
613 ServerMetadata: {get_param: ServerMetadata}
615 ServiceConfigSettings: {get_attr: [ComputeServiceChain, role_data, config_settings]}
616 ServiceNames: {get_attr: [ComputeServiceChain, role_data, service_names]}
618 BlockStorageServiceChain:
619 type: OS::TripleO::Services
621 Services: {get_param: BlockStorageServices}
622 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
625 type: OS::Heat::ResourceGroup
628 count: {get_param: BlockStorageCount}
629 removal_policies: {get_param: BlockStorageRemovalPolicies}
631 type: OS::TripleO::BlockStorage
633 Flavor: {get_param: OvercloudBlockStorageFlavor}
634 UpdateIdentifier: {get_param: UpdateIdentifier}
637 template: {get_param: BlockStorageHostnameFormat}
639 '%stackname%': {get_param: 'OS::stack_name'}
640 ServiceNetMap: {get_param: ServiceNetMap}
641 ExtraConfig: {get_param: ExtraConfig}
642 BlockStorageExtraConfig: {get_param: BlockStorageExtraConfig}
643 CloudDomain: {get_param: CloudDomain}
644 ServerMetadata: {get_param: ServerMetadata}
646 ServiceConfigSettings: {get_attr: [BlockStorageServiceChain, role_data, config_settings]}
647 ServiceNames: {get_attr: [BlockStorageServiceChain, role_data, service_names]}
649 ObjectStorageServiceChain:
650 type: OS::TripleO::Services
652 Services: {get_param: ObjectStorageServices}
653 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
656 type: OS::Heat::ResourceGroup
659 count: {get_param: ObjectStorageCount}
660 removal_policies: {get_param: ObjectStorageRemovalPolicies}
662 type: OS::TripleO::ObjectStorage
664 Flavor: {get_param: OvercloudSwiftStorageFlavor}
665 HashSuffix: {get_param: SwiftHashSuffix}
666 UpdateIdentifier: {get_param: UpdateIdentifier}
667 ServiceNetMap: {get_param: ServiceNetMap}
670 template: {get_param: ObjectStorageHostnameFormat}
672 '%stackname%': {get_param: 'OS::stack_name'}
673 ExtraConfig: {get_param: ExtraConfig}
674 ObjectStorageExtraConfig: {get_param: ObjectStorageExtraConfig}
675 CloudDomain: {get_param: CloudDomain}
676 ServerMetadata: {get_param: ServerMetadata}
678 ServiceConfigSettings: {get_attr: [ObjectStorageServiceChain, role_data, config_settings]}
679 ServiceNames: {get_attr: [ObjectStorageServiceChain, role_data, service_names]}
681 CephStorageServiceChain:
682 type: OS::TripleO::Services
684 Services: {get_param: CephStorageServices}
685 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
688 type: OS::Heat::ResourceGroup
691 count: {get_param: CephStorageCount}
692 removal_policies: {get_param: CephStorageRemovalPolicies}
694 type: OS::TripleO::CephStorage
696 Flavor: {get_param: OvercloudCephStorageFlavor}
697 ServiceNetMap: {get_param: ServiceNetMap}
698 UpdateIdentifier: {get_param: UpdateIdentifier}
701 template: {get_param: CephStorageHostnameFormat}
703 '%stackname%': {get_param: 'OS::stack_name'}
704 ExtraConfig: {get_param: ExtraConfig}
705 CephStorageExtraConfig: {get_param: CephStorageExtraConfig}
706 CloudDomain: {get_param: CloudDomain}
707 ServerMetadata: {get_param: ServerMetadata}
709 ServiceConfigSettings: {get_attr: [CephStorageServiceChain, role_data, config_settings]}
710 ServiceNames: {get_attr: [CephStorageServiceChain, role_data, service_names]}
713 type: OS::TripleO::Network::Ports::NetIpListMap
715 ControlPlaneIpList: {get_attr: [Controller, ip_address]}
716 ExternalIpList: {get_attr: [Controller, external_ip_address]}
717 InternalApiIpList: {get_attr: [Controller, internal_api_ip_address]}
718 StorageIpList: {get_attr: [Controller, storage_ip_address]}
719 StorageMgmtIpList: {get_attr: [Controller, storage_mgmt_ip_address]}
720 TenantIpList: {get_attr: [Controller, tenant_ip_address]}
721 ManagementIpList: {get_attr: [Controller, management_ip_address]}
724 type: OS::TripleO::AllNodes::SoftwareConfig
726 compute_hosts: {get_attr: [Compute, hosts_entry]}
727 controller_hosts: {get_attr: [Controller, hosts_entry]}
728 controller_ips: {get_attr: [Controller, ip_address]}
729 block_storage_hosts: {get_attr: [BlockStorage, hosts_entry]}
730 object_storage_hosts: {get_attr: [ObjectStorage, hosts_entry]}
731 ceph_storage_hosts: {get_attr: [CephStorage, hosts_entry]}
732 controller_names: {get_attr: [Controller, hostname]}
733 rabbit_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]}
734 mongo_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, MongoDbNetwork]}]}
735 redis_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, RedisNetwork]}]}
736 memcache_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, MemcachedNetwork]}]}
737 mysql_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
738 horizon_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, HorizonNetwork]}]}
739 heat_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
740 swift_proxy_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
741 ceilometer_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
742 aodh_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
743 gnocchi_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
744 nova_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
745 nova_metadata_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, NovaMetadataNetwork]}]}
746 glance_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
747 glance_registry_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
748 cinder_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
749 manila_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, ManilaApiNetwork]}]}
750 neutron_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
751 keystone_public_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
752 keystone_admin_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
753 sahara_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
754 ironic_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
755 ceph_mon_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, CephPublicNetwork]}]}
756 ceph_mon_node_names: {get_attr: [Controller, hostname]}
757 DeployIdentifier: {get_param: DeployIdentifier}
758 UpdateIdentifier: {get_param: UpdateIdentifier}
761 type: OS::Heat::RandomString
765 MysqlClusterUniquePart:
766 type: OS::Heat::RandomString
771 type: OS::Heat::RandomString
774 salt: {get_param: RabbitCookieSalt}
776 # creates the network architecture
778 type: OS::TripleO::Network
781 type: OS::Neutron::Port
784 name: control_virtual_ip
785 network: {get_param: NeutronControlPlaneID}
786 fixed_ips: {get_param: ControlFixedIPs}
787 replacement_policy: AUTO
791 type: OS::TripleO::Network::Ports::RedisVipPort
793 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
794 ControlPlaneNetwork: {get_param: NeutronControlPlaneID}
795 PortName: redis_virtual_ip
796 NetworkName: {get_param: [ServiceNetMap, RedisNetwork]}
799 # The public VIP is on the External net, falls back to ctlplane
802 type: OS::TripleO::Network::Ports::ExternalVipPort
804 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
805 ControlPlaneNetwork: {get_param: NeutronControlPlaneID}
806 PortName: public_virtual_ip
807 FixedIPs: {get_param: PublicVirtualFixedIPs}
809 InternalApiVirtualIP:
811 type: OS::TripleO::Network::Ports::InternalApiVipPort
813 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
814 PortName: internal_api_virtual_ip
815 FixedIPs: {get_param: InternalApiVirtualFixedIPs}
819 type: OS::TripleO::Network::Ports::StorageVipPort
821 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
822 PortName: storage_virtual_ip
823 FixedIPs: {get_param: StorageVirtualFixedIPs}
825 StorageMgmtVirtualIP:
827 type: OS::TripleO::Network::Ports::StorageMgmtVipPort
829 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
830 PortName: storage_management_virtual_ip
831 FixedIPs: {get_param: StorageMgmtVirtualFixedIPs}
834 type: OS::TripleO::Network::Ports::NetVipMap
836 ControlPlaneIp: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
837 ExternalIp: {get_attr: [PublicVirtualIP, ip_address]}
838 ExternalIpUri: {get_attr: [PublicVirtualIP, ip_address_uri]}
839 InternalApiIp: {get_attr: [InternalApiVirtualIP, ip_address]}
840 InternalApiIpUri: {get_attr: [InternalApiVirtualIP, ip_address_uri]}
841 StorageIp: {get_attr: [StorageVirtualIP, ip_address]}
842 StorageIpUri: {get_attr: [StorageVirtualIP, ip_address_uri]}
843 StorageMgmtIp: {get_attr: [StorageMgmtVirtualIP, ip_address]}
844 StorageMgmtIpUri: {get_attr: [StorageMgmtVirtualIP, ip_address_uri]}
845 # No tenant or management VIP required
848 type: OS::TripleO::VipConfig
851 type: OS::Heat::StructuredDeployments
854 config: {get_resource: VipConfig}
855 servers: {get_attr: [Controller, attributes, nova_server_resource]}
857 # service VIP mappings
858 keystone_admin_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
859 keystone_public_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
860 neutron_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
861 cinder_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
862 glance_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
863 glance_registry_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
864 swift_proxy_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
865 nova_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
866 nova_metadata_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaMetadataNetwork]}]}
867 ceilometer_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
868 aodh_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
869 gnocchi_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
870 heat_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
871 horizon_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HorizonNetwork]}]}
872 redis_vip: {get_attr: [RedisVirtualIP, ip_address]}
873 manila_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, ManilaApiNetwork]}]}
874 mysql_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
875 rabbit_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]}
876 # direct configuration of Virtual IPs for each network
877 control_virtual_ip: {get_attr: [VipMap, net_ip_map, ctlplane]}
878 public_virtual_ip: {get_attr: [VipMap, net_ip_map, external]}
879 internal_api_virtual_ip: {get_attr: [VipMap, net_ip_map, internal_api]}
880 sahara_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
881 ironic_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
882 storage_virtual_ip: {get_attr: [VipMap, net_ip_map, storage]}
883 storage_mgmt_virtual_ip: {get_attr: [VipMap, net_ip_map, storage_mgmt]}
885 ControllerSwiftDeployment:
886 type: OS::Heat::StructuredDeployments
888 name: ControllerSwiftDeployment
889 config: {get_attr: [SwiftDevicesAndProxyConfig, config_id]}
890 servers: {get_attr: [Controller, attributes, nova_server_resource]}
892 ObjectStorageSwiftDeployment:
893 type: OS::Heat::StructuredDeployments
895 name: ObjectStorageSwiftDeployment
896 config: {get_attr: [SwiftDevicesAndProxyConfig, config_id]}
897 servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
899 SwiftDevicesAndProxyConfig:
900 type: OS::TripleO::SwiftDevicesAndProxy::SoftwareConfig
902 controller_swift_devices: {get_attr: [Controller, swift_device]}
903 object_store_swift_devices: {get_attr: [ObjectStorage, swift_device]}
904 controller_swift_proxy_memcaches: {get_attr: [Controller, swift_proxy_memcache]}
906 ControllerAllNodesDeployment:
907 type: OS::Heat::StructuredDeployments
909 name: ControllerAllNodesDeployment
910 config: {get_attr: [allNodesConfig, config_id]}
911 servers: {get_attr: [Controller, attributes, nova_server_resource]}
913 bootstrap_nodeid: {get_attr: [Controller, resource.0.hostname]}
914 bootstrap_nodeid_ip: {get_attr: [Controller, resource.0.ip_address]}
916 ComputeAllNodesDeployment:
917 type: OS::Heat::StructuredDeployments
919 name: ComputeAllNodesDeployment
920 config: {get_attr: [allNodesConfig, config_id]}
921 servers: {get_attr: [Compute, attributes, nova_server_resource]}
923 bootstrap_nodeid: {get_attr: [Compute, resource.0.hostname]}
924 bootstrap_nodeid_ip: {get_attr: [Compute, resource.0.ip_address]}
926 BlockStorageAllNodesDeployment:
927 type: OS::Heat::StructuredDeployments
929 name: BlockStorageAllNodesDeployment
930 config: {get_attr: [allNodesConfig, config_id]}
931 servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
933 bootstrap_nodeid: {get_attr: [BlockStorage, resource.0.hostname]}
934 bootstrap_nodeid_ip: {get_attr: [BlockStorage, resource.0.ip_address]}
936 ObjectStorageAllNodesDeployment:
937 type: OS::Heat::StructuredDeployments
939 name: ObjectStorageAllNodesDeployment
940 config: {get_attr: [allNodesConfig, config_id]}
941 servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
943 bootstrap_nodeid: {get_attr: [ObjectStorage, resource.0.hostname]}
944 bootstrap_nodeid_ip: {get_attr: [ObjectStorage, resource.0.ip_address]}
946 CephStorageAllNodesDeployment:
947 type: OS::Heat::StructuredDeployments
949 name: CephStorageAllNodesDeployment
950 config: {get_attr: [allNodesConfig, config_id]}
951 servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
953 bootstrap_nodeid: {get_attr: [CephStorage, resource.0.hostname]}
954 bootstrap_nodeid_ip: {get_attr: [CephStorage, resource.0.ip_address]}
956 # All Nodes Validations
957 AllNodesValidationConfig:
958 type: OS::TripleO::AllNodes::Validation
963 - - {get_attr: [Controller, resource.0.external_ip_address]}
964 - {get_attr: [Controller, resource.0.internal_api_ip_address]}
965 - {get_attr: [Controller, resource.0.storage_ip_address]}
966 - {get_attr: [Controller, resource.0.storage_mgmt_ip_address]}
967 - {get_attr: [Controller, resource.0.tenant_ip_address]}
969 ControllerAllNodesValidationDeployment:
970 type: OS::Heat::StructuredDeployments
971 depends_on: ControllerAllNodesDeployment
973 name: ControllerAllNodesValidationDeployment
974 config: {get_resource: AllNodesValidationConfig}
975 servers: {get_attr: [Controller, attributes, nova_server_resource]}
977 ComputeAllNodesValidationDeployment:
978 type: OS::Heat::StructuredDeployments
979 depends_on: ComputeAllNodesDeployment
981 name: ComputeAllNodesValidationDeployment
982 config: {get_resource: AllNodesValidationConfig}
983 servers: {get_attr: [Compute, attributes, nova_server_resource]}
985 BlockStorageAllNodesValidationDeployment:
986 type: OS::Heat::StructuredDeployments
987 depends_on: BlockStorageAllNodesDeployment
989 name: BlockStorageAllNodesValidationDeployment
990 config: {get_resource: AllNodesValidationConfig}
991 servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
993 ObjectStorageAllNodesValidationDeployment:
994 type: OS::Heat::StructuredDeployments
995 depends_on: ObjectStorageAllNodesDeployment
997 name: ObjectStorageAllNodesValidationDeployment
998 config: {get_resource: AllNodesValidationConfig}
999 servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1001 CephStorageAllNodesValidationDeployment:
1002 type: OS::Heat::StructuredDeployments
1003 depends_on: CephStorageAllNodesDeployment
1005 name: CephStorageAllNodesValidationDeployment
1006 config: {get_resource: AllNodesValidationConfig}
1007 servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1010 type: OS::TripleO::Tasks::UpdateWorkflow
1012 controller_servers: {get_attr: [Controller, attributes, nova_server_resource]}
1013 compute_servers: {get_attr: [Compute, attributes, nova_server_resource]}
1014 blockstorage_servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
1015 objectstorage_servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1016 cephstorage_servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1018 deploy_identifier: {get_param: DeployIdentifier}
1019 update_identifier: {get_param: UpdateIdentifier}
1021 # Optional ExtraConfig for all nodes - all roles are passed in here, but
1022 # the nested template may configure each role differently (or not at all)
1023 AllNodesExtraConfig:
1024 type: OS::TripleO::AllNodesExtraConfig
1027 - ComputeAllNodesValidationDeployment
1028 - BlockStorageAllNodesValidationDeployment
1029 - ObjectStorageAllNodesValidationDeployment
1030 - CephStorageAllNodesValidationDeployment
1031 - ControllerAllNodesValidationDeployment
1033 controller_servers: {get_attr: [Controller, attributes, nova_server_resource]}
1034 compute_servers: {get_attr: [Compute, attributes, nova_server_resource]}
1035 blockstorage_servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
1036 objectstorage_servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1037 cephstorage_servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1039 # Nested stack deployment runs after all other controller deployments
1040 ControllerNodesPostDeployment:
1041 type: OS::TripleO::ControllerPostDeployment
1042 depends_on: [ControllerAllNodesDeployment, ControllerSwiftDeployment]
1044 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1045 RoleData: {get_attr: [ControllerServiceChain, role_data]}
1047 ComputeNodesPostDeployment:
1048 type: OS::TripleO::ComputePostDeployment
1049 depends_on: [ComputeAllNodesDeployment]
1051 servers: {get_attr: [Compute, attributes, nova_server_resource]}
1052 RoleData: {get_attr: [ComputeServiceChain, role_data]}
1054 ObjectStorageNodesPostDeployment:
1055 type: OS::TripleO::ObjectStoragePostDeployment
1056 depends_on: [ObjectStorageSwiftDeployment, ObjectStorageAllNodesDeployment]
1058 servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1059 RoleData: {get_attr: [ObjectStorageServiceChain, role_data]}
1061 BlockStorageNodesPostDeployment:
1062 type: OS::TripleO::BlockStoragePostDeployment
1063 depends_on: [ControllerNodesPostDeployment, BlockStorageAllNodesDeployment]
1065 servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
1066 RoleData: {get_attr: [BlockStorageServiceChain, role_data]}
1068 CephStorageNodesPostDeployment:
1069 type: OS::TripleO::CephStoragePostDeployment
1070 depends_on: [ControllerNodesPostDeployment, CephStorageAllNodesDeployment]
1072 servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1073 RoleData: {get_attr: [CephStorageServiceChain, role_data]}
1077 description: URL for the Overcloud Keystone service
1078 value: {get_attr: [EndpointMap, endpoint_map, KeystonePublic, uri]}
1080 description: Keystone Admin VIP endpoint
1081 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
1083 description: Controller VIP for public API endpoints
1084 value: {get_attr: [VipMap, net_ip_map, external]}
1086 description: VIP for Aodh API internal endpoint
1087 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
1088 CeilometerInternalVip:
1089 description: VIP for Ceilometer API internal endpoint
1090 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
1092 description: VIP for Cinder API internal endpoint
1093 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
1095 description: VIP for Glance API internal endpoint
1096 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
1098 description: VIP for Gnocchi API internal endpoint
1099 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
1101 description: VIP for Heat API internal endpoint
1102 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
1104 description: VIP for Ironic API internal endpoint
1105 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
1106 KeystoneInternalVip:
1107 description: VIP for Keystone API internal endpoint
1108 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
1110 description: VIP for Manila API internal endpoint
1111 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, ManilaApiNetwork]}]}
1113 description: VIP for Neutron API internal endpoint
1114 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
1116 description: VIP for Nova API internal endpoint
1117 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
1119 description: VIP for Sahara API internal endpoint
1120 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
1122 description: VIP for Swift Proxy internal endpoint
1123 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
1126 Mapping of the resources with the needed info for their endpoints.
1127 This includes the protocol used, the IP, port and also a full
1128 representation of the URI.
1129 value: {get_attr: [EndpointMap, endpoint_map]}
1132 The content that should be appended to your /etc/hosts if you want to get
1133 hostname-based access to the deployed nodes (useful for testing without
1135 value: {get_attr: [allNodesConfig, hosts_entries]}
1137 description: The services enabled on each role
1139 Controller: {get_attr: [ControllerServiceChain, role_data, service_names]}
1140 Compute: {get_attr: [ComputeServiceChain, role_data, service_names]}
1141 BlockStorage: {get_attr: [BlockStorageServiceChain, role_data, service_names]}
1142 ObjectStorage: {get_attr: [ObjectStorageServiceChain, role_data, service_names]}
1143 CephStorage: {get_attr: [CephStorageServiceChain, role_data, service_names]}