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 description: A list of service resources (configured in the Heat
292 resource_registry) which represent nested stacks
293 for each service that should get installed on the Controllers.
294 type: comma_delimited_list
298 - OS::TripleO::Services::CephClient
299 - OS::TripleO::Services::CephExternal
300 - OS::TripleO::Services::Timezone
301 - OS::TripleO::Services::Ntp
302 - OS::TripleO::Services::Snmp
303 - OS::TripleO::Services::NovaCompute
304 - OS::TripleO::Services::NovaLibvirt
305 - OS::TripleO::Services::Kernel
306 - OS::TripleO::Services::ComputeNeutronCorePlugin
307 - OS::TripleO::Services::ComputeNeutronOvsAgent
308 - OS::TripleO::Services::ComputeCeilometerAgent
309 - OS::TripleO::Services::ComputeNeutronL3Agent
310 - OS::TripleO::Services::ComputeNeutronMetadataAgent
311 description: A list of service resources (configured in the Heat
312 resource_registry) which represent nested stacks
313 for each service that should get installed on the Compute Nodes.
314 type: comma_delimited_list
316 # Block storage specific parameters
320 OvercloudBlockStorageFlavor:
321 description: Flavor for block storage nodes to request when deploying.
325 - custom_constraint: nova.flavor
326 BlockStorageExtraConfig:
329 BlockStorage specific configuration to inject into the cluster. Same
330 structure as ExtraConfig.
332 BlockStorageServices:
334 - OS::TripleO::Services::CinderVolume
335 - OS::TripleO::Services::Kernel
336 - OS::TripleO::Services::Ntp
337 - OS::TripleO::Services::Timezone
338 - OS::TripleO::Services::Snmp
339 description: A list of service resources (configured in the Heat
340 resource_registry) which represent nested stacks
341 for each service that should get installed on the BlockStorage nodes.
342 type: comma_delimited_list
344 # Object storage specific parameters
348 OvercloudSwiftStorageFlavor:
349 description: Flavor for Swift storage nodes to request when deploying.
353 - custom_constraint: nova.flavor
354 ObjectStorageExtraConfig:
357 ObjectStorage specific configuration to inject into the cluster. Same
358 structure as ExtraConfig.
360 ObjectStorageServices:
362 - OS::TripleO::Services::Kernel
363 - OS::TripleO::Services::Ntp
364 - OS::TripleO::Services::SwiftStorage
365 - OS::TripleO::Services::SwiftRingBuilder
366 - OS::TripleO::Services::Snmp
367 - OS::TripleO::Services::Timezone
368 description: A list of service resources (configured in the Heat
369 resource_registry) which represent nested stacks
370 for each service that should get installed on the ObjectStorage nodes.
371 Note this role currently only supports steps 2, 3 and 4 configuration.
372 type: comma_delimited_list
375 # Ceph storage specific parameters
379 OvercloudCephStorageFlavor:
381 description: Flavor for Ceph storage nodes to request when deploying.
384 - custom_constraint: nova.flavor
385 CephStorageExtraConfig:
388 CephStorage specific configuration to inject into the cluster. Same
389 structure as ExtraConfig.
393 - OS::TripleO::Services::CephOSD
394 - OS::TripleO::Services::Kernel
395 - OS::TripleO::Services::Ntp
396 - OS::TripleO::Services::Timezone
397 description: A list of service resources (configured in the Heat
398 resource_registry) which represent nested stacks
399 for each service that should get installed on the CephStorage nodes.
400 type: comma_delimited_list
402 # Hostname format for each role
403 # Note %index% is translated into the index of the node, e.g 0/1/2 etc
404 # and %stackname% is replaced with OS::stack_name in the template below.
405 # If you want to use the heat generated names, pass '' (empty string).
406 ControllerHostnameFormat:
408 description: Format for Controller node hostnames
409 default: '%stackname%-controller-%index%'
410 ComputeHostnameFormat:
412 description: Format for Compute node hostnames
413 default: '%stackname%-novacompute-%index%'
414 BlockStorageHostnameFormat:
416 description: Format for BlockStorage node hostnames
417 default: '%stackname%-blockstorage-%index%'
418 ObjectStorageHostnameFormat:
420 description: Format for SwiftStorage node hostnames
421 default: '%stackname%-objectstorage-%index%'
422 CephStorageHostnameFormat:
424 description: Format for CephStorage node hostnames
425 default: '%stackname%-cephstorage-%index%'
427 # Identifiers to trigger tasks on nodes
432 Setting to a previously unused value during stack-update will trigger
433 package update on all nodes
438 Setting this to a unique value will re-run any deployment tasks which
439 perform configuration on a Heat stack-update.
441 # If you want to remove a specific node from a resource group, you can pass
442 # the node name or id as a <Group>RemovalPolicies parameter, for example:
443 # ComputeRemovalPolicies: [{'resource_list': ['0']}]
444 ControllerRemovalPolicies:
448 List of resources to be removed from ControllerResourceGroup when
449 doing an update which requires removal of specific resources.
450 ComputeRemovalPolicies:
454 List of resources to be removed from ComputeResourceGroup when
455 doing an update which requires removal of specific resources.
456 BlockStorageRemovalPolicies:
460 List of resources to be removed from BlockStorageResourceGroup when
461 doing an update which requires removal of specific resources.
462 ObjectStorageRemovalPolicies:
466 List of resources to be removed from ObjectStorageResourceGroup when
467 doing an update which requires removal of specific resources.
468 CephStorageRemovalPolicies:
472 List of resources to be removed from CephStorageResourceGroup when
473 doing an update which requires removal of specific resources.
477 description: Do not use deprecated params, they will be removed.
479 - controllerExtraConfig
484 HeatAuthEncryptionKey:
485 type: OS::Heat::RandomString
488 type: OS::Heat::RandomString
493 type: OS::Heat::RandomString
498 type: OS::TripleO::EndpointMap
500 CloudName: {get_param: CloudName}
501 CeilometerApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
502 AodhApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
503 CinderApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
504 GlanceApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
505 GlanceRegistryVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
506 GnocchiApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
507 HeatApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
508 IronicApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
509 KeystoneAdminApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
510 KeystonePublicApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
511 ManilaApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, ManilaApiNetwork]}]}
512 MysqlVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
513 MysqlNoBracketsVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
514 NeutronApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
515 NovaApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
516 SaharaApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
517 SwiftProxyVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
518 PublicVirtualIP: {get_attr: [VipMap, net_ip_uri_map, external]}
520 ControllerServiceChain:
521 type: OS::TripleO::Services
523 Services: {get_param: ControllerServices}
524 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
527 type: OS::Heat::ResourceGroup
530 count: {get_param: ControllerCount}
531 removal_policies: {get_param: ControllerRemovalPolicies}
533 type: OS::TripleO::Controller
535 controllerExtraConfig: {get_param: controllerExtraConfig}
536 Flavor: {get_param: OvercloudControlFlavor}
537 HeatAuthEncryptionKey: {get_resource: HeatAuthEncryptionKey}
538 HorizonSecret: {get_resource: HorizonSecret}
539 MysqlClusterUniquePart: {get_attr: [MysqlClusterUniquePart, value]}
540 MysqlRootPassword: {get_attr: [MysqlRootPassword, value]}
541 PcsdPassword: {get_resource: PcsdPassword}
542 RabbitCookie: {get_attr: [RabbitCookie, value]}
543 RedisVirtualIP: {get_attr: [RedisVirtualIP, ip_address]}
544 RedisVirtualIPUri: {get_attr: [RedisVirtualIP, ip_address_uri]}
545 ServiceNetMap: {get_param: ServiceNetMap}
546 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
547 MysqlVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
550 template: {get_param: ControllerHostnameFormat}
552 '%stackname%': {get_param: 'OS::stack_name'}
554 ServiceConfigSettings: {get_attr: [ControllerServiceChain, role_data, config_settings]}
555 ServiceNames: {get_attr: [ControllerServiceChain, role_data, service_names]}
559 type: OS::TripleO::Services
561 Services: {get_param: ComputeServices}
562 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
565 type: OS::Heat::ResourceGroup
568 count: {get_param: ComputeCount}
569 removal_policies: {get_param: ComputeRemovalPolicies}
571 type: OS::TripleO::Compute
573 AdminPassword: {get_param: AdminPassword}
574 CinderEnableNfsBackend: {get_param: CinderEnableNfsBackend}
575 CinderEnableRbdBackend: {get_param: CinderEnableRbdBackend}
576 Debug: {get_param: Debug}
577 ExtraConfig: {get_param: ExtraConfig}
578 Flavor: {get_param: OvercloudComputeFlavor}
579 GlanceHost: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
580 KeystoneAdminApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
581 KeystonePublicApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
582 NeutronPassword: {get_param: NeutronPassword}
583 NeutronPhysicalBridge: {get_param: HypervisorNeutronPhysicalBridge}
584 NeutronPublicInterface: {get_param: HypervisorNeutronPublicInterface}
585 # L3 HA and Failover is not relevant for Computes, should be removed
586 NovaApiHost: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
587 NovaComputeDriver: {get_param: NovaComputeDriver}
588 NovaComputeExtraConfig: {get_param: NovaComputeExtraConfig}
589 NovaComputeLibvirtType: {get_param: NovaComputeLibvirtType}
590 NovaComputeLibvirtVifDriver: {get_param: NovaComputeLibvirtVifDriver}
591 NovaEnableRbdBackend: {get_param: NovaEnableRbdBackend}
592 NovaIPv6: {get_param: NovaIPv6}
593 NovaPublicIP: {get_attr: [VipMap, net_ip_map, external]}
594 NovaPassword: {get_param: NovaPassword}
595 NovaOVSBridge: {get_param: NovaOVSBridge}
596 NovaSecurityGroupAPI: {get_param: NovaSecurityGroupAPI}
597 RabbitHost: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]}
598 RabbitPassword: {get_param: RabbitPassword}
599 RabbitUserName: {get_param: RabbitUserName}
600 RabbitClientUseSSL: {get_param: RabbitClientUseSSL}
601 RabbitClientPort: {get_param: RabbitClientPort}
602 ServiceNetMap: {get_param: ServiceNetMap}
603 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
604 UpdateIdentifier: {get_param: UpdateIdentifier}
607 template: {get_param: ComputeHostnameFormat}
609 '%stackname%': {get_param: 'OS::stack_name'}
610 CloudDomain: {get_param: CloudDomain}
611 ServerMetadata: {get_param: ServerMetadata}
613 ServiceConfigSettings: {get_attr: [ComputeServiceChain, role_data, config_settings]}
614 ServiceNames: {get_attr: [ComputeServiceChain, role_data, service_names]}
616 BlockStorageServiceChain:
617 type: OS::TripleO::Services
619 Services: {get_param: BlockStorageServices}
620 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
623 type: OS::Heat::ResourceGroup
626 count: {get_param: BlockStorageCount}
627 removal_policies: {get_param: BlockStorageRemovalPolicies}
629 type: OS::TripleO::BlockStorage
631 Flavor: {get_param: OvercloudBlockStorageFlavor}
632 UpdateIdentifier: {get_param: UpdateIdentifier}
635 template: {get_param: BlockStorageHostnameFormat}
637 '%stackname%': {get_param: 'OS::stack_name'}
638 ServiceNetMap: {get_param: ServiceNetMap}
639 ExtraConfig: {get_param: ExtraConfig}
640 BlockStorageExtraConfig: {get_param: BlockStorageExtraConfig}
641 CloudDomain: {get_param: CloudDomain}
642 ServerMetadata: {get_param: ServerMetadata}
644 ServiceConfigSettings: {get_attr: [BlockStorageServiceChain, role_data, config_settings]}
645 ServiceNames: {get_attr: [BlockStorageServiceChain, role_data, service_names]}
647 ObjectStorageServiceChain:
648 type: OS::TripleO::Services
650 Services: {get_param: ObjectStorageServices}
651 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
654 type: OS::Heat::ResourceGroup
657 count: {get_param: ObjectStorageCount}
658 removal_policies: {get_param: ObjectStorageRemovalPolicies}
660 type: OS::TripleO::ObjectStorage
662 Flavor: {get_param: OvercloudSwiftStorageFlavor}
663 HashSuffix: {get_param: SwiftHashSuffix}
664 UpdateIdentifier: {get_param: UpdateIdentifier}
665 ServiceNetMap: {get_param: ServiceNetMap}
668 template: {get_param: ObjectStorageHostnameFormat}
670 '%stackname%': {get_param: 'OS::stack_name'}
671 ExtraConfig: {get_param: ExtraConfig}
672 ObjectStorageExtraConfig: {get_param: ObjectStorageExtraConfig}
673 CloudDomain: {get_param: CloudDomain}
674 ServerMetadata: {get_param: ServerMetadata}
676 ServiceConfigSettings: {get_attr: [ObjectStorageServiceChain, role_data, config_settings]}
677 ServiceNames: {get_attr: [ObjectStorageServiceChain, role_data, service_names]}
679 CephStorageServiceChain:
680 type: OS::TripleO::Services
682 Services: {get_param: CephStorageServices}
683 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
686 type: OS::Heat::ResourceGroup
689 count: {get_param: CephStorageCount}
690 removal_policies: {get_param: CephStorageRemovalPolicies}
692 type: OS::TripleO::CephStorage
694 Flavor: {get_param: OvercloudCephStorageFlavor}
695 ServiceNetMap: {get_param: ServiceNetMap}
696 UpdateIdentifier: {get_param: UpdateIdentifier}
699 template: {get_param: CephStorageHostnameFormat}
701 '%stackname%': {get_param: 'OS::stack_name'}
702 ExtraConfig: {get_param: ExtraConfig}
703 CephStorageExtraConfig: {get_param: CephStorageExtraConfig}
704 CloudDomain: {get_param: CloudDomain}
705 ServerMetadata: {get_param: ServerMetadata}
707 ServiceConfigSettings: {get_attr: [CephStorageServiceChain, role_data, config_settings]}
708 ServiceNames: {get_attr: [CephStorageServiceChain, role_data, service_names]}
711 type: OS::TripleO::Network::Ports::NetIpListMap
713 ControlPlaneIpList: {get_attr: [Controller, ip_address]}
714 ExternalIpList: {get_attr: [Controller, external_ip_address]}
715 InternalApiIpList: {get_attr: [Controller, internal_api_ip_address]}
716 StorageIpList: {get_attr: [Controller, storage_ip_address]}
717 StorageMgmtIpList: {get_attr: [Controller, storage_mgmt_ip_address]}
718 TenantIpList: {get_attr: [Controller, tenant_ip_address]}
719 ManagementIpList: {get_attr: [Controller, management_ip_address]}
722 type: OS::TripleO::AllNodes::SoftwareConfig
724 compute_hosts: {get_attr: [Compute, hosts_entry]}
725 controller_hosts: {get_attr: [Controller, hosts_entry]}
726 controller_ips: {get_attr: [Controller, ip_address]}
727 block_storage_hosts: {get_attr: [BlockStorage, hosts_entry]}
728 object_storage_hosts: {get_attr: [ObjectStorage, hosts_entry]}
729 ceph_storage_hosts: {get_attr: [CephStorage, hosts_entry]}
730 controller_names: {get_attr: [Controller, hostname]}
731 rabbit_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]}
732 mongo_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, MongoDbNetwork]}]}
733 redis_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, RedisNetwork]}]}
734 memcache_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, MemcachedNetwork]}]}
735 mysql_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
736 horizon_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, HorizonNetwork]}]}
737 heat_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
738 swift_proxy_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
739 ceilometer_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
740 aodh_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
741 gnocchi_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
742 nova_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
743 nova_metadata_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, NovaMetadataNetwork]}]}
744 glance_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
745 glance_registry_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
746 cinder_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
747 manila_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, ManilaApiNetwork]}]}
748 neutron_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
749 keystone_public_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
750 keystone_admin_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
751 sahara_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
752 ironic_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
753 ceph_mon_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, CephPublicNetwork]}]}
754 ceph_mon_node_names: {get_attr: [Controller, hostname]}
755 DeployIdentifier: {get_param: DeployIdentifier}
756 UpdateIdentifier: {get_param: UpdateIdentifier}
759 type: OS::Heat::RandomString
763 MysqlClusterUniquePart:
764 type: OS::Heat::RandomString
769 type: OS::Heat::RandomString
772 salt: {get_param: RabbitCookieSalt}
774 # creates the network architecture
776 type: OS::TripleO::Network
779 type: OS::Neutron::Port
782 name: control_virtual_ip
783 network: {get_param: NeutronControlPlaneID}
784 fixed_ips: {get_param: ControlFixedIPs}
785 replacement_policy: AUTO
789 type: OS::TripleO::Network::Ports::RedisVipPort
791 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
792 ControlPlaneNetwork: {get_param: NeutronControlPlaneID}
793 PortName: redis_virtual_ip
794 NetworkName: {get_param: [ServiceNetMap, RedisNetwork]}
797 # The public VIP is on the External net, falls back to ctlplane
800 type: OS::TripleO::Network::Ports::ExternalVipPort
802 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
803 ControlPlaneNetwork: {get_param: NeutronControlPlaneID}
804 PortName: public_virtual_ip
805 FixedIPs: {get_param: PublicVirtualFixedIPs}
807 InternalApiVirtualIP:
809 type: OS::TripleO::Network::Ports::InternalApiVipPort
811 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
812 PortName: internal_api_virtual_ip
813 FixedIPs: {get_param: InternalApiVirtualFixedIPs}
817 type: OS::TripleO::Network::Ports::StorageVipPort
819 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
820 PortName: storage_virtual_ip
821 FixedIPs: {get_param: StorageVirtualFixedIPs}
823 StorageMgmtVirtualIP:
825 type: OS::TripleO::Network::Ports::StorageMgmtVipPort
827 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
828 PortName: storage_management_virtual_ip
829 FixedIPs: {get_param: StorageMgmtVirtualFixedIPs}
832 type: OS::TripleO::Network::Ports::NetVipMap
834 ControlPlaneIp: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
835 ExternalIp: {get_attr: [PublicVirtualIP, ip_address]}
836 ExternalIpUri: {get_attr: [PublicVirtualIP, ip_address_uri]}
837 InternalApiIp: {get_attr: [InternalApiVirtualIP, ip_address]}
838 InternalApiIpUri: {get_attr: [InternalApiVirtualIP, ip_address_uri]}
839 StorageIp: {get_attr: [StorageVirtualIP, ip_address]}
840 StorageIpUri: {get_attr: [StorageVirtualIP, ip_address_uri]}
841 StorageMgmtIp: {get_attr: [StorageMgmtVirtualIP, ip_address]}
842 StorageMgmtIpUri: {get_attr: [StorageMgmtVirtualIP, ip_address_uri]}
843 # No tenant or management VIP required
846 type: OS::TripleO::VipConfig
849 type: OS::Heat::StructuredDeployments
852 config: {get_resource: VipConfig}
853 servers: {get_attr: [Controller, attributes, nova_server_resource]}
855 # service VIP mappings
856 keystone_admin_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
857 keystone_public_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
858 neutron_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
859 cinder_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
860 glance_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
861 glance_registry_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
862 swift_proxy_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
863 nova_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
864 nova_metadata_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaMetadataNetwork]}]}
865 ceilometer_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
866 aodh_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
867 gnocchi_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
868 heat_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
869 horizon_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HorizonNetwork]}]}
870 redis_vip: {get_attr: [RedisVirtualIP, ip_address]}
871 manila_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, ManilaApiNetwork]}]}
872 mysql_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
873 rabbit_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]}
874 # direct configuration of Virtual IPs for each network
875 control_virtual_ip: {get_attr: [VipMap, net_ip_map, ctlplane]}
876 public_virtual_ip: {get_attr: [VipMap, net_ip_map, external]}
877 internal_api_virtual_ip: {get_attr: [VipMap, net_ip_map, internal_api]}
878 sahara_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
879 ironic_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
880 storage_virtual_ip: {get_attr: [VipMap, net_ip_map, storage]}
881 storage_mgmt_virtual_ip: {get_attr: [VipMap, net_ip_map, storage_mgmt]}
883 ControllerSwiftDeployment:
884 type: OS::Heat::StructuredDeployments
886 name: ControllerSwiftDeployment
887 config: {get_attr: [SwiftDevicesAndProxyConfig, config_id]}
888 servers: {get_attr: [Controller, attributes, nova_server_resource]}
890 ObjectStorageSwiftDeployment:
891 type: OS::Heat::StructuredDeployments
893 name: ObjectStorageSwiftDeployment
894 config: {get_attr: [SwiftDevicesAndProxyConfig, config_id]}
895 servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
897 SwiftDevicesAndProxyConfig:
898 type: OS::TripleO::SwiftDevicesAndProxy::SoftwareConfig
900 controller_swift_devices: {get_attr: [Controller, swift_device]}
901 object_store_swift_devices: {get_attr: [ObjectStorage, swift_device]}
902 controller_swift_proxy_memcaches: {get_attr: [Controller, swift_proxy_memcache]}
904 ControllerAllNodesDeployment:
905 type: OS::Heat::StructuredDeployments
907 name: ControllerAllNodesDeployment
908 config: {get_attr: [allNodesConfig, config_id]}
909 servers: {get_attr: [Controller, attributes, nova_server_resource]}
911 bootstrap_nodeid: {get_attr: [Controller, resource.0.hostname]}
912 bootstrap_nodeid_ip: {get_attr: [Controller, resource.0.ip_address]}
914 ComputeAllNodesDeployment:
915 type: OS::Heat::StructuredDeployments
917 name: ComputeAllNodesDeployment
918 config: {get_attr: [allNodesConfig, config_id]}
919 servers: {get_attr: [Compute, attributes, nova_server_resource]}
921 bootstrap_nodeid: {get_attr: [Compute, resource.0.hostname]}
922 bootstrap_nodeid_ip: {get_attr: [Compute, resource.0.ip_address]}
924 BlockStorageAllNodesDeployment:
925 type: OS::Heat::StructuredDeployments
927 name: BlockStorageAllNodesDeployment
928 config: {get_attr: [allNodesConfig, config_id]}
929 servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
931 bootstrap_nodeid: {get_attr: [BlockStorage, resource.0.hostname]}
932 bootstrap_nodeid_ip: {get_attr: [BlockStorage, resource.0.ip_address]}
934 ObjectStorageAllNodesDeployment:
935 type: OS::Heat::StructuredDeployments
937 name: ObjectStorageAllNodesDeployment
938 config: {get_attr: [allNodesConfig, config_id]}
939 servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
941 bootstrap_nodeid: {get_attr: [ObjectStorage, resource.0.hostname]}
942 bootstrap_nodeid_ip: {get_attr: [ObjectStorage, resource.0.ip_address]}
944 CephStorageAllNodesDeployment:
945 type: OS::Heat::StructuredDeployments
947 name: CephStorageAllNodesDeployment
948 config: {get_attr: [allNodesConfig, config_id]}
949 servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
951 bootstrap_nodeid: {get_attr: [CephStorage, resource.0.hostname]}
952 bootstrap_nodeid_ip: {get_attr: [CephStorage, resource.0.ip_address]}
954 # All Nodes Validations
955 AllNodesValidationConfig:
956 type: OS::TripleO::AllNodes::Validation
961 - - {get_attr: [Controller, resource.0.external_ip_address]}
962 - {get_attr: [Controller, resource.0.internal_api_ip_address]}
963 - {get_attr: [Controller, resource.0.storage_ip_address]}
964 - {get_attr: [Controller, resource.0.storage_mgmt_ip_address]}
965 - {get_attr: [Controller, resource.0.tenant_ip_address]}
967 ControllerAllNodesValidationDeployment:
968 type: OS::Heat::StructuredDeployments
969 depends_on: ControllerAllNodesDeployment
971 name: ControllerAllNodesValidationDeployment
972 config: {get_resource: AllNodesValidationConfig}
973 servers: {get_attr: [Controller, attributes, nova_server_resource]}
975 ComputeAllNodesValidationDeployment:
976 type: OS::Heat::StructuredDeployments
977 depends_on: ComputeAllNodesDeployment
979 name: ComputeAllNodesValidationDeployment
980 config: {get_resource: AllNodesValidationConfig}
981 servers: {get_attr: [Compute, attributes, nova_server_resource]}
983 BlockStorageAllNodesValidationDeployment:
984 type: OS::Heat::StructuredDeployments
985 depends_on: BlockStorageAllNodesDeployment
987 name: BlockStorageAllNodesValidationDeployment
988 config: {get_resource: AllNodesValidationConfig}
989 servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
991 ObjectStorageAllNodesValidationDeployment:
992 type: OS::Heat::StructuredDeployments
993 depends_on: ObjectStorageAllNodesDeployment
995 name: ObjectStorageAllNodesValidationDeployment
996 config: {get_resource: AllNodesValidationConfig}
997 servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
999 CephStorageAllNodesValidationDeployment:
1000 type: OS::Heat::StructuredDeployments
1001 depends_on: CephStorageAllNodesDeployment
1003 name: CephStorageAllNodesValidationDeployment
1004 config: {get_resource: AllNodesValidationConfig}
1005 servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1008 type: OS::TripleO::Tasks::UpdateWorkflow
1010 controller_servers: {get_attr: [Controller, attributes, nova_server_resource]}
1011 compute_servers: {get_attr: [Compute, attributes, nova_server_resource]}
1012 blockstorage_servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
1013 objectstorage_servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1014 cephstorage_servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1016 deploy_identifier: {get_param: DeployIdentifier}
1017 update_identifier: {get_param: UpdateIdentifier}
1019 # Optional ExtraConfig for all nodes - all roles are passed in here, but
1020 # the nested template may configure each role differently (or not at all)
1021 AllNodesExtraConfig:
1022 type: OS::TripleO::AllNodesExtraConfig
1025 - ComputeAllNodesValidationDeployment
1026 - BlockStorageAllNodesValidationDeployment
1027 - ObjectStorageAllNodesValidationDeployment
1028 - CephStorageAllNodesValidationDeployment
1029 - ControllerAllNodesValidationDeployment
1031 controller_servers: {get_attr: [Controller, attributes, nova_server_resource]}
1032 compute_servers: {get_attr: [Compute, attributes, nova_server_resource]}
1033 blockstorage_servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
1034 objectstorage_servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1035 cephstorage_servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1037 # Nested stack deployment runs after all other controller deployments
1038 ControllerNodesPostDeployment:
1039 type: OS::TripleO::ControllerPostDeployment
1040 depends_on: [ControllerAllNodesDeployment, ControllerSwiftDeployment]
1042 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1043 RoleData: {get_attr: [ControllerServiceChain, role_data]}
1045 ComputeNodesPostDeployment:
1046 type: OS::TripleO::ComputePostDeployment
1047 depends_on: [ComputeAllNodesDeployment]
1049 servers: {get_attr: [Compute, attributes, nova_server_resource]}
1050 RoleData: {get_attr: [ComputeServiceChain, role_data]}
1052 ObjectStorageNodesPostDeployment:
1053 type: OS::TripleO::ObjectStoragePostDeployment
1054 depends_on: [ObjectStorageSwiftDeployment, ObjectStorageAllNodesDeployment]
1056 servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1057 RoleData: {get_attr: [ObjectStorageServiceChain, role_data]}
1059 BlockStorageNodesPostDeployment:
1060 type: OS::TripleO::BlockStoragePostDeployment
1061 depends_on: [ControllerNodesPostDeployment, BlockStorageAllNodesDeployment]
1063 servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
1064 RoleData: {get_attr: [BlockStorageServiceChain, role_data]}
1066 CephStorageNodesPostDeployment:
1067 type: OS::TripleO::CephStoragePostDeployment
1068 depends_on: [ControllerNodesPostDeployment, CephStorageAllNodesDeployment]
1070 servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1071 RoleData: {get_attr: [CephStorageServiceChain, role_data]}
1075 description: URL for the Overcloud Keystone service
1076 value: {get_attr: [EndpointMap, endpoint_map, KeystonePublic, uri]}
1078 description: Keystone Admin VIP endpoint
1079 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
1081 description: Controller VIP for public API endpoints
1082 value: {get_attr: [VipMap, net_ip_map, external]}
1084 description: VIP for Aodh API internal endpoint
1085 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
1086 CeilometerInternalVip:
1087 description: VIP for Ceilometer API internal endpoint
1088 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
1090 description: VIP for Cinder API internal endpoint
1091 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
1093 description: VIP for Glance API internal endpoint
1094 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
1096 description: VIP for Gnocchi API internal endpoint
1097 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
1099 description: VIP for Heat API internal endpoint
1100 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
1102 description: VIP for Ironic API internal endpoint
1103 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
1104 KeystoneInternalVip:
1105 description: VIP for Keystone API internal endpoint
1106 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
1108 description: VIP for Manila API internal endpoint
1109 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, ManilaApiNetwork]}]}
1111 description: VIP for Neutron API internal endpoint
1112 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
1114 description: VIP for Nova API internal endpoint
1115 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
1117 description: VIP for Sahara API internal endpoint
1118 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
1120 description: VIP for Swift Proxy internal endpoint
1121 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
1124 Mapping of the resources with the needed info for their endpoints.
1125 This includes the protocol used, the IP, port and also a full
1126 representation of the URI.
1127 value: {get_attr: [EndpointMap, endpoint_map]}
1130 The content that should be appended to your /etc/hosts if you want to get
1131 hostname-based access to the deployed nodes (useful for testing without
1133 value: {get_attr: [allNodesConfig, hosts_entries]}