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'}]
51 description: Name of an existing Nova key pair to enable SSH access to the instances
54 - custom_constraint: nova.keypair
55 NeutronControlPlaneID:
58 description: Neutron ID or name for ctlplane network.
60 description: The password for the neutron service account, used by neutron agents.
63 NeutronPublicInterface:
65 description: What interface to bridge onto br-ex for network nodes.
69 description: Enable IPv6 features in Nova
72 description: The password for the nova service account, used by nova-api.
75 PublicVirtualFixedIPs:
78 Control the IP allocation for the PublicVirtualInterface port. E.g.
79 [{'ip_address':'1.2.3.4'}]
84 description: Salt for the rabbit cookie, change this to force the randomly generated rabbit cookie to change.
87 description: The username for RabbitMQ
90 description: The password for RabbitMQ
96 Rabbit client subscriber parameter to specify
97 an SSL connection to the RabbitMQ host.
101 description: Set rabbit subscriber port, change this if using SSL
103 StorageVirtualFixedIPs:
106 Control the IP allocation for the StorageVirtualInterface port. E.g.
107 [{'ip_address':'1.2.3.4'}]
109 StorageMgmtVirtualFixedIPs:
112 Control the IP allocation for the StorageMgmgVirtualInterface port. E.g.
113 [{'ip_address':'1.2.3.4'}]
116 default: 'localdomain'
119 The DNS domain used for the hosts. This should match the dhcp_domain
120 configured in the Undercloud neutron. Defaults to localdomain.
124 Extra properties or metadata passed to Nova for the created nodes in
125 the overcloud. It's accessible via the Nova metadata API.
128 # Controller-specific params
132 controllerExtraConfig:
135 Deprecated. Use ControllerExtraConfig via parameter_defaults instead.
139 default: overcloud-full
141 - custom_constraint: glance.image
142 OvercloudControlFlavor:
143 description: Flavor for control nodes to request when deploying.
147 - custom_constraint: nova.flavor
151 Additional configuration to inject into the cluster. The format required
152 may be implementation specific, e.g puppet hieradata. Any role specific
153 ExtraConfig, e.g controllerExtraConfig takes precedence over ExtraConfig.
156 description: A random string to be used as a salt when hashing to determine mappings in the ring.
161 # Compute-specific params
165 HypervisorNeutronPhysicalBridge:
168 An OVS bridge to create on each hypervisor. This defaults to br-ex the
169 same as the control plane nodes, as we have a uniform configuration of
170 the openvswitch agent. Typically should not need to be changed.
172 HypervisorNeutronPublicInterface:
174 description: What interface to add to the HypervisorNeutronPhysicalBridge.
178 default: libvirt.LibvirtDriver
179 NovaComputeExtraConfig:
182 NovaCompute specific configuration to inject into the cluster. Same
183 structure as ExtraConfig.
185 NovaComputeLibvirtType:
188 NovaComputeLibvirtVifDriver:
190 description: Libvirt VIF driver configuration for the network
192 NovaEnableRbdBackend:
194 description: Whether to enable or not the Rbd backend for Nova
198 default: overcloud-full
200 - custom_constraint: glance.image
203 description: Name of integration bridge used by Open vSwitch
205 NovaSecurityGroupAPI:
207 description: The full class name of the security API class
209 OvercloudComputeFlavor:
210 description: Use this flavor
214 - custom_constraint: nova.flavor
217 NeutronTenantNetwork: tenant
218 CeilometerApiNetwork: internal_api
219 AodhApiNetwork: internal_api
220 GnocchiApiNetwork: internal_api
221 MongoDbNetwork: internal_api
222 CinderApiNetwork: internal_api
223 CinderIscsiNetwork: storage
224 GlanceApiNetwork: storage
225 GlanceRegistryNetwork: internal_api
226 IronicApiNetwork: internal_api
227 KeystoneAdminApiNetwork: ctlplane # allows undercloud to config endpoints
228 KeystonePublicApiNetwork: internal_api
229 ManilaApiNetwork: internal_api
230 NeutronApiNetwork: internal_api
231 HeatApiNetwork: internal_api
232 NovaApiNetwork: internal_api
233 NovaMetadataNetwork: internal_api
234 NovaVncProxyNetwork: internal_api
235 SwiftMgmtNetwork: storage_mgmt
236 SwiftProxyNetwork: storage
237 SaharaApiNetwork: internal_api
238 HorizonNetwork: internal_api
239 MemcachedNetwork: internal_api
240 RabbitMqNetwork: internal_api
241 RedisNetwork: internal_api
242 MysqlNetwork: internal_api
243 CephClusterNetwork: storage_mgmt
244 CephPublicNetwork: storage
245 ControllerHostnameResolveNetwork: internal_api
246 ComputeHostnameResolveNetwork: internal_api
247 BlockStorageHostnameResolveNetwork: internal_api
248 ObjectStorageHostnameResolveNetwork: internal_api
249 CephStorageHostnameResolveNetwork: storage
250 description: Mapping of service_name -> network name. Typically set
251 via parameter_defaults in the resource registry.
256 - OS::TripleO::Services::CephMon
257 - OS::TripleO::Services::CephExternal
258 - OS::TripleO::Services::CinderApi
259 - OS::TripleO::Services::CinderScheduler
260 - OS::TripleO::Services::CinderVolume
261 - OS::TripleO::Services::Core
262 - OS::TripleO::Services::Kernel
263 - OS::TripleO::Services::Keystone
264 - OS::TripleO::Services::GlanceApi
265 - OS::TripleO::Services::GlanceRegistry
266 - OS::TripleO::Services::HeatApi
267 - OS::TripleO::Services::HeatApiCfn
268 - OS::TripleO::Services::HeatApiCloudwatch
269 - OS::TripleO::Services::HeatEngine
270 - OS::TripleO::Services::MySQL
271 - OS::TripleO::Services::NeutronDhcpAgent
272 - OS::TripleO::Services::NeutronL3Agent
273 - OS::TripleO::Services::NeutronMetadataAgent
274 - OS::TripleO::Services::NeutronServer
275 - OS::TripleO::Services::NeutronCorePlugin
276 - OS::TripleO::Services::NeutronOvsAgent
277 - OS::TripleO::Services::RabbitMQ
278 - OS::TripleO::Services::HAproxy
279 - OS::TripleO::Services::Keepalived
280 - OS::TripleO::Services::Memcached
281 - OS::TripleO::Services::Pacemaker
282 - OS::TripleO::Services::Redis
283 - OS::TripleO::Services::NovaConductor
284 - OS::TripleO::Services::MongoDb
285 - OS::TripleO::Services::NovaApi
286 - OS::TripleO::Services::NovaScheduler
287 - OS::TripleO::Services::NovaConsoleauth
288 - OS::TripleO::Services::NovaVncproxy
289 - OS::TripleO::Services::Ntp
290 - OS::TripleO::Services::SwiftProxy
291 - OS::TripleO::Services::SwiftStorage
292 - OS::TripleO::Services::SwiftRingBuilder
293 - OS::TripleO::Services::Snmp
294 - OS::TripleO::Services::Timezone
295 - OS::TripleO::Services::CeilometerApi
296 - OS::TripleO::Services::CeilometerCollector
297 - OS::TripleO::Services::CeilometerExpirer
298 - OS::TripleO::Services::CeilometerAgentCentral
299 - OS::TripleO::Services::CeilometerAgentNotification
300 - OS::TripleO::Services::Horizon
301 - OS::TripleO::Services::GnocchiApi
302 - OS::TripleO::Services::GnocchiMetricd
303 - OS::TripleO::Services::GnocchiStatsd
304 - OS::Tripleo::Services::ManilaApi
305 - OS::Tripleo::Services::ManilaScheduler
306 - OS::Tripleo::Services::ManilaShare
307 description: A list of service resources (configured in the Heat
308 resource_registry) which represent nested stacks
309 for each service that should get installed on the Controllers.
310 type: comma_delimited_list
314 - OS::TripleO::Services::CephClient
315 - OS::TripleO::Services::CephExternal
316 - OS::TripleO::Services::Timezone
317 - OS::TripleO::Services::Ntp
318 - OS::TripleO::Services::Snmp
319 - OS::TripleO::Services::NovaCompute
320 - OS::TripleO::Services::NovaLibvirt
321 - OS::TripleO::Services::Kernel
322 - OS::TripleO::Services::ComputeNeutronCorePlugin
323 - OS::TripleO::Services::ComputeNeutronOvsAgent
324 - OS::TripleO::Services::ComputeCeilometerAgent
325 description: A list of service resources (configured in the Heat
326 resource_registry) which represent nested stacks
327 for each service that should get installed on the Compute Nodes.
328 type: comma_delimited_list
330 # Block storage specific parameters
335 default: overcloud-full
337 OvercloudBlockStorageFlavor:
338 description: Flavor for block storage nodes to request when deploying.
342 - custom_constraint: nova.flavor
343 BlockStorageExtraConfig:
346 BlockStorage specific configuration to inject into the cluster. Same
347 structure as ExtraConfig.
349 BlockStorageServices:
351 - OS::TripleO::Services::CinderVolume
352 - OS::TripleO::Services::Kernel
353 - OS::TripleO::Services::Ntp
354 - OS::TripleO::Services::Timezone
355 - OS::TripleO::Services::Snmp
356 description: A list of service resources (configured in the Heat
357 resource_registry) which represent nested stacks
358 for each service that should get installed on the BlockStorage nodes.
359 type: comma_delimited_list
361 # Object storage specific parameters
365 OvercloudSwiftStorageFlavor:
366 description: Flavor for Swift storage nodes to request when deploying.
370 - custom_constraint: nova.flavor
372 default: overcloud-full
374 ObjectStorageExtraConfig:
377 ObjectStorage specific configuration to inject into the cluster. Same
378 structure as ExtraConfig.
380 ObjectStorageServices:
382 - OS::TripleO::Services::Kernel
383 - OS::TripleO::Services::Ntp
384 - OS::TripleO::Services::SwiftStorage
385 - OS::TripleO::Services::SwiftRingBuilder
386 - OS::TripleO::Services::Snmp
387 - OS::TripleO::Services::Timezone
388 description: A list of service resources (configured in the Heat
389 resource_registry) which represent nested stacks
390 for each service that should get installed on the ObjectStorage nodes.
391 Note this role currently only supports steps 2, 3 and 4 configuration.
392 type: comma_delimited_list
395 # Ceph storage specific parameters
400 default: overcloud-full
402 OvercloudCephStorageFlavor:
404 description: Flavor for Ceph storage nodes to request when deploying.
407 - custom_constraint: nova.flavor
408 CephStorageExtraConfig:
411 CephStorage specific configuration to inject into the cluster. Same
412 structure as ExtraConfig.
416 - OS::TripleO::Services::CephOSD
417 - OS::TripleO::Services::Kernel
418 - OS::TripleO::Services::Ntp
419 - OS::TripleO::Services::Timezone
420 description: A list of service resources (configured in the Heat
421 resource_registry) which represent nested stacks
422 for each service that should get installed on the CephStorage nodes.
423 type: comma_delimited_list
425 # Hostname format for each role
426 # Note %index% is translated into the index of the node, e.g 0/1/2 etc
427 # and %stackname% is replaced with OS::stack_name in the template below.
428 # If you want to use the heat generated names, pass '' (empty string).
429 ControllerHostnameFormat:
431 description: Format for Controller node hostnames
432 default: '%stackname%-controller-%index%'
433 ComputeHostnameFormat:
435 description: Format for Compute node hostnames
436 default: '%stackname%-novacompute-%index%'
437 BlockStorageHostnameFormat:
439 description: Format for BlockStorage node hostnames
440 default: '%stackname%-blockstorage-%index%'
441 ObjectStorageHostnameFormat:
443 description: Format for SwiftStorage node hostnames
444 default: '%stackname%-objectstorage-%index%'
445 CephStorageHostnameFormat:
447 description: Format for CephStorage node hostnames
448 default: '%stackname%-cephstorage-%index%'
450 # Identifiers to trigger tasks on nodes
455 Setting to a previously unused value during stack-update will trigger
456 package update on all nodes
461 Setting this to a unique value will re-run any deployment tasks which
462 perform configuration on a Heat stack-update.
464 # If you want to remove a specific node from a resource group, you can pass
465 # the node name or id as a <Group>RemovalPolicies parameter, for example:
466 # ComputeRemovalPolicies: [{'resource_list': ['0']}]
467 ControllerRemovalPolicies:
471 List of resources to be removed from ControllerResourceGroup when
472 doing an update which requires removal of specific resources.
473 ComputeRemovalPolicies:
477 List of resources to be removed from ComputeResourceGroup when
478 doing an update which requires removal of specific resources.
479 BlockStorageRemovalPolicies:
483 List of resources to be removed from BlockStorageResourceGroup when
484 doing an update which requires removal of specific resources.
485 ObjectStorageRemovalPolicies:
489 List of resources to be removed from ObjectStorageResourceGroup when
490 doing an update which requires removal of specific resources.
491 CephStorageRemovalPolicies:
495 List of resources to be removed from CephStorageResourceGroup when
496 doing an update which requires removal of specific resources.
500 description: Do not use deprecated params, they will be removed.
502 - controllerExtraConfig
507 HeatAuthEncryptionKey:
508 type: OS::Heat::RandomString
511 type: OS::Heat::RandomString
516 type: OS::Heat::RandomString
521 type: OS::TripleO::EndpointMap
523 CloudName: {get_param: CloudName}
524 CeilometerApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
525 AodhApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
526 CinderApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
527 GlanceApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
528 GlanceRegistryVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
529 GnocchiApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
530 HeatApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
531 IronicApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
532 KeystoneAdminApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
533 KeystonePublicApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
534 ManilaApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, ManilaApiNetwork]}]}
535 MysqlVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
536 MysqlNoBracketsVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
537 NeutronApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
538 NovaApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
539 SaharaApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
540 SwiftProxyVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
541 PublicVirtualIP: {get_attr: [VipMap, net_ip_uri_map, external]}
543 ControllerServiceChain:
544 type: OS::TripleO::Services
546 Services: {get_param: ControllerServices}
547 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
550 type: OS::Heat::ResourceGroup
553 count: {get_param: ControllerCount}
554 removal_policies: {get_param: ControllerRemovalPolicies}
556 type: OS::TripleO::Controller
558 controllerExtraConfig: {get_param: controllerExtraConfig}
559 Flavor: {get_param: OvercloudControlFlavor}
560 HeatAuthEncryptionKey: {get_resource: HeatAuthEncryptionKey}
561 HorizonSecret: {get_resource: HorizonSecret}
562 Image: {get_param: controllerImage}
563 MysqlClusterUniquePart: {get_attr: [MysqlClusterUniquePart, value]}
564 MysqlRootPassword: {get_attr: [MysqlRootPassword, value]}
565 PcsdPassword: {get_resource: PcsdPassword}
566 RabbitCookie: {get_attr: [RabbitCookie, value]}
567 RedisVirtualIP: {get_attr: [RedisVirtualIP, ip_address]}
568 RedisVirtualIPUri: {get_attr: [RedisVirtualIP, ip_address_uri]}
569 ServiceNetMap: {get_param: ServiceNetMap}
570 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
571 MysqlVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
574 template: {get_param: ControllerHostnameFormat}
576 '%stackname%': {get_param: 'OS::stack_name'}
578 ServiceConfigSettings: {get_attr: [ControllerServiceChain, role_data, config_settings]}
579 ServiceNames: {get_attr: [ControllerServiceChain, role_data, service_names]}
583 type: OS::TripleO::Services
585 Services: {get_param: ComputeServices}
586 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
589 type: OS::Heat::ResourceGroup
592 count: {get_param: ComputeCount}
593 removal_policies: {get_param: ComputeRemovalPolicies}
595 type: OS::TripleO::Compute
597 AdminPassword: {get_param: AdminPassword}
598 CinderEnableNfsBackend: {get_param: CinderEnableNfsBackend}
599 CinderEnableRbdBackend: {get_param: CinderEnableRbdBackend}
600 Debug: {get_param: Debug}
601 ExtraConfig: {get_param: ExtraConfig}
602 Flavor: {get_param: OvercloudComputeFlavor}
603 GlanceHost: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
604 Image: {get_param: NovaImage}
605 ImageUpdatePolicy: {get_param: ImageUpdatePolicy}
606 KeyName: {get_param: KeyName}
607 KeystoneAdminApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
608 KeystonePublicApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
609 NeutronPassword: {get_param: NeutronPassword}
610 NeutronPhysicalBridge: {get_param: HypervisorNeutronPhysicalBridge}
611 NeutronPublicInterface: {get_param: HypervisorNeutronPublicInterface}
612 # L3 HA and Failover is not relevant for Computes, should be removed
613 NovaApiHost: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
614 NovaComputeDriver: {get_param: NovaComputeDriver}
615 NovaComputeExtraConfig: {get_param: NovaComputeExtraConfig}
616 NovaComputeLibvirtType: {get_param: NovaComputeLibvirtType}
617 NovaComputeLibvirtVifDriver: {get_param: NovaComputeLibvirtVifDriver}
618 NovaEnableRbdBackend: {get_param: NovaEnableRbdBackend}
619 NovaIPv6: {get_param: NovaIPv6}
620 NovaPublicIP: {get_attr: [VipMap, net_ip_map, external]}
621 NovaPassword: {get_param: NovaPassword}
622 NovaOVSBridge: {get_param: NovaOVSBridge}
623 NovaSecurityGroupAPI: {get_param: NovaSecurityGroupAPI}
624 RabbitHost: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]}
625 RabbitPassword: {get_param: RabbitPassword}
626 RabbitUserName: {get_param: RabbitUserName}
627 RabbitClientUseSSL: {get_param: RabbitClientUseSSL}
628 RabbitClientPort: {get_param: RabbitClientPort}
629 ServiceNetMap: {get_param: ServiceNetMap}
630 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
631 UpdateIdentifier: {get_param: UpdateIdentifier}
634 template: {get_param: ComputeHostnameFormat}
636 '%stackname%': {get_param: 'OS::stack_name'}
637 CloudDomain: {get_param: CloudDomain}
638 ServerMetadata: {get_param: ServerMetadata}
640 ServiceConfigSettings: {get_attr: [ComputeServiceChain, role_data, config_settings]}
641 ServiceNames: {get_attr: [ComputeServiceChain, role_data, service_names]}
643 BlockStorageServiceChain:
644 type: OS::TripleO::Services
646 Services: {get_param: BlockStorageServices}
647 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
650 type: OS::Heat::ResourceGroup
653 count: {get_param: BlockStorageCount}
654 removal_policies: {get_param: BlockStorageRemovalPolicies}
656 type: OS::TripleO::BlockStorage
658 Image: {get_param: BlockStorageImage}
659 KeyName: {get_param: KeyName}
660 Flavor: {get_param: OvercloudBlockStorageFlavor}
661 UpdateIdentifier: {get_param: UpdateIdentifier}
664 template: {get_param: BlockStorageHostnameFormat}
666 '%stackname%': {get_param: 'OS::stack_name'}
667 ServiceNetMap: {get_param: ServiceNetMap}
668 ExtraConfig: {get_param: ExtraConfig}
669 BlockStorageExtraConfig: {get_param: BlockStorageExtraConfig}
670 CloudDomain: {get_param: CloudDomain}
671 ServerMetadata: {get_param: ServerMetadata}
673 ServiceConfigSettings: {get_attr: [BlockStorageServiceChain, role_data, config_settings]}
674 ServiceNames: {get_attr: [BlockStorageServiceChain, role_data, service_names]}
676 ObjectStorageServiceChain:
677 type: OS::TripleO::Services
679 Services: {get_param: ObjectStorageServices}
680 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
683 type: OS::Heat::ResourceGroup
686 count: {get_param: ObjectStorageCount}
687 removal_policies: {get_param: ObjectStorageRemovalPolicies}
689 type: OS::TripleO::ObjectStorage
691 KeyName: {get_param: KeyName}
692 Flavor: {get_param: OvercloudSwiftStorageFlavor}
693 HashSuffix: {get_param: SwiftHashSuffix}
694 Image: {get_param: SwiftStorageImage}
695 UpdateIdentifier: {get_param: UpdateIdentifier}
696 ServiceNetMap: {get_param: ServiceNetMap}
699 template: {get_param: ObjectStorageHostnameFormat}
701 '%stackname%': {get_param: 'OS::stack_name'}
702 ExtraConfig: {get_param: ExtraConfig}
703 ObjectStorageExtraConfig: {get_param: ObjectStorageExtraConfig}
704 CloudDomain: {get_param: CloudDomain}
705 ServerMetadata: {get_param: ServerMetadata}
707 ServiceConfigSettings: {get_attr: [ObjectStorageServiceChain, role_data, config_settings]}
708 ServiceNames: {get_attr: [ObjectStorageServiceChain, role_data, service_names]}
710 CephStorageServiceChain:
711 type: OS::TripleO::Services
713 Services: {get_param: CephStorageServices}
714 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
717 type: OS::Heat::ResourceGroup
720 count: {get_param: CephStorageCount}
721 removal_policies: {get_param: CephStorageRemovalPolicies}
723 type: OS::TripleO::CephStorage
725 Image: {get_param: CephStorageImage}
726 KeyName: {get_param: KeyName}
727 Flavor: {get_param: OvercloudCephStorageFlavor}
728 ServiceNetMap: {get_param: ServiceNetMap}
729 UpdateIdentifier: {get_param: UpdateIdentifier}
732 template: {get_param: CephStorageHostnameFormat}
734 '%stackname%': {get_param: 'OS::stack_name'}
735 ExtraConfig: {get_param: ExtraConfig}
736 CephStorageExtraConfig: {get_param: CephStorageExtraConfig}
737 CloudDomain: {get_param: CloudDomain}
738 ServerMetadata: {get_param: ServerMetadata}
740 ServiceConfigSettings: {get_attr: [CephStorageServiceChain, role_data, config_settings]}
741 ServiceNames: {get_attr: [CephStorageServiceChain, role_data, service_names]}
744 type: OS::TripleO::Network::Ports::NetIpListMap
746 ControlPlaneIpList: {get_attr: [Controller, ip_address]}
747 ExternalIpList: {get_attr: [Controller, external_ip_address]}
748 InternalApiIpList: {get_attr: [Controller, internal_api_ip_address]}
749 StorageIpList: {get_attr: [Controller, storage_ip_address]}
750 StorageMgmtIpList: {get_attr: [Controller, storage_mgmt_ip_address]}
751 TenantIpList: {get_attr: [Controller, tenant_ip_address]}
752 ManagementIpList: {get_attr: [Controller, management_ip_address]}
755 type: OS::TripleO::AllNodes::SoftwareConfig
757 compute_hosts: {get_attr: [Compute, hosts_entry]}
758 controller_hosts: {get_attr: [Controller, hosts_entry]}
759 controller_ips: {get_attr: [Controller, ip_address]}
760 block_storage_hosts: {get_attr: [BlockStorage, hosts_entry]}
761 object_storage_hosts: {get_attr: [ObjectStorage, hosts_entry]}
762 ceph_storage_hosts: {get_attr: [CephStorage, hosts_entry]}
763 controller_names: {get_attr: [Controller, hostname]}
764 rabbit_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]}
765 mongo_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, MongoDbNetwork]}]}
766 redis_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, RedisNetwork]}]}
767 memcache_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, MemcachedNetwork]}]}
768 mysql_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
769 horizon_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, HorizonNetwork]}]}
770 heat_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
771 swift_proxy_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
772 ceilometer_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
773 aodh_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
774 gnocchi_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
775 nova_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
776 nova_metadata_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, NovaMetadataNetwork]}]}
777 glance_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
778 glance_registry_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
779 cinder_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
780 manila_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, ManilaApiNetwork]}]}
781 neutron_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
782 keystone_public_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
783 keystone_admin_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
784 sahara_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
785 ironic_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
786 ceph_mon_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, CephPublicNetwork]}]}
787 ceph_mon_node_names: {get_attr: [Controller, hostname]}
788 DeployIdentifier: {get_param: DeployIdentifier}
789 UpdateIdentifier: {get_param: UpdateIdentifier}
792 type: OS::Heat::RandomString
796 MysqlClusterUniquePart:
797 type: OS::Heat::RandomString
802 type: OS::Heat::RandomString
805 salt: {get_param: RabbitCookieSalt}
807 # creates the network architecture
809 type: OS::TripleO::Network
812 type: OS::Neutron::Port
815 name: control_virtual_ip
816 network: {get_param: NeutronControlPlaneID}
817 fixed_ips: {get_param: ControlFixedIPs}
818 replacement_policy: AUTO
822 type: OS::TripleO::Network::Ports::RedisVipPort
824 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
825 ControlPlaneNetwork: {get_param: NeutronControlPlaneID}
826 PortName: redis_virtual_ip
827 NetworkName: {get_param: [ServiceNetMap, RedisNetwork]}
830 # The public VIP is on the External net, falls back to ctlplane
833 type: OS::TripleO::Network::Ports::ExternalVipPort
835 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
836 ControlPlaneNetwork: {get_param: NeutronControlPlaneID}
837 PortName: public_virtual_ip
838 FixedIPs: {get_param: PublicVirtualFixedIPs}
840 InternalApiVirtualIP:
842 type: OS::TripleO::Network::Ports::InternalApiVipPort
844 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
845 PortName: internal_api_virtual_ip
846 FixedIPs: {get_param: InternalApiVirtualFixedIPs}
850 type: OS::TripleO::Network::Ports::StorageVipPort
852 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
853 PortName: storage_virtual_ip
854 FixedIPs: {get_param: StorageVirtualFixedIPs}
856 StorageMgmtVirtualIP:
858 type: OS::TripleO::Network::Ports::StorageMgmtVipPort
860 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
861 PortName: storage_management_virtual_ip
862 FixedIPs: {get_param: StorageMgmtVirtualFixedIPs}
865 type: OS::TripleO::Network::Ports::NetVipMap
867 ControlPlaneIp: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
868 ExternalIp: {get_attr: [PublicVirtualIP, ip_address]}
869 ExternalIpUri: {get_attr: [PublicVirtualIP, ip_address_uri]}
870 InternalApiIp: {get_attr: [InternalApiVirtualIP, ip_address]}
871 InternalApiIpUri: {get_attr: [InternalApiVirtualIP, ip_address_uri]}
872 StorageIp: {get_attr: [StorageVirtualIP, ip_address]}
873 StorageIpUri: {get_attr: [StorageVirtualIP, ip_address_uri]}
874 StorageMgmtIp: {get_attr: [StorageMgmtVirtualIP, ip_address]}
875 StorageMgmtIpUri: {get_attr: [StorageMgmtVirtualIP, ip_address_uri]}
876 # No tenant or management VIP required
879 type: OS::TripleO::VipConfig
882 type: OS::Heat::StructuredDeployments
885 config: {get_resource: VipConfig}
886 servers: {get_attr: [Controller, attributes, nova_server_resource]}
888 # service VIP mappings
889 keystone_admin_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
890 keystone_public_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
891 neutron_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
892 cinder_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
893 glance_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
894 glance_registry_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
895 swift_proxy_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
896 nova_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
897 nova_metadata_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaMetadataNetwork]}]}
898 ceilometer_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
899 aodh_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
900 gnocchi_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
901 heat_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
902 horizon_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HorizonNetwork]}]}
903 redis_vip: {get_attr: [RedisVirtualIP, ip_address]}
904 manila_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, ManilaApiNetwork]}]}
905 mysql_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
906 rabbit_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]}
907 # direct configuration of Virtual IPs for each network
908 control_virtual_ip: {get_attr: [VipMap, net_ip_map, ctlplane]}
909 public_virtual_ip: {get_attr: [VipMap, net_ip_map, external]}
910 internal_api_virtual_ip: {get_attr: [VipMap, net_ip_map, internal_api]}
911 sahara_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
912 ironic_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
913 storage_virtual_ip: {get_attr: [VipMap, net_ip_map, storage]}
914 storage_mgmt_virtual_ip: {get_attr: [VipMap, net_ip_map, storage_mgmt]}
916 ControllerSwiftDeployment:
917 type: OS::Heat::StructuredDeployments
919 name: ControllerSwiftDeployment
920 config: {get_attr: [SwiftDevicesAndProxyConfig, config_id]}
921 servers: {get_attr: [Controller, attributes, nova_server_resource]}
923 ObjectStorageSwiftDeployment:
924 type: OS::Heat::StructuredDeployments
926 name: ObjectStorageSwiftDeployment
927 config: {get_attr: [SwiftDevicesAndProxyConfig, config_id]}
928 servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
930 SwiftDevicesAndProxyConfig:
931 type: OS::TripleO::SwiftDevicesAndProxy::SoftwareConfig
933 controller_swift_devices: {get_attr: [Controller, swift_device]}
934 object_store_swift_devices: {get_attr: [ObjectStorage, swift_device]}
935 controller_swift_proxy_memcaches: {get_attr: [Controller, swift_proxy_memcache]}
937 ControllerAllNodesDeployment:
938 type: OS::Heat::StructuredDeployments
940 name: ControllerAllNodesDeployment
941 config: {get_attr: [allNodesConfig, config_id]}
942 servers: {get_attr: [Controller, attributes, nova_server_resource]}
944 bootstrap_nodeid: {get_attr: [Controller, resource.0.hostname]}
945 bootstrap_nodeid_ip: {get_attr: [Controller, resource.0.ip_address]}
947 ComputeAllNodesDeployment:
948 type: OS::Heat::StructuredDeployments
950 name: ComputeAllNodesDeployment
951 config: {get_attr: [allNodesConfig, config_id]}
952 servers: {get_attr: [Compute, attributes, nova_server_resource]}
954 bootstrap_nodeid: {get_attr: [Compute, resource.0.hostname]}
955 bootstrap_nodeid_ip: {get_attr: [Compute, resource.0.ip_address]}
957 BlockStorageAllNodesDeployment:
958 type: OS::Heat::StructuredDeployments
960 name: BlockStorageAllNodesDeployment
961 config: {get_attr: [allNodesConfig, config_id]}
962 servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
964 bootstrap_nodeid: {get_attr: [BlockStorage, resource.0.hostname]}
965 bootstrap_nodeid_ip: {get_attr: [BlockStorage, resource.0.ip_address]}
967 ObjectStorageAllNodesDeployment:
968 type: OS::Heat::StructuredDeployments
970 name: ObjectStorageAllNodesDeployment
971 config: {get_attr: [allNodesConfig, config_id]}
972 servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
974 bootstrap_nodeid: {get_attr: [ObjectStorage, resource.0.hostname]}
975 bootstrap_nodeid_ip: {get_attr: [ObjectStorage, resource.0.ip_address]}
977 CephStorageAllNodesDeployment:
978 type: OS::Heat::StructuredDeployments
980 name: CephStorageAllNodesDeployment
981 config: {get_attr: [allNodesConfig, config_id]}
982 servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
984 bootstrap_nodeid: {get_attr: [CephStorage, resource.0.hostname]}
985 bootstrap_nodeid_ip: {get_attr: [CephStorage, resource.0.ip_address]}
987 # All Nodes Validations
988 AllNodesValidationConfig:
989 type: OS::TripleO::AllNodes::Validation
994 - - {get_attr: [Controller, resource.0.external_ip_address]}
995 - {get_attr: [Controller, resource.0.internal_api_ip_address]}
996 - {get_attr: [Controller, resource.0.storage_ip_address]}
997 - {get_attr: [Controller, resource.0.storage_mgmt_ip_address]}
998 - {get_attr: [Controller, resource.0.tenant_ip_address]}
1000 ControllerAllNodesValidationDeployment:
1001 type: OS::Heat::StructuredDeployments
1002 depends_on: ControllerAllNodesDeployment
1004 name: ControllerAllNodesValidationDeployment
1005 config: {get_resource: AllNodesValidationConfig}
1006 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1008 ComputeAllNodesValidationDeployment:
1009 type: OS::Heat::StructuredDeployments
1010 depends_on: ComputeAllNodesDeployment
1012 name: ComputeAllNodesValidationDeployment
1013 config: {get_resource: AllNodesValidationConfig}
1014 servers: {get_attr: [Compute, attributes, nova_server_resource]}
1016 BlockStorageAllNodesValidationDeployment:
1017 type: OS::Heat::StructuredDeployments
1018 depends_on: BlockStorageAllNodesDeployment
1020 name: BlockStorageAllNodesValidationDeployment
1021 config: {get_resource: AllNodesValidationConfig}
1022 servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
1024 ObjectStorageAllNodesValidationDeployment:
1025 type: OS::Heat::StructuredDeployments
1026 depends_on: ObjectStorageAllNodesDeployment
1028 name: ObjectStorageAllNodesValidationDeployment
1029 config: {get_resource: AllNodesValidationConfig}
1030 servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1032 CephStorageAllNodesValidationDeployment:
1033 type: OS::Heat::StructuredDeployments
1034 depends_on: CephStorageAllNodesDeployment
1036 name: CephStorageAllNodesValidationDeployment
1037 config: {get_resource: AllNodesValidationConfig}
1038 servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1041 type: OS::TripleO::Tasks::UpdateWorkflow
1043 controller_servers: {get_attr: [Controller, attributes, nova_server_resource]}
1044 compute_servers: {get_attr: [Compute, attributes, nova_server_resource]}
1045 blockstorage_servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
1046 objectstorage_servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1047 cephstorage_servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1049 deploy_identifier: {get_param: DeployIdentifier}
1050 update_identifier: {get_param: UpdateIdentifier}
1052 # Optional ExtraConfig for all nodes - all roles are passed in here, but
1053 # the nested template may configure each role differently (or not at all)
1054 AllNodesExtraConfig:
1055 type: OS::TripleO::AllNodesExtraConfig
1058 - ComputeAllNodesValidationDeployment
1059 - BlockStorageAllNodesValidationDeployment
1060 - ObjectStorageAllNodesValidationDeployment
1061 - CephStorageAllNodesValidationDeployment
1062 - ControllerAllNodesValidationDeployment
1064 controller_servers: {get_attr: [Controller, attributes, nova_server_resource]}
1065 compute_servers: {get_attr: [Compute, attributes, nova_server_resource]}
1066 blockstorage_servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
1067 objectstorage_servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1068 cephstorage_servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1070 # Nested stack deployment runs after all other controller deployments
1071 ControllerNodesPostDeployment:
1072 type: OS::TripleO::ControllerPostDeployment
1073 depends_on: [ControllerAllNodesDeployment, ControllerSwiftDeployment]
1075 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1076 RoleData: {get_attr: [ControllerServiceChain, role_data]}
1078 ComputeNodesPostDeployment:
1079 type: OS::TripleO::ComputePostDeployment
1080 depends_on: [ComputeAllNodesDeployment]
1082 servers: {get_attr: [Compute, attributes, nova_server_resource]}
1083 RoleData: {get_attr: [ComputeServiceChain, role_data]}
1085 ObjectStorageNodesPostDeployment:
1086 type: OS::TripleO::ObjectStoragePostDeployment
1087 depends_on: [ObjectStorageSwiftDeployment, ObjectStorageAllNodesDeployment]
1089 servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1090 RoleData: {get_attr: [ObjectStorageServiceChain, role_data]}
1092 BlockStorageNodesPostDeployment:
1093 type: OS::TripleO::BlockStoragePostDeployment
1094 depends_on: [ControllerNodesPostDeployment, BlockStorageAllNodesDeployment]
1096 servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
1097 RoleData: {get_attr: [BlockStorageServiceChain, role_data]}
1099 CephStorageNodesPostDeployment:
1100 type: OS::TripleO::CephStoragePostDeployment
1101 depends_on: [ControllerNodesPostDeployment, CephStorageAllNodesDeployment]
1103 servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1104 RoleData: {get_attr: [CephStorageServiceChain, role_data]}
1108 description: URL for the Overcloud Keystone service
1109 value: {get_attr: [EndpointMap, endpoint_map, KeystonePublic, uri]}
1111 description: Keystone Admin VIP endpoint
1112 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
1114 description: Controller VIP for public API endpoints
1115 value: {get_attr: [VipMap, net_ip_map, external]}
1117 description: VIP for Aodh API internal endpoint
1118 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
1119 CeilometerInternalVip:
1120 description: VIP for Ceilometer API internal endpoint
1121 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
1123 description: VIP for Cinder API internal endpoint
1124 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
1126 description: VIP for Glance API internal endpoint
1127 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
1129 description: VIP for Gnocchi API internal endpoint
1130 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
1132 description: VIP for Heat API internal endpoint
1133 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
1135 description: VIP for Ironic API internal endpoint
1136 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
1137 KeystoneInternalVip:
1138 description: VIP for Keystone API internal endpoint
1139 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
1141 description: VIP for Manila API internal endpoint
1142 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, ManilaApiNetwork]}]}
1144 description: VIP for Neutron API internal endpoint
1145 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
1147 description: VIP for Nova API internal endpoint
1148 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
1150 description: VIP for Sahara API internal endpoint
1151 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
1153 description: VIP for Swift Proxy internal endpoint
1154 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
1157 Mapping of the resources with the needed info for their endpoints.
1158 This includes the protocol used, the IP, port and also a full
1159 representation of the URI.
1160 value: {get_attr: [EndpointMap, endpoint_map]}
1163 The content that should be appended to your /etc/hosts if you want to get
1164 hostname-based access to the deployed nodes (useful for testing without
1166 value: {get_attr: [allNodesConfig, hosts_entries]}