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.
40 default: 'REBUILD_PRESERVE_EPHEMERAL'
41 description: What policy to use when reconstructing instances. REBUILD for rebuilds, REBUILD_PRESERVE_EPHEMERAL to preserve /mnt.
43 InternalApiVirtualFixedIPs:
46 Control the IP allocation for the InternalApiVirtualInterface port. E.g.
47 [{'ip_address':'1.2.3.4'}]
49 NeutronControlPlaneID:
52 description: Neutron ID or name for ctlplane network.
54 description: The password for the neutron service account, used by neutron agents.
57 NeutronPublicInterface:
59 description: What interface to bridge onto br-ex for network nodes.
63 description: Enable IPv6 features in Nova
66 description: The password for the nova service account, used by nova-api.
69 PublicVirtualFixedIPs:
72 Control the IP allocation for the PublicVirtualInterface port. E.g.
73 [{'ip_address':'1.2.3.4'}]
78 description: Salt for the rabbit cookie, change this to force the randomly generated rabbit cookie to change.
81 description: The username for RabbitMQ
84 description: The password for RabbitMQ
90 Rabbit client subscriber parameter to specify
91 an SSL connection to the RabbitMQ host.
95 description: Set rabbit subscriber port, change this if using SSL
97 StorageVirtualFixedIPs:
100 Control the IP allocation for the StorageVirtualInterface port. E.g.
101 [{'ip_address':'1.2.3.4'}]
103 StorageMgmtVirtualFixedIPs:
106 Control the IP allocation for the StorageMgmgVirtualInterface port. E.g.
107 [{'ip_address':'1.2.3.4'}]
110 default: 'localdomain'
113 The DNS domain used for the hosts. This should match the dhcp_domain
114 configured in the Undercloud neutron. Defaults to localdomain.
118 Extra properties or metadata passed to Nova for the created nodes in
119 the overcloud. It's accessible via the Nova metadata API.
122 # Controller-specific params
126 controllerExtraConfig:
129 Deprecated. Use ControllerExtraConfig via parameter_defaults instead.
133 default: overcloud-full
135 - custom_constraint: glance.image
136 OvercloudControlFlavor:
137 description: Flavor for control nodes to request when deploying.
141 - custom_constraint: nova.flavor
145 Additional configuration to inject into the cluster. The format required
146 may be implementation specific, e.g puppet hieradata. Any role specific
147 ExtraConfig, e.g controllerExtraConfig takes precedence over ExtraConfig.
150 description: A random string to be used as a salt when hashing to determine mappings in the ring.
155 # Compute-specific params
159 HypervisorNeutronPhysicalBridge:
162 An OVS bridge to create on each hypervisor. This defaults to br-ex the
163 same as the control plane nodes, as we have a uniform configuration of
164 the openvswitch agent. Typically should not need to be changed.
166 HypervisorNeutronPublicInterface:
168 description: What interface to add to the HypervisorNeutronPhysicalBridge.
172 default: libvirt.LibvirtDriver
173 NovaComputeExtraConfig:
176 NovaCompute specific configuration to inject into the cluster. Same
177 structure as ExtraConfig.
179 NovaComputeLibvirtType:
182 NovaComputeLibvirtVifDriver:
184 description: Libvirt VIF driver configuration for the network
186 NovaEnableRbdBackend:
188 description: Whether to enable or not the Rbd backend for Nova
192 default: overcloud-full
194 - custom_constraint: glance.image
197 description: Name of integration bridge used by Open vSwitch
199 NovaSecurityGroupAPI:
201 description: The full class name of the security API class
203 OvercloudComputeFlavor:
204 description: Use this flavor
208 - custom_constraint: nova.flavor
211 NeutronTenantNetwork: tenant
212 CeilometerApiNetwork: internal_api
213 AodhApiNetwork: internal_api
214 GnocchiApiNetwork: internal_api
215 MongoDbNetwork: internal_api
216 CinderApiNetwork: internal_api
217 CinderIscsiNetwork: storage
218 GlanceApiNetwork: storage
219 GlanceRegistryNetwork: internal_api
220 IronicApiNetwork: internal_api
221 KeystoneAdminApiNetwork: ctlplane # allows undercloud to config endpoints
222 KeystonePublicApiNetwork: internal_api
223 ManilaApiNetwork: internal_api
224 NeutronApiNetwork: internal_api
225 HeatApiNetwork: internal_api
226 NovaApiNetwork: internal_api
227 NovaMetadataNetwork: internal_api
228 NovaVncProxyNetwork: internal_api
229 SwiftMgmtNetwork: storage_mgmt
230 SwiftProxyNetwork: storage
231 SaharaApiNetwork: internal_api
232 HorizonNetwork: internal_api
233 MemcachedNetwork: internal_api
234 RabbitMqNetwork: internal_api
235 RedisNetwork: internal_api
236 MysqlNetwork: internal_api
237 CephClusterNetwork: storage_mgmt
238 CephPublicNetwork: storage
239 ControllerHostnameResolveNetwork: internal_api
240 ComputeHostnameResolveNetwork: internal_api
241 BlockStorageHostnameResolveNetwork: internal_api
242 ObjectStorageHostnameResolveNetwork: internal_api
243 CephStorageHostnameResolveNetwork: storage
244 description: Mapping of service_name -> network name. Typically set
245 via parameter_defaults in the resource registry.
250 - OS::TripleO::Services::CephMon
251 - OS::TripleO::Services::CephExternal
252 - OS::TripleO::Services::CinderApi
253 - OS::TripleO::Services::CinderScheduler
254 - OS::TripleO::Services::CinderVolume
255 - OS::TripleO::Services::Core
256 - OS::TripleO::Services::Kernel
257 - OS::TripleO::Services::Keystone
258 - OS::TripleO::Services::GlanceApi
259 - OS::TripleO::Services::GlanceRegistry
260 - OS::TripleO::Services::HeatApi
261 - OS::TripleO::Services::HeatApiCfn
262 - OS::TripleO::Services::HeatApiCloudwatch
263 - OS::TripleO::Services::HeatEngine
264 - OS::TripleO::Services::MySQL
265 - OS::TripleO::Services::NeutronDhcpAgent
266 - OS::TripleO::Services::NeutronL3Agent
267 - OS::TripleO::Services::NeutronMetadataAgent
268 - OS::TripleO::Services::NeutronServer
269 - OS::TripleO::Services::NeutronCorePlugin
270 - OS::TripleO::Services::NeutronOvsAgent
271 - OS::TripleO::Services::RabbitMQ
272 - OS::TripleO::Services::HAproxy
273 - OS::TripleO::Services::Keepalived
274 - OS::TripleO::Services::Memcached
275 - OS::TripleO::Services::Pacemaker
276 - OS::TripleO::Services::Redis
277 - OS::TripleO::Services::NovaConductor
278 - OS::TripleO::Services::MongoDb
279 - OS::TripleO::Services::NovaApi
280 - OS::TripleO::Services::NovaScheduler
281 - OS::TripleO::Services::NovaConsoleauth
282 - OS::TripleO::Services::NovaVncproxy
283 - OS::TripleO::Services::Ntp
284 - OS::TripleO::Services::SwiftProxy
285 - OS::TripleO::Services::SwiftStorage
286 - OS::TripleO::Services::SwiftRingBuilder
287 - OS::TripleO::Services::Snmp
288 - OS::TripleO::Services::Timezone
289 - OS::TripleO::Services::CeilometerApi
290 - OS::TripleO::Services::CeilometerCollector
291 - OS::TripleO::Services::CeilometerExpirer
292 - OS::TripleO::Services::CeilometerAgentCentral
293 - OS::TripleO::Services::CeilometerAgentNotification
294 - OS::TripleO::Services::Horizon
295 - OS::TripleO::Services::GnocchiApi
296 - OS::TripleO::Services::GnocchiMetricd
297 - OS::TripleO::Services::GnocchiStatsd
298 - OS::Tripleo::Services::ManilaApi
299 - OS::Tripleo::Services::ManilaScheduler
300 - OS::Tripleo::Services::ManilaShare
301 description: A list of service resources (configured in the Heat
302 resource_registry) which represent nested stacks
303 for each service that should get installed on the Controllers.
304 type: comma_delimited_list
308 - OS::TripleO::Services::CephClient
309 - OS::TripleO::Services::CephExternal
310 - OS::TripleO::Services::Timezone
311 - OS::TripleO::Services::Ntp
312 - OS::TripleO::Services::Snmp
313 - OS::TripleO::Services::NovaCompute
314 - OS::TripleO::Services::NovaLibvirt
315 - OS::TripleO::Services::Kernel
316 - OS::TripleO::Services::ComputeNeutronCorePlugin
317 - OS::TripleO::Services::ComputeNeutronOvsAgent
318 - OS::TripleO::Services::ComputeCeilometerAgent
319 description: A list of service resources (configured in the Heat
320 resource_registry) which represent nested stacks
321 for each service that should get installed on the Compute Nodes.
322 type: comma_delimited_list
324 # Block storage specific parameters
329 default: overcloud-full
331 OvercloudBlockStorageFlavor:
332 description: Flavor for block storage nodes to request when deploying.
336 - custom_constraint: nova.flavor
337 BlockStorageExtraConfig:
340 BlockStorage specific configuration to inject into the cluster. Same
341 structure as ExtraConfig.
343 BlockStorageServices:
345 - OS::TripleO::Services::CinderVolume
346 - OS::TripleO::Services::Kernel
347 - OS::TripleO::Services::Ntp
348 - OS::TripleO::Services::Timezone
349 - OS::TripleO::Services::Snmp
350 description: A list of service resources (configured in the Heat
351 resource_registry) which represent nested stacks
352 for each service that should get installed on the BlockStorage nodes.
353 type: comma_delimited_list
355 # Object storage specific parameters
359 OvercloudSwiftStorageFlavor:
360 description: Flavor for Swift storage nodes to request when deploying.
364 - custom_constraint: nova.flavor
366 default: overcloud-full
368 ObjectStorageExtraConfig:
371 ObjectStorage specific configuration to inject into the cluster. Same
372 structure as ExtraConfig.
374 ObjectStorageServices:
376 - OS::TripleO::Services::Kernel
377 - OS::TripleO::Services::Ntp
378 - OS::TripleO::Services::SwiftStorage
379 - OS::TripleO::Services::SwiftRingBuilder
380 - OS::TripleO::Services::Snmp
381 - OS::TripleO::Services::Timezone
382 description: A list of service resources (configured in the Heat
383 resource_registry) which represent nested stacks
384 for each service that should get installed on the ObjectStorage nodes.
385 Note this role currently only supports steps 2, 3 and 4 configuration.
386 type: comma_delimited_list
389 # Ceph storage specific parameters
394 default: overcloud-full
396 OvercloudCephStorageFlavor:
398 description: Flavor for Ceph storage nodes to request when deploying.
401 - custom_constraint: nova.flavor
402 CephStorageExtraConfig:
405 CephStorage specific configuration to inject into the cluster. Same
406 structure as ExtraConfig.
410 - OS::TripleO::Services::CephOSD
411 - OS::TripleO::Services::Kernel
412 - OS::TripleO::Services::Ntp
413 - OS::TripleO::Services::Timezone
414 description: A list of service resources (configured in the Heat
415 resource_registry) which represent nested stacks
416 for each service that should get installed on the CephStorage nodes.
417 type: comma_delimited_list
419 # Hostname format for each role
420 # Note %index% is translated into the index of the node, e.g 0/1/2 etc
421 # and %stackname% is replaced with OS::stack_name in the template below.
422 # If you want to use the heat generated names, pass '' (empty string).
423 ControllerHostnameFormat:
425 description: Format for Controller node hostnames
426 default: '%stackname%-controller-%index%'
427 ComputeHostnameFormat:
429 description: Format for Compute node hostnames
430 default: '%stackname%-novacompute-%index%'
431 BlockStorageHostnameFormat:
433 description: Format for BlockStorage node hostnames
434 default: '%stackname%-blockstorage-%index%'
435 ObjectStorageHostnameFormat:
437 description: Format for SwiftStorage node hostnames
438 default: '%stackname%-objectstorage-%index%'
439 CephStorageHostnameFormat:
441 description: Format for CephStorage node hostnames
442 default: '%stackname%-cephstorage-%index%'
444 # Identifiers to trigger tasks on nodes
449 Setting to a previously unused value during stack-update will trigger
450 package update on all nodes
455 Setting this to a unique value will re-run any deployment tasks which
456 perform configuration on a Heat stack-update.
458 # If you want to remove a specific node from a resource group, you can pass
459 # the node name or id as a <Group>RemovalPolicies parameter, for example:
460 # ComputeRemovalPolicies: [{'resource_list': ['0']}]
461 ControllerRemovalPolicies:
465 List of resources to be removed from ControllerResourceGroup when
466 doing an update which requires removal of specific resources.
467 ComputeRemovalPolicies:
471 List of resources to be removed from ComputeResourceGroup when
472 doing an update which requires removal of specific resources.
473 BlockStorageRemovalPolicies:
477 List of resources to be removed from BlockStorageResourceGroup when
478 doing an update which requires removal of specific resources.
479 ObjectStorageRemovalPolicies:
483 List of resources to be removed from ObjectStorageResourceGroup when
484 doing an update which requires removal of specific resources.
485 CephStorageRemovalPolicies:
489 List of resources to be removed from CephStorageResourceGroup when
490 doing an update which requires removal of specific resources.
494 description: Do not use deprecated params, they will be removed.
496 - controllerExtraConfig
501 HeatAuthEncryptionKey:
502 type: OS::Heat::RandomString
505 type: OS::Heat::RandomString
510 type: OS::Heat::RandomString
515 type: OS::TripleO::EndpointMap
517 CloudName: {get_param: CloudName}
518 CeilometerApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
519 AodhApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
520 CinderApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
521 GlanceApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
522 GlanceRegistryVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
523 GnocchiApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
524 HeatApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
525 IronicApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
526 KeystoneAdminApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
527 KeystonePublicApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
528 ManilaApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, ManilaApiNetwork]}]}
529 MysqlVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
530 MysqlNoBracketsVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
531 NeutronApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
532 NovaApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
533 SaharaApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
534 SwiftProxyVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
535 PublicVirtualIP: {get_attr: [VipMap, net_ip_uri_map, external]}
537 ControllerServiceChain:
538 type: OS::TripleO::Services
540 Services: {get_param: ControllerServices}
541 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
544 type: OS::Heat::ResourceGroup
547 count: {get_param: ControllerCount}
548 removal_policies: {get_param: ControllerRemovalPolicies}
550 type: OS::TripleO::Controller
552 controllerExtraConfig: {get_param: controllerExtraConfig}
553 Flavor: {get_param: OvercloudControlFlavor}
554 HeatAuthEncryptionKey: {get_resource: HeatAuthEncryptionKey}
555 HorizonSecret: {get_resource: HorizonSecret}
556 Image: {get_param: controllerImage}
557 MysqlClusterUniquePart: {get_attr: [MysqlClusterUniquePart, value]}
558 MysqlRootPassword: {get_attr: [MysqlRootPassword, value]}
559 PcsdPassword: {get_resource: PcsdPassword}
560 RabbitCookie: {get_attr: [RabbitCookie, value]}
561 RedisVirtualIP: {get_attr: [RedisVirtualIP, ip_address]}
562 RedisVirtualIPUri: {get_attr: [RedisVirtualIP, ip_address_uri]}
563 ServiceNetMap: {get_param: ServiceNetMap}
564 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
565 MysqlVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
568 template: {get_param: ControllerHostnameFormat}
570 '%stackname%': {get_param: 'OS::stack_name'}
572 ServiceConfigSettings: {get_attr: [ControllerServiceChain, role_data, config_settings]}
573 ServiceNames: {get_attr: [ControllerServiceChain, role_data, service_names]}
577 type: OS::TripleO::Services
579 Services: {get_param: ComputeServices}
580 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
583 type: OS::Heat::ResourceGroup
586 count: {get_param: ComputeCount}
587 removal_policies: {get_param: ComputeRemovalPolicies}
589 type: OS::TripleO::Compute
591 AdminPassword: {get_param: AdminPassword}
592 CinderEnableNfsBackend: {get_param: CinderEnableNfsBackend}
593 CinderEnableRbdBackend: {get_param: CinderEnableRbdBackend}
594 Debug: {get_param: Debug}
595 ExtraConfig: {get_param: ExtraConfig}
596 Flavor: {get_param: OvercloudComputeFlavor}
597 GlanceHost: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
598 Image: {get_param: NovaImage}
599 ImageUpdatePolicy: {get_param: ImageUpdatePolicy}
600 KeystoneAdminApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
601 KeystonePublicApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
602 NeutronPassword: {get_param: NeutronPassword}
603 NeutronPhysicalBridge: {get_param: HypervisorNeutronPhysicalBridge}
604 NeutronPublicInterface: {get_param: HypervisorNeutronPublicInterface}
605 # L3 HA and Failover is not relevant for Computes, should be removed
606 NovaApiHost: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
607 NovaComputeDriver: {get_param: NovaComputeDriver}
608 NovaComputeExtraConfig: {get_param: NovaComputeExtraConfig}
609 NovaComputeLibvirtType: {get_param: NovaComputeLibvirtType}
610 NovaComputeLibvirtVifDriver: {get_param: NovaComputeLibvirtVifDriver}
611 NovaEnableRbdBackend: {get_param: NovaEnableRbdBackend}
612 NovaIPv6: {get_param: NovaIPv6}
613 NovaPublicIP: {get_attr: [VipMap, net_ip_map, external]}
614 NovaPassword: {get_param: NovaPassword}
615 NovaOVSBridge: {get_param: NovaOVSBridge}
616 NovaSecurityGroupAPI: {get_param: NovaSecurityGroupAPI}
617 RabbitHost: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]}
618 RabbitPassword: {get_param: RabbitPassword}
619 RabbitUserName: {get_param: RabbitUserName}
620 RabbitClientUseSSL: {get_param: RabbitClientUseSSL}
621 RabbitClientPort: {get_param: RabbitClientPort}
622 ServiceNetMap: {get_param: ServiceNetMap}
623 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
624 UpdateIdentifier: {get_param: UpdateIdentifier}
627 template: {get_param: ComputeHostnameFormat}
629 '%stackname%': {get_param: 'OS::stack_name'}
630 CloudDomain: {get_param: CloudDomain}
631 ServerMetadata: {get_param: ServerMetadata}
633 ServiceConfigSettings: {get_attr: [ComputeServiceChain, role_data, config_settings]}
634 ServiceNames: {get_attr: [ComputeServiceChain, role_data, service_names]}
636 BlockStorageServiceChain:
637 type: OS::TripleO::Services
639 Services: {get_param: BlockStorageServices}
640 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
643 type: OS::Heat::ResourceGroup
646 count: {get_param: BlockStorageCount}
647 removal_policies: {get_param: BlockStorageRemovalPolicies}
649 type: OS::TripleO::BlockStorage
651 Image: {get_param: BlockStorageImage}
652 Flavor: {get_param: OvercloudBlockStorageFlavor}
653 UpdateIdentifier: {get_param: UpdateIdentifier}
656 template: {get_param: BlockStorageHostnameFormat}
658 '%stackname%': {get_param: 'OS::stack_name'}
659 ServiceNetMap: {get_param: ServiceNetMap}
660 ExtraConfig: {get_param: ExtraConfig}
661 BlockStorageExtraConfig: {get_param: BlockStorageExtraConfig}
662 CloudDomain: {get_param: CloudDomain}
663 ServerMetadata: {get_param: ServerMetadata}
665 ServiceConfigSettings: {get_attr: [BlockStorageServiceChain, role_data, config_settings]}
666 ServiceNames: {get_attr: [BlockStorageServiceChain, role_data, service_names]}
668 ObjectStorageServiceChain:
669 type: OS::TripleO::Services
671 Services: {get_param: ObjectStorageServices}
672 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
675 type: OS::Heat::ResourceGroup
678 count: {get_param: ObjectStorageCount}
679 removal_policies: {get_param: ObjectStorageRemovalPolicies}
681 type: OS::TripleO::ObjectStorage
683 Flavor: {get_param: OvercloudSwiftStorageFlavor}
684 HashSuffix: {get_param: SwiftHashSuffix}
685 Image: {get_param: SwiftStorageImage}
686 UpdateIdentifier: {get_param: UpdateIdentifier}
687 ServiceNetMap: {get_param: ServiceNetMap}
690 template: {get_param: ObjectStorageHostnameFormat}
692 '%stackname%': {get_param: 'OS::stack_name'}
693 ExtraConfig: {get_param: ExtraConfig}
694 ObjectStorageExtraConfig: {get_param: ObjectStorageExtraConfig}
695 CloudDomain: {get_param: CloudDomain}
696 ServerMetadata: {get_param: ServerMetadata}
698 ServiceConfigSettings: {get_attr: [ObjectStorageServiceChain, role_data, config_settings]}
699 ServiceNames: {get_attr: [ObjectStorageServiceChain, role_data, service_names]}
701 CephStorageServiceChain:
702 type: OS::TripleO::Services
704 Services: {get_param: CephStorageServices}
705 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
708 type: OS::Heat::ResourceGroup
711 count: {get_param: CephStorageCount}
712 removal_policies: {get_param: CephStorageRemovalPolicies}
714 type: OS::TripleO::CephStorage
716 Image: {get_param: CephStorageImage}
717 Flavor: {get_param: OvercloudCephStorageFlavor}
718 ServiceNetMap: {get_param: ServiceNetMap}
719 UpdateIdentifier: {get_param: UpdateIdentifier}
722 template: {get_param: CephStorageHostnameFormat}
724 '%stackname%': {get_param: 'OS::stack_name'}
725 ExtraConfig: {get_param: ExtraConfig}
726 CephStorageExtraConfig: {get_param: CephStorageExtraConfig}
727 CloudDomain: {get_param: CloudDomain}
728 ServerMetadata: {get_param: ServerMetadata}
730 ServiceConfigSettings: {get_attr: [CephStorageServiceChain, role_data, config_settings]}
731 ServiceNames: {get_attr: [CephStorageServiceChain, role_data, service_names]}
734 type: OS::TripleO::Network::Ports::NetIpListMap
736 ControlPlaneIpList: {get_attr: [Controller, ip_address]}
737 ExternalIpList: {get_attr: [Controller, external_ip_address]}
738 InternalApiIpList: {get_attr: [Controller, internal_api_ip_address]}
739 StorageIpList: {get_attr: [Controller, storage_ip_address]}
740 StorageMgmtIpList: {get_attr: [Controller, storage_mgmt_ip_address]}
741 TenantIpList: {get_attr: [Controller, tenant_ip_address]}
742 ManagementIpList: {get_attr: [Controller, management_ip_address]}
745 type: OS::TripleO::AllNodes::SoftwareConfig
747 compute_hosts: {get_attr: [Compute, hosts_entry]}
748 controller_hosts: {get_attr: [Controller, hosts_entry]}
749 controller_ips: {get_attr: [Controller, ip_address]}
750 block_storage_hosts: {get_attr: [BlockStorage, hosts_entry]}
751 object_storage_hosts: {get_attr: [ObjectStorage, hosts_entry]}
752 ceph_storage_hosts: {get_attr: [CephStorage, hosts_entry]}
753 controller_names: {get_attr: [Controller, hostname]}
754 rabbit_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]}
755 mongo_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, MongoDbNetwork]}]}
756 redis_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, RedisNetwork]}]}
757 memcache_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, MemcachedNetwork]}]}
758 mysql_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
759 horizon_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, HorizonNetwork]}]}
760 heat_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
761 swift_proxy_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
762 ceilometer_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
763 aodh_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
764 gnocchi_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
765 nova_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
766 nova_metadata_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, NovaMetadataNetwork]}]}
767 glance_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
768 glance_registry_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
769 cinder_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
770 manila_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, ManilaApiNetwork]}]}
771 neutron_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
772 keystone_public_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
773 keystone_admin_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
774 sahara_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
775 ironic_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
776 ceph_mon_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, CephPublicNetwork]}]}
777 ceph_mon_node_names: {get_attr: [Controller, hostname]}
778 DeployIdentifier: {get_param: DeployIdentifier}
779 UpdateIdentifier: {get_param: UpdateIdentifier}
782 type: OS::Heat::RandomString
786 MysqlClusterUniquePart:
787 type: OS::Heat::RandomString
792 type: OS::Heat::RandomString
795 salt: {get_param: RabbitCookieSalt}
797 # creates the network architecture
799 type: OS::TripleO::Network
802 type: OS::Neutron::Port
805 name: control_virtual_ip
806 network: {get_param: NeutronControlPlaneID}
807 fixed_ips: {get_param: ControlFixedIPs}
808 replacement_policy: AUTO
812 type: OS::TripleO::Network::Ports::RedisVipPort
814 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
815 ControlPlaneNetwork: {get_param: NeutronControlPlaneID}
816 PortName: redis_virtual_ip
817 NetworkName: {get_param: [ServiceNetMap, RedisNetwork]}
820 # The public VIP is on the External net, falls back to ctlplane
823 type: OS::TripleO::Network::Ports::ExternalVipPort
825 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
826 ControlPlaneNetwork: {get_param: NeutronControlPlaneID}
827 PortName: public_virtual_ip
828 FixedIPs: {get_param: PublicVirtualFixedIPs}
830 InternalApiVirtualIP:
832 type: OS::TripleO::Network::Ports::InternalApiVipPort
834 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
835 PortName: internal_api_virtual_ip
836 FixedIPs: {get_param: InternalApiVirtualFixedIPs}
840 type: OS::TripleO::Network::Ports::StorageVipPort
842 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
843 PortName: storage_virtual_ip
844 FixedIPs: {get_param: StorageVirtualFixedIPs}
846 StorageMgmtVirtualIP:
848 type: OS::TripleO::Network::Ports::StorageMgmtVipPort
850 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
851 PortName: storage_management_virtual_ip
852 FixedIPs: {get_param: StorageMgmtVirtualFixedIPs}
855 type: OS::TripleO::Network::Ports::NetVipMap
857 ControlPlaneIp: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
858 ExternalIp: {get_attr: [PublicVirtualIP, ip_address]}
859 ExternalIpUri: {get_attr: [PublicVirtualIP, ip_address_uri]}
860 InternalApiIp: {get_attr: [InternalApiVirtualIP, ip_address]}
861 InternalApiIpUri: {get_attr: [InternalApiVirtualIP, ip_address_uri]}
862 StorageIp: {get_attr: [StorageVirtualIP, ip_address]}
863 StorageIpUri: {get_attr: [StorageVirtualIP, ip_address_uri]}
864 StorageMgmtIp: {get_attr: [StorageMgmtVirtualIP, ip_address]}
865 StorageMgmtIpUri: {get_attr: [StorageMgmtVirtualIP, ip_address_uri]}
866 # No tenant or management VIP required
869 type: OS::TripleO::VipConfig
872 type: OS::Heat::StructuredDeployments
875 config: {get_resource: VipConfig}
876 servers: {get_attr: [Controller, attributes, nova_server_resource]}
878 # service VIP mappings
879 keystone_admin_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
880 keystone_public_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
881 neutron_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
882 cinder_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
883 glance_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
884 glance_registry_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
885 swift_proxy_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
886 nova_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
887 nova_metadata_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaMetadataNetwork]}]}
888 ceilometer_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
889 aodh_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
890 gnocchi_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
891 heat_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
892 horizon_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HorizonNetwork]}]}
893 redis_vip: {get_attr: [RedisVirtualIP, ip_address]}
894 manila_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, ManilaApiNetwork]}]}
895 mysql_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
896 rabbit_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]}
897 # direct configuration of Virtual IPs for each network
898 control_virtual_ip: {get_attr: [VipMap, net_ip_map, ctlplane]}
899 public_virtual_ip: {get_attr: [VipMap, net_ip_map, external]}
900 internal_api_virtual_ip: {get_attr: [VipMap, net_ip_map, internal_api]}
901 sahara_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
902 ironic_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
903 storage_virtual_ip: {get_attr: [VipMap, net_ip_map, storage]}
904 storage_mgmt_virtual_ip: {get_attr: [VipMap, net_ip_map, storage_mgmt]}
906 ControllerSwiftDeployment:
907 type: OS::Heat::StructuredDeployments
909 name: ControllerSwiftDeployment
910 config: {get_attr: [SwiftDevicesAndProxyConfig, config_id]}
911 servers: {get_attr: [Controller, attributes, nova_server_resource]}
913 ObjectStorageSwiftDeployment:
914 type: OS::Heat::StructuredDeployments
916 name: ObjectStorageSwiftDeployment
917 config: {get_attr: [SwiftDevicesAndProxyConfig, config_id]}
918 servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
920 SwiftDevicesAndProxyConfig:
921 type: OS::TripleO::SwiftDevicesAndProxy::SoftwareConfig
923 controller_swift_devices: {get_attr: [Controller, swift_device]}
924 object_store_swift_devices: {get_attr: [ObjectStorage, swift_device]}
925 controller_swift_proxy_memcaches: {get_attr: [Controller, swift_proxy_memcache]}
927 ControllerAllNodesDeployment:
928 type: OS::Heat::StructuredDeployments
930 name: ControllerAllNodesDeployment
931 config: {get_attr: [allNodesConfig, config_id]}
932 servers: {get_attr: [Controller, attributes, nova_server_resource]}
934 bootstrap_nodeid: {get_attr: [Controller, resource.0.hostname]}
935 bootstrap_nodeid_ip: {get_attr: [Controller, resource.0.ip_address]}
937 ComputeAllNodesDeployment:
938 type: OS::Heat::StructuredDeployments
940 name: ComputeAllNodesDeployment
941 config: {get_attr: [allNodesConfig, config_id]}
942 servers: {get_attr: [Compute, attributes, nova_server_resource]}
944 bootstrap_nodeid: {get_attr: [Compute, resource.0.hostname]}
945 bootstrap_nodeid_ip: {get_attr: [Compute, resource.0.ip_address]}
947 BlockStorageAllNodesDeployment:
948 type: OS::Heat::StructuredDeployments
950 name: BlockStorageAllNodesDeployment
951 config: {get_attr: [allNodesConfig, config_id]}
952 servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
954 bootstrap_nodeid: {get_attr: [BlockStorage, resource.0.hostname]}
955 bootstrap_nodeid_ip: {get_attr: [BlockStorage, resource.0.ip_address]}
957 ObjectStorageAllNodesDeployment:
958 type: OS::Heat::StructuredDeployments
960 name: ObjectStorageAllNodesDeployment
961 config: {get_attr: [allNodesConfig, config_id]}
962 servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
964 bootstrap_nodeid: {get_attr: [ObjectStorage, resource.0.hostname]}
965 bootstrap_nodeid_ip: {get_attr: [ObjectStorage, resource.0.ip_address]}
967 CephStorageAllNodesDeployment:
968 type: OS::Heat::StructuredDeployments
970 name: CephStorageAllNodesDeployment
971 config: {get_attr: [allNodesConfig, config_id]}
972 servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
974 bootstrap_nodeid: {get_attr: [CephStorage, resource.0.hostname]}
975 bootstrap_nodeid_ip: {get_attr: [CephStorage, resource.0.ip_address]}
977 # All Nodes Validations
978 AllNodesValidationConfig:
979 type: OS::TripleO::AllNodes::Validation
984 - - {get_attr: [Controller, resource.0.external_ip_address]}
985 - {get_attr: [Controller, resource.0.internal_api_ip_address]}
986 - {get_attr: [Controller, resource.0.storage_ip_address]}
987 - {get_attr: [Controller, resource.0.storage_mgmt_ip_address]}
988 - {get_attr: [Controller, resource.0.tenant_ip_address]}
990 ControllerAllNodesValidationDeployment:
991 type: OS::Heat::StructuredDeployments
992 depends_on: ControllerAllNodesDeployment
994 name: ControllerAllNodesValidationDeployment
995 config: {get_resource: AllNodesValidationConfig}
996 servers: {get_attr: [Controller, attributes, nova_server_resource]}
998 ComputeAllNodesValidationDeployment:
999 type: OS::Heat::StructuredDeployments
1000 depends_on: ComputeAllNodesDeployment
1002 name: ComputeAllNodesValidationDeployment
1003 config: {get_resource: AllNodesValidationConfig}
1004 servers: {get_attr: [Compute, attributes, nova_server_resource]}
1006 BlockStorageAllNodesValidationDeployment:
1007 type: OS::Heat::StructuredDeployments
1008 depends_on: BlockStorageAllNodesDeployment
1010 name: BlockStorageAllNodesValidationDeployment
1011 config: {get_resource: AllNodesValidationConfig}
1012 servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
1014 ObjectStorageAllNodesValidationDeployment:
1015 type: OS::Heat::StructuredDeployments
1016 depends_on: ObjectStorageAllNodesDeployment
1018 name: ObjectStorageAllNodesValidationDeployment
1019 config: {get_resource: AllNodesValidationConfig}
1020 servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1022 CephStorageAllNodesValidationDeployment:
1023 type: OS::Heat::StructuredDeployments
1024 depends_on: CephStorageAllNodesDeployment
1026 name: CephStorageAllNodesValidationDeployment
1027 config: {get_resource: AllNodesValidationConfig}
1028 servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1031 type: OS::TripleO::Tasks::UpdateWorkflow
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 deploy_identifier: {get_param: DeployIdentifier}
1040 update_identifier: {get_param: UpdateIdentifier}
1042 # Optional ExtraConfig for all nodes - all roles are passed in here, but
1043 # the nested template may configure each role differently (or not at all)
1044 AllNodesExtraConfig:
1045 type: OS::TripleO::AllNodesExtraConfig
1048 - ComputeAllNodesValidationDeployment
1049 - BlockStorageAllNodesValidationDeployment
1050 - ObjectStorageAllNodesValidationDeployment
1051 - CephStorageAllNodesValidationDeployment
1052 - ControllerAllNodesValidationDeployment
1054 controller_servers: {get_attr: [Controller, attributes, nova_server_resource]}
1055 compute_servers: {get_attr: [Compute, attributes, nova_server_resource]}
1056 blockstorage_servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
1057 objectstorage_servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1058 cephstorage_servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1060 # Nested stack deployment runs after all other controller deployments
1061 ControllerNodesPostDeployment:
1062 type: OS::TripleO::ControllerPostDeployment
1063 depends_on: [ControllerAllNodesDeployment, ControllerSwiftDeployment]
1065 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1066 RoleData: {get_attr: [ControllerServiceChain, role_data]}
1068 ComputeNodesPostDeployment:
1069 type: OS::TripleO::ComputePostDeployment
1070 depends_on: [ComputeAllNodesDeployment]
1072 servers: {get_attr: [Compute, attributes, nova_server_resource]}
1073 RoleData: {get_attr: [ComputeServiceChain, role_data]}
1075 ObjectStorageNodesPostDeployment:
1076 type: OS::TripleO::ObjectStoragePostDeployment
1077 depends_on: [ObjectStorageSwiftDeployment, ObjectStorageAllNodesDeployment]
1079 servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1080 RoleData: {get_attr: [ObjectStorageServiceChain, role_data]}
1082 BlockStorageNodesPostDeployment:
1083 type: OS::TripleO::BlockStoragePostDeployment
1084 depends_on: [ControllerNodesPostDeployment, BlockStorageAllNodesDeployment]
1086 servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
1087 RoleData: {get_attr: [BlockStorageServiceChain, role_data]}
1089 CephStorageNodesPostDeployment:
1090 type: OS::TripleO::CephStoragePostDeployment
1091 depends_on: [ControllerNodesPostDeployment, CephStorageAllNodesDeployment]
1093 servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1094 RoleData: {get_attr: [CephStorageServiceChain, role_data]}
1098 description: URL for the Overcloud Keystone service
1099 value: {get_attr: [EndpointMap, endpoint_map, KeystonePublic, uri]}
1101 description: Keystone Admin VIP endpoint
1102 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
1104 description: Controller VIP for public API endpoints
1105 value: {get_attr: [VipMap, net_ip_map, external]}
1107 description: VIP for Aodh API internal endpoint
1108 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
1109 CeilometerInternalVip:
1110 description: VIP for Ceilometer API internal endpoint
1111 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
1113 description: VIP for Cinder API internal endpoint
1114 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
1116 description: VIP for Glance API internal endpoint
1117 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
1119 description: VIP for Gnocchi API internal endpoint
1120 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
1122 description: VIP for Heat API internal endpoint
1123 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
1125 description: VIP for Ironic API internal endpoint
1126 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
1127 KeystoneInternalVip:
1128 description: VIP for Keystone API internal endpoint
1129 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
1131 description: VIP for Manila API internal endpoint
1132 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, ManilaApiNetwork]}]}
1134 description: VIP for Neutron API internal endpoint
1135 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
1137 description: VIP for Nova API internal endpoint
1138 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
1140 description: VIP for Sahara API internal endpoint
1141 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
1143 description: VIP for Swift Proxy internal endpoint
1144 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
1147 Mapping of the resources with the needed info for their endpoints.
1148 This includes the protocol used, the IP, port and also a full
1149 representation of the URI.
1150 value: {get_attr: [EndpointMap, endpoint_map]}
1153 The content that should be appended to your /etc/hosts if you want to get
1154 hostname-based access to the deployed nodes (useful for testing without
1156 value: {get_attr: [allNodesConfig, hosts_entries]}