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
148 ControllerSchedulerHints:
150 description: Optional scheduler hints to pass to nova
155 Additional configuration to inject into the cluster. The format required
156 may be implementation specific, e.g puppet hieradata. Any role specific
157 ExtraConfig, e.g controllerExtraConfig takes precedence over ExtraConfig.
160 description: A random string to be used as a salt when hashing to determine mappings in the ring.
165 # Compute-specific params
169 HypervisorNeutronPhysicalBridge:
172 An OVS bridge to create on each hypervisor. This defaults to br-ex the
173 same as the control plane nodes, as we have a uniform configuration of
174 the openvswitch agent. Typically should not need to be changed.
176 HypervisorNeutronPublicInterface:
178 description: What interface to add to the HypervisorNeutronPhysicalBridge.
182 default: libvirt.LibvirtDriver
183 NovaComputeExtraConfig:
186 NovaCompute specific configuration to inject into the cluster. Same
187 structure as ExtraConfig.
189 NovaComputeLibvirtType:
192 NovaComputeLibvirtVifDriver:
194 description: Libvirt VIF driver configuration for the network
196 NovaComputeSchedulerHints:
198 description: Optional scheduler hints to pass to nova
200 NovaEnableRbdBackend:
202 description: Whether to enable or not the Rbd backend for Nova
206 default: overcloud-full
208 - custom_constraint: glance.image
211 description: Name of integration bridge used by Open vSwitch
213 NovaSecurityGroupAPI:
215 description: The full class name of the security API class
217 OvercloudComputeFlavor:
218 description: Use this flavor
222 - custom_constraint: nova.flavor
225 NeutronTenantNetwork: tenant
226 CeilometerApiNetwork: internal_api
227 AodhApiNetwork: internal_api
228 GnocchiApiNetwork: internal_api
229 MongoDbNetwork: internal_api
230 CinderApiNetwork: internal_api
231 CinderIscsiNetwork: storage
232 GlanceApiNetwork: storage
233 GlanceRegistryNetwork: internal_api
234 IronicApiNetwork: internal_api
235 KeystoneAdminApiNetwork: ctlplane # allows undercloud to config endpoints
236 KeystonePublicApiNetwork: internal_api
237 NeutronApiNetwork: internal_api
238 HeatApiNetwork: internal_api
239 NovaApiNetwork: internal_api
240 NovaMetadataNetwork: internal_api
241 NovaVncProxyNetwork: internal_api
242 SwiftMgmtNetwork: storage_mgmt
243 SwiftProxyNetwork: storage
244 SaharaApiNetwork: internal_api
245 HorizonNetwork: internal_api
246 MemcachedNetwork: internal_api
247 RabbitMqNetwork: internal_api
248 RedisNetwork: internal_api
249 MysqlNetwork: internal_api
250 CephClusterNetwork: storage_mgmt
251 CephPublicNetwork: storage
252 ControllerHostnameResolveNetwork: internal_api
253 ComputeHostnameResolveNetwork: internal_api
254 BlockStorageHostnameResolveNetwork: internal_api
255 ObjectStorageHostnameResolveNetwork: internal_api
256 CephStorageHostnameResolveNetwork: storage
257 description: Mapping of service_name -> network name. Typically set
258 via parameter_defaults in the resource registry.
263 - OS::TripleO::Services::CephMon
264 - OS::TripleO::Services::CephExternal
265 - OS::TripleO::Services::CinderApi
266 - OS::TripleO::Services::CinderScheduler
267 - OS::TripleO::Services::CinderVolume
268 - OS::TripleO::Services::Kernel
269 - OS::TripleO::Services::Keystone
270 - OS::TripleO::Services::GlanceApi
271 - OS::TripleO::Services::GlanceRegistry
272 - OS::TripleO::Services::HeatApi
273 - OS::TripleO::Services::HeatApiCfn
274 - OS::TripleO::Services::HeatApiCloudwatch
275 - OS::TripleO::Services::HeatEngine
276 - OS::TripleO::Services::MySQL
277 - OS::TripleO::Services::NeutronDhcpAgent
278 - OS::TripleO::Services::NeutronL3Agent
279 - OS::TripleO::Services::NeutronMetadataAgent
280 - OS::TripleO::Services::NeutronServer
281 - OS::TripleO::Services::NeutronCorePlugin
282 - OS::TripleO::Services::NeutronOvsAgent
283 - OS::TripleO::Services::RabbitMQ
284 - OS::TripleO::Services::HAproxy
285 - OS::TripleO::Services::Keepalived
286 - OS::TripleO::Services::Memcached
287 - OS::TripleO::Services::Pacemaker
288 - OS::TripleO::Services::Redis
289 - OS::TripleO::Services::NovaConductor
290 - OS::TripleO::Services::MongoDb
291 - OS::TripleO::Services::NovaApi
292 - OS::TripleO::Services::NovaScheduler
293 - OS::TripleO::Services::NovaConsoleauth
294 - OS::TripleO::Services::NovaVncproxy
295 - OS::TripleO::Services::Ntp
296 - OS::TripleO::Services::SwiftProxy
297 - OS::TripleO::Services::SwiftStorage
298 - OS::TripleO::Services::SwiftRingBuilder
299 - OS::TripleO::Services::Snmp
300 - OS::TripleO::Services::Timezone
301 - OS::TripleO::Services::CeilometerApi
302 - OS::TripleO::Services::CeilometerCollector
303 - OS::TripleO::Services::CeilometerExpirer
304 - OS::TripleO::Services::CeilometerAgentCentral
305 - OS::TripleO::Services::CeilometerAgentNotification
306 - OS::TripleO::Services::Horizon
307 - OS::TripleO::Services::GnocchiApi
308 - OS::TripleO::Services::GnocchiMetricd
309 - OS::TripleO::Services::GnocchiStatsd
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 Controllers.
314 type: comma_delimited_list
318 - OS::TripleO::Services::CephClient
319 - OS::TripleO::Services::CephExternal
320 - OS::TripleO::Services::Timezone
321 - OS::TripleO::Services::Ntp
322 - OS::TripleO::Services::Snmp
323 - OS::TripleO::Services::NovaCompute
324 - OS::TripleO::Services::NovaLibvirt
325 - OS::TripleO::Services::Kernel
326 - OS::TripleO::Services::ComputeNeutronCorePlugin
327 - OS::TripleO::Services::ComputeNeutronOvsAgent
328 - OS::TripleO::Services::ComputeCeilometerAgent
329 description: A list of service resources (configured in the Heat
330 resource_registry) which represent nested stacks
331 for each service that should get installed on the Compute Nodes.
332 type: comma_delimited_list
334 # Block storage specific parameters
339 default: overcloud-full
341 OvercloudBlockStorageFlavor:
342 description: Flavor for block storage nodes to request when deploying.
346 - custom_constraint: nova.flavor
347 BlockStorageExtraConfig:
350 BlockStorage specific configuration to inject into the cluster. Same
351 structure as ExtraConfig.
353 BlockStorageSchedulerHints:
355 description: Optional scheduler hints to pass to nova
357 BlockStorageServices:
359 - OS::TripleO::Services::CinderVolume
360 - OS::TripleO::Services::Kernel
361 - OS::TripleO::Services::Ntp
362 - OS::TripleO::Services::Timezone
363 - OS::TripleO::Services::Snmp
364 description: A list of service resources (configured in the Heat
365 resource_registry) which represent nested stacks
366 for each service that should get installed on the BlockStorage nodes.
367 type: comma_delimited_list
369 # Object storage specific parameters
373 OvercloudSwiftStorageFlavor:
374 description: Flavor for Swift storage nodes to request when deploying.
378 - custom_constraint: nova.flavor
380 default: overcloud-full
382 ObjectStorageExtraConfig:
385 ObjectStorage specific configuration to inject into the cluster. Same
386 structure as ExtraConfig.
388 ObjectStorageSchedulerHints:
390 description: Optional scheduler hints to pass to nova
392 ObjectStorageServices:
394 - OS::TripleO::Services::Kernel
395 - OS::TripleO::Services::Ntp
396 - OS::TripleO::Services::SwiftStorage
397 - OS::TripleO::Services::SwiftRingBuilder
398 - OS::TripleO::Services::Snmp
399 - OS::TripleO::Services::Timezone
400 description: A list of service resources (configured in the Heat
401 resource_registry) which represent nested stacks
402 for each service that should get installed on the ObjectStorage nodes.
403 Note this role currently only supports steps 2, 3 and 4 configuration.
404 type: comma_delimited_list
407 # Ceph storage specific parameters
412 default: overcloud-full
414 OvercloudCephStorageFlavor:
416 description: Flavor for Ceph storage nodes to request when deploying.
419 - custom_constraint: nova.flavor
420 CephStorageExtraConfig:
423 CephStorage specific configuration to inject into the cluster. Same
424 structure as ExtraConfig.
426 CephStorageSchedulerHints:
428 description: Optional scheduler hints to pass to nova
432 - OS::TripleO::Services::CephOSD
433 - OS::TripleO::Services::Kernel
434 - OS::TripleO::Services::Ntp
435 - OS::TripleO::Services::Timezone
436 description: A list of service resources (configured in the Heat
437 resource_registry) which represent nested stacks
438 for each service that should get installed on the CephStorage nodes.
439 type: comma_delimited_list
441 # Hostname format for each role
442 # Note %index% is translated into the index of the node, e.g 0/1/2 etc
443 # and %stackname% is replaced with OS::stack_name in the template below.
444 # If you want to use the heat generated names, pass '' (empty string).
445 ControllerHostnameFormat:
447 description: Format for Controller node hostnames
448 default: '%stackname%-controller-%index%'
449 ComputeHostnameFormat:
451 description: Format for Compute node hostnames
452 default: '%stackname%-novacompute-%index%'
453 BlockStorageHostnameFormat:
455 description: Format for BlockStorage node hostnames
456 default: '%stackname%-blockstorage-%index%'
457 ObjectStorageHostnameFormat:
459 description: Format for SwiftStorage node hostnames
460 default: '%stackname%-objectstorage-%index%'
461 CephStorageHostnameFormat:
463 description: Format for CephStorage node hostnames
464 default: '%stackname%-cephstorage-%index%'
466 # Identifiers to trigger tasks on nodes
471 Setting to a previously unused value during stack-update will trigger
472 package update on all nodes
477 Setting this to a unique value will re-run any deployment tasks which
478 perform configuration on a Heat stack-update.
480 # If you want to remove a specific node from a resource group, you can pass
481 # the node name or id as a <Group>RemovalPolicies parameter, for example:
482 # ComputeRemovalPolicies: [{'resource_list': ['0']}]
483 ControllerRemovalPolicies:
487 List of resources to be removed from ControllerResourceGroup when
488 doing an update which requires removal of specific resources.
489 ComputeRemovalPolicies:
493 List of resources to be removed from ComputeResourceGroup when
494 doing an update which requires removal of specific resources.
495 BlockStorageRemovalPolicies:
499 List of resources to be removed from BlockStorageResourceGroup when
500 doing an update which requires removal of specific resources.
501 ObjectStorageRemovalPolicies:
505 List of resources to be removed from ObjectStorageResourceGroup when
506 doing an update which requires removal of specific resources.
507 CephStorageRemovalPolicies:
511 List of resources to be removed from CephStorageResourceGroup when
512 doing an update which requires removal of specific resources.
516 description: Do not use deprecated params, they will be removed.
518 - controllerExtraConfig
523 HeatAuthEncryptionKey:
524 type: OS::Heat::RandomString
527 type: OS::Heat::RandomString
532 type: OS::Heat::RandomString
537 type: OS::TripleO::EndpointMap
539 CloudName: {get_param: CloudName}
540 CeilometerApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
541 AodhApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
542 CinderApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
543 GlanceApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
544 GlanceRegistryVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
545 GnocchiApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
546 HeatApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
547 IronicApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
548 KeystoneAdminApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
549 KeystonePublicApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
550 MysqlVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
551 MysqlNoBracketsVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
552 NeutronApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
553 NovaApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
554 SaharaApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
555 SwiftProxyVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
556 PublicVirtualIP: {get_attr: [VipMap, net_ip_uri_map, external]}
558 ControllerServiceChain:
559 type: OS::TripleO::Services
561 Services: {get_param: ControllerServices}
562 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
565 type: OS::Heat::ResourceGroup
568 count: {get_param: ControllerCount}
569 removal_policies: {get_param: ControllerRemovalPolicies}
571 type: OS::TripleO::Controller
573 controllerExtraConfig: {get_param: controllerExtraConfig}
574 Flavor: {get_param: OvercloudControlFlavor}
575 HeatAuthEncryptionKey: {get_resource: HeatAuthEncryptionKey}
576 HorizonSecret: {get_resource: HorizonSecret}
577 Image: {get_param: controllerImage}
578 MysqlClusterUniquePart: {get_attr: [MysqlClusterUniquePart, value]}
579 MysqlRootPassword: {get_attr: [MysqlRootPassword, value]}
580 PcsdPassword: {get_resource: PcsdPassword}
581 RabbitCookie: {get_attr: [RabbitCookie, value]}
582 RedisVirtualIP: {get_attr: [RedisVirtualIP, ip_address]}
583 RedisVirtualIPUri: {get_attr: [RedisVirtualIP, ip_address_uri]}
584 ServiceNetMap: {get_param: ServiceNetMap}
585 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
586 MysqlVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
589 template: {get_param: ControllerHostnameFormat}
591 '%stackname%': {get_param: 'OS::stack_name'}
593 SchedulerHints: {get_param: ControllerSchedulerHints}
594 ServiceConfigSettings: {get_attr: [ControllerServiceChain, role_data, config_settings]}
595 ServiceNames: {get_attr: [ControllerServiceChain, role_data, service_names]}
599 type: OS::TripleO::Services
601 Services: {get_param: ComputeServices}
602 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
605 type: OS::Heat::ResourceGroup
608 count: {get_param: ComputeCount}
609 removal_policies: {get_param: ComputeRemovalPolicies}
611 type: OS::TripleO::Compute
613 AdminPassword: {get_param: AdminPassword}
614 CinderEnableNfsBackend: {get_param: CinderEnableNfsBackend}
615 CinderEnableRbdBackend: {get_param: CinderEnableRbdBackend}
616 Debug: {get_param: Debug}
617 ExtraConfig: {get_param: ExtraConfig}
618 Flavor: {get_param: OvercloudComputeFlavor}
619 GlanceHost: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
620 Image: {get_param: NovaImage}
621 ImageUpdatePolicy: {get_param: ImageUpdatePolicy}
622 KeyName: {get_param: KeyName}
623 KeystoneAdminApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
624 KeystonePublicApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
625 NeutronPassword: {get_param: NeutronPassword}
626 NeutronPhysicalBridge: {get_param: HypervisorNeutronPhysicalBridge}
627 NeutronPublicInterface: {get_param: HypervisorNeutronPublicInterface}
628 # L3 HA and Failover is not relevant for Computes, should be removed
629 NovaApiHost: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
630 NovaComputeDriver: {get_param: NovaComputeDriver}
631 NovaComputeExtraConfig: {get_param: NovaComputeExtraConfig}
632 NovaComputeLibvirtType: {get_param: NovaComputeLibvirtType}
633 NovaComputeLibvirtVifDriver: {get_param: NovaComputeLibvirtVifDriver}
634 NovaEnableRbdBackend: {get_param: NovaEnableRbdBackend}
635 NovaIPv6: {get_param: NovaIPv6}
636 NovaPublicIP: {get_attr: [VipMap, net_ip_map, external]}
637 NovaPassword: {get_param: NovaPassword}
638 NovaOVSBridge: {get_param: NovaOVSBridge}
639 NovaSecurityGroupAPI: {get_param: NovaSecurityGroupAPI}
640 RabbitHost: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]}
641 RabbitPassword: {get_param: RabbitPassword}
642 RabbitUserName: {get_param: RabbitUserName}
643 RabbitClientUseSSL: {get_param: RabbitClientUseSSL}
644 RabbitClientPort: {get_param: RabbitClientPort}
645 ServiceNetMap: {get_param: ServiceNetMap}
646 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
647 UpdateIdentifier: {get_param: UpdateIdentifier}
650 template: {get_param: ComputeHostnameFormat}
652 '%stackname%': {get_param: 'OS::stack_name'}
653 CloudDomain: {get_param: CloudDomain}
654 ServerMetadata: {get_param: ServerMetadata}
655 SchedulerHints: {get_param: NovaComputeSchedulerHints}
657 ServiceConfigSettings: {get_attr: [ComputeServiceChain, role_data, config_settings]}
658 ServiceNames: {get_attr: [ComputeServiceChain, role_data, service_names]}
660 BlockStorageServiceChain:
661 type: OS::TripleO::Services
663 Services: {get_param: BlockStorageServices}
664 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
667 type: OS::Heat::ResourceGroup
670 count: {get_param: BlockStorageCount}
671 removal_policies: {get_param: BlockStorageRemovalPolicies}
673 type: OS::TripleO::BlockStorage
675 Image: {get_param: BlockStorageImage}
676 KeyName: {get_param: KeyName}
677 Flavor: {get_param: OvercloudBlockStorageFlavor}
678 UpdateIdentifier: {get_param: UpdateIdentifier}
681 template: {get_param: BlockStorageHostnameFormat}
683 '%stackname%': {get_param: 'OS::stack_name'}
684 ServiceNetMap: {get_param: ServiceNetMap}
685 ExtraConfig: {get_param: ExtraConfig}
686 BlockStorageExtraConfig: {get_param: BlockStorageExtraConfig}
687 CloudDomain: {get_param: CloudDomain}
688 ServerMetadata: {get_param: ServerMetadata}
689 SchedulerHints: {get_param: BlockStorageSchedulerHints}
691 ServiceConfigSettings: {get_attr: [BlockStorageServiceChain, role_data, config_settings]}
692 ServiceNames: {get_attr: [BlockStorageServiceChain, role_data, service_names]}
694 ObjectStorageServiceChain:
695 type: OS::TripleO::Services
697 Services: {get_param: ObjectStorageServices}
698 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
701 type: OS::Heat::ResourceGroup
704 count: {get_param: ObjectStorageCount}
705 removal_policies: {get_param: ObjectStorageRemovalPolicies}
707 type: OS::TripleO::ObjectStorage
709 KeyName: {get_param: KeyName}
710 Flavor: {get_param: OvercloudSwiftStorageFlavor}
711 HashSuffix: {get_param: SwiftHashSuffix}
712 Image: {get_param: SwiftStorageImage}
713 UpdateIdentifier: {get_param: UpdateIdentifier}
714 ServiceNetMap: {get_param: ServiceNetMap}
717 template: {get_param: ObjectStorageHostnameFormat}
719 '%stackname%': {get_param: 'OS::stack_name'}
720 ExtraConfig: {get_param: ExtraConfig}
721 ObjectStorageExtraConfig: {get_param: ObjectStorageExtraConfig}
722 CloudDomain: {get_param: CloudDomain}
723 ServerMetadata: {get_param: ServerMetadata}
724 SchedulerHints: {get_param: ObjectStorageSchedulerHints}
726 ServiceConfigSettings: {get_attr: [ObjectStorageServiceChain, role_data, config_settings]}
727 ServiceNames: {get_attr: [ObjectStorageServiceChain, role_data, service_names]}
729 CephStorageServiceChain:
730 type: OS::TripleO::Services
732 Services: {get_param: CephStorageServices}
733 EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
736 type: OS::Heat::ResourceGroup
739 count: {get_param: CephStorageCount}
740 removal_policies: {get_param: CephStorageRemovalPolicies}
742 type: OS::TripleO::CephStorage
744 Image: {get_param: CephStorageImage}
745 KeyName: {get_param: KeyName}
746 Flavor: {get_param: OvercloudCephStorageFlavor}
747 ServiceNetMap: {get_param: ServiceNetMap}
748 UpdateIdentifier: {get_param: UpdateIdentifier}
751 template: {get_param: CephStorageHostnameFormat}
753 '%stackname%': {get_param: 'OS::stack_name'}
754 ExtraConfig: {get_param: ExtraConfig}
755 CephStorageExtraConfig: {get_param: CephStorageExtraConfig}
756 CloudDomain: {get_param: CloudDomain}
757 ServerMetadata: {get_param: ServerMetadata}
758 SchedulerHints: {get_param: CephStorageSchedulerHints}
760 ServiceConfigSettings: {get_attr: [CephStorageServiceChain, role_data, config_settings]}
761 ServiceNames: {get_attr: [CephStorageServiceChain, role_data, service_names]}
764 type: OS::TripleO::Network::Ports::NetIpListMap
766 ControlPlaneIpList: {get_attr: [Controller, ip_address]}
767 ExternalIpList: {get_attr: [Controller, external_ip_address]}
768 InternalApiIpList: {get_attr: [Controller, internal_api_ip_address]}
769 StorageIpList: {get_attr: [Controller, storage_ip_address]}
770 StorageMgmtIpList: {get_attr: [Controller, storage_mgmt_ip_address]}
771 TenantIpList: {get_attr: [Controller, tenant_ip_address]}
772 ManagementIpList: {get_attr: [Controller, management_ip_address]}
775 type: OS::TripleO::AllNodes::SoftwareConfig
777 compute_hosts: {get_attr: [Compute, hosts_entry]}
778 controller_hosts: {get_attr: [Controller, hosts_entry]}
779 controller_ips: {get_attr: [Controller, ip_address]}
780 block_storage_hosts: {get_attr: [BlockStorage, hosts_entry]}
781 object_storage_hosts: {get_attr: [ObjectStorage, hosts_entry]}
782 ceph_storage_hosts: {get_attr: [CephStorage, hosts_entry]}
783 controller_names: {get_attr: [Controller, hostname]}
784 rabbit_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]}
785 mongo_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, MongoDbNetwork]}]}
786 redis_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, RedisNetwork]}]}
787 memcache_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, MemcachedNetwork]}]}
788 mysql_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
789 horizon_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, HorizonNetwork]}]}
790 heat_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
791 swift_proxy_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
792 ceilometer_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
793 aodh_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
794 gnocchi_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
795 nova_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
796 nova_metadata_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, NovaMetadataNetwork]}]}
797 glance_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
798 glance_registry_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
799 cinder_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
800 neutron_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
801 keystone_public_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
802 keystone_admin_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
803 sahara_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
804 ironic_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
805 ceph_mon_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, CephPublicNetwork]}]}
806 ceph_mon_node_names: {get_attr: [Controller, hostname]}
807 DeployIdentifier: {get_param: DeployIdentifier}
808 UpdateIdentifier: {get_param: UpdateIdentifier}
811 type: OS::Heat::RandomString
815 MysqlClusterUniquePart:
816 type: OS::Heat::RandomString
821 type: OS::Heat::RandomString
824 salt: {get_param: RabbitCookieSalt}
826 # creates the network architecture
828 type: OS::TripleO::Network
831 type: OS::Neutron::Port
834 name: control_virtual_ip
835 network: {get_param: NeutronControlPlaneID}
836 fixed_ips: {get_param: ControlFixedIPs}
837 replacement_policy: AUTO
841 type: OS::TripleO::Network::Ports::RedisVipPort
843 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
844 ControlPlaneNetwork: {get_param: NeutronControlPlaneID}
845 PortName: redis_virtual_ip
846 NetworkName: {get_param: [ServiceNetMap, RedisNetwork]}
849 # The public VIP is on the External net, falls back to ctlplane
852 type: OS::TripleO::Network::Ports::ExternalVipPort
854 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
855 ControlPlaneNetwork: {get_param: NeutronControlPlaneID}
856 PortName: public_virtual_ip
857 FixedIPs: {get_param: PublicVirtualFixedIPs}
859 InternalApiVirtualIP:
861 type: OS::TripleO::Network::Ports::InternalApiVipPort
863 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
864 PortName: internal_api_virtual_ip
865 FixedIPs: {get_param: InternalApiVirtualFixedIPs}
869 type: OS::TripleO::Network::Ports::StorageVipPort
871 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
872 PortName: storage_virtual_ip
873 FixedIPs: {get_param: StorageVirtualFixedIPs}
875 StorageMgmtVirtualIP:
877 type: OS::TripleO::Network::Ports::StorageMgmtVipPort
879 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
880 PortName: storage_management_virtual_ip
881 FixedIPs: {get_param: StorageMgmtVirtualFixedIPs}
884 type: OS::TripleO::Network::Ports::NetVipMap
886 ControlPlaneIp: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
887 ExternalIp: {get_attr: [PublicVirtualIP, ip_address]}
888 ExternalIpUri: {get_attr: [PublicVirtualIP, ip_address_uri]}
889 InternalApiIp: {get_attr: [InternalApiVirtualIP, ip_address]}
890 InternalApiIpUri: {get_attr: [InternalApiVirtualIP, ip_address_uri]}
891 StorageIp: {get_attr: [StorageVirtualIP, ip_address]}
892 StorageIpUri: {get_attr: [StorageVirtualIP, ip_address_uri]}
893 StorageMgmtIp: {get_attr: [StorageMgmtVirtualIP, ip_address]}
894 StorageMgmtIpUri: {get_attr: [StorageMgmtVirtualIP, ip_address_uri]}
895 # No tenant or management VIP required
898 type: OS::TripleO::VipConfig
901 type: OS::Heat::StructuredDeployments
904 config: {get_resource: VipConfig}
905 servers: {get_attr: [Controller, attributes, nova_server_resource]}
907 # service VIP mappings
908 keystone_admin_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
909 keystone_public_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
910 neutron_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
911 cinder_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
912 glance_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
913 glance_registry_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
914 swift_proxy_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
915 nova_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
916 nova_metadata_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaMetadataNetwork]}]}
917 ceilometer_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
918 aodh_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
919 gnocchi_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
920 heat_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
921 horizon_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HorizonNetwork]}]}
922 redis_vip: {get_attr: [RedisVirtualIP, ip_address]}
923 mysql_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
924 rabbit_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]}
925 # direct configuration of Virtual IPs for each network
926 control_virtual_ip: {get_attr: [VipMap, net_ip_map, ctlplane]}
927 public_virtual_ip: {get_attr: [VipMap, net_ip_map, external]}
928 internal_api_virtual_ip: {get_attr: [VipMap, net_ip_map, internal_api]}
929 sahara_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
930 ironic_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
931 storage_virtual_ip: {get_attr: [VipMap, net_ip_map, storage]}
932 storage_mgmt_virtual_ip: {get_attr: [VipMap, net_ip_map, storage_mgmt]}
934 ControllerSwiftDeployment:
935 type: OS::Heat::StructuredDeployments
937 name: ControllerSwiftDeployment
938 config: {get_attr: [SwiftDevicesAndProxyConfig, config_id]}
939 servers: {get_attr: [Controller, attributes, nova_server_resource]}
941 ObjectStorageSwiftDeployment:
942 type: OS::Heat::StructuredDeployments
944 name: ObjectStorageSwiftDeployment
945 config: {get_attr: [SwiftDevicesAndProxyConfig, config_id]}
946 servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
948 SwiftDevicesAndProxyConfig:
949 type: OS::TripleO::SwiftDevicesAndProxy::SoftwareConfig
951 controller_swift_devices: {get_attr: [Controller, swift_device]}
952 object_store_swift_devices: {get_attr: [ObjectStorage, swift_device]}
953 controller_swift_proxy_memcaches: {get_attr: [Controller, swift_proxy_memcache]}
955 ControllerAllNodesDeployment:
956 type: OS::Heat::StructuredDeployments
958 name: ControllerAllNodesDeployment
959 config: {get_attr: [allNodesConfig, config_id]}
960 servers: {get_attr: [Controller, attributes, nova_server_resource]}
962 bootstrap_nodeid: {get_attr: [Controller, resource.0.hostname]}
963 bootstrap_nodeid_ip: {get_attr: [Controller, resource.0.ip_address]}
965 ComputeAllNodesDeployment:
966 type: OS::Heat::StructuredDeployments
968 name: ComputeAllNodesDeployment
969 config: {get_attr: [allNodesConfig, config_id]}
970 servers: {get_attr: [Compute, attributes, nova_server_resource]}
972 bootstrap_nodeid: {get_attr: [Compute, resource.0.hostname]}
973 bootstrap_nodeid_ip: {get_attr: [Compute, resource.0.ip_address]}
975 BlockStorageAllNodesDeployment:
976 type: OS::Heat::StructuredDeployments
978 name: BlockStorageAllNodesDeployment
979 config: {get_attr: [allNodesConfig, config_id]}
980 servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
982 bootstrap_nodeid: {get_attr: [BlockStorage, resource.0.hostname]}
983 bootstrap_nodeid_ip: {get_attr: [BlockStorage, resource.0.ip_address]}
985 ObjectStorageAllNodesDeployment:
986 type: OS::Heat::StructuredDeployments
988 name: ObjectStorageAllNodesDeployment
989 config: {get_attr: [allNodesConfig, config_id]}
990 servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
992 bootstrap_nodeid: {get_attr: [ObjectStorage, resource.0.hostname]}
993 bootstrap_nodeid_ip: {get_attr: [ObjectStorage, resource.0.ip_address]}
995 CephStorageAllNodesDeployment:
996 type: OS::Heat::StructuredDeployments
998 name: CephStorageAllNodesDeployment
999 config: {get_attr: [allNodesConfig, config_id]}
1000 servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1002 bootstrap_nodeid: {get_attr: [CephStorage, resource.0.hostname]}
1003 bootstrap_nodeid_ip: {get_attr: [CephStorage, resource.0.ip_address]}
1005 # All Nodes Validations
1006 AllNodesValidationConfig:
1007 type: OS::TripleO::AllNodes::Validation
1012 - - {get_attr: [Controller, resource.0.external_ip_address]}
1013 - {get_attr: [Controller, resource.0.internal_api_ip_address]}
1014 - {get_attr: [Controller, resource.0.storage_ip_address]}
1015 - {get_attr: [Controller, resource.0.storage_mgmt_ip_address]}
1016 - {get_attr: [Controller, resource.0.tenant_ip_address]}
1018 ControllerAllNodesValidationDeployment:
1019 type: OS::Heat::StructuredDeployments
1020 depends_on: ControllerAllNodesDeployment
1022 name: ControllerAllNodesValidationDeployment
1023 config: {get_resource: AllNodesValidationConfig}
1024 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1026 ComputeAllNodesValidationDeployment:
1027 type: OS::Heat::StructuredDeployments
1028 depends_on: ComputeAllNodesDeployment
1030 name: ComputeAllNodesValidationDeployment
1031 config: {get_resource: AllNodesValidationConfig}
1032 servers: {get_attr: [Compute, attributes, nova_server_resource]}
1034 BlockStorageAllNodesValidationDeployment:
1035 type: OS::Heat::StructuredDeployments
1036 depends_on: BlockStorageAllNodesDeployment
1038 name: BlockStorageAllNodesValidationDeployment
1039 config: {get_resource: AllNodesValidationConfig}
1040 servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
1042 ObjectStorageAllNodesValidationDeployment:
1043 type: OS::Heat::StructuredDeployments
1044 depends_on: ObjectStorageAllNodesDeployment
1046 name: ObjectStorageAllNodesValidationDeployment
1047 config: {get_resource: AllNodesValidationConfig}
1048 servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1050 CephStorageAllNodesValidationDeployment:
1051 type: OS::Heat::StructuredDeployments
1052 depends_on: CephStorageAllNodesDeployment
1054 name: CephStorageAllNodesValidationDeployment
1055 config: {get_resource: AllNodesValidationConfig}
1056 servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1059 type: OS::TripleO::Tasks::UpdateWorkflow
1061 controller_servers: {get_attr: [Controller, attributes, nova_server_resource]}
1062 compute_servers: {get_attr: [Compute, attributes, nova_server_resource]}
1063 blockstorage_servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
1064 objectstorage_servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1065 cephstorage_servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1067 deploy_identifier: {get_param: DeployIdentifier}
1068 update_identifier: {get_param: UpdateIdentifier}
1070 # Optional ExtraConfig for all nodes - all roles are passed in here, but
1071 # the nested template may configure each role differently (or not at all)
1072 AllNodesExtraConfig:
1073 type: OS::TripleO::AllNodesExtraConfig
1076 - ComputeAllNodesValidationDeployment
1077 - BlockStorageAllNodesValidationDeployment
1078 - ObjectStorageAllNodesValidationDeployment
1079 - CephStorageAllNodesValidationDeployment
1080 - ControllerAllNodesValidationDeployment
1082 controller_servers: {get_attr: [Controller, attributes, nova_server_resource]}
1083 compute_servers: {get_attr: [Compute, attributes, nova_server_resource]}
1084 blockstorage_servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
1085 objectstorage_servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1086 cephstorage_servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1088 # Nested stack deployment runs after all other controller deployments
1089 ControllerNodesPostDeployment:
1090 type: OS::TripleO::ControllerPostDeployment
1091 depends_on: [ControllerAllNodesDeployment, ControllerSwiftDeployment]
1093 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1094 RoleData: {get_attr: [ControllerServiceChain, role_data]}
1096 ComputeNodesPostDeployment:
1097 type: OS::TripleO::ComputePostDeployment
1098 depends_on: [ComputeAllNodesDeployment]
1100 servers: {get_attr: [Compute, attributes, nova_server_resource]}
1101 RoleData: {get_attr: [ComputeServiceChain, role_data]}
1103 ObjectStorageNodesPostDeployment:
1104 type: OS::TripleO::ObjectStoragePostDeployment
1105 depends_on: [ObjectStorageSwiftDeployment, ObjectStorageAllNodesDeployment]
1107 servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1108 RoleData: {get_attr: [ObjectStorageServiceChain, role_data]}
1110 BlockStorageNodesPostDeployment:
1111 type: OS::TripleO::BlockStoragePostDeployment
1112 depends_on: [ControllerNodesPostDeployment, BlockStorageAllNodesDeployment]
1114 servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
1115 RoleData: {get_attr: [BlockStorageServiceChain, role_data]}
1117 CephStorageNodesPostDeployment:
1118 type: OS::TripleO::CephStoragePostDeployment
1119 depends_on: [ControllerNodesPostDeployment, CephStorageAllNodesDeployment]
1121 servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1122 RoleData: {get_attr: [CephStorageServiceChain, role_data]}
1126 description: URL for the Overcloud Keystone service
1127 value: {get_attr: [EndpointMap, endpoint_map, KeystonePublic, uri]}
1129 description: Keystone Admin VIP endpoint
1130 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
1132 description: Controller VIP for public API endpoints
1133 value: {get_attr: [VipMap, net_ip_map, external]}
1135 description: VIP for Aodh API internal endpoint
1136 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
1137 CeilometerInternalVip:
1138 description: VIP for Ceilometer API internal endpoint
1139 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
1141 description: VIP for Cinder API internal endpoint
1142 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
1144 description: VIP for Glance API internal endpoint
1145 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
1147 description: VIP for Gnocchi API internal endpoint
1148 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
1150 description: VIP for Heat API internal endpoint
1151 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
1153 description: VIP for Ironic API internal endpoint
1154 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
1155 KeystoneInternalVip:
1156 description: VIP for Keystone API internal endpoint
1157 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
1159 description: VIP for Neutron API internal endpoint
1160 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
1162 description: VIP for Nova API internal endpoint
1163 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
1165 description: VIP for Sahara API internal endpoint
1166 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
1168 description: VIP for Swift Proxy internal endpoint
1169 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
1172 Mapping of the resources with the needed info for their endpoints.
1173 This includes the protocol used, the IP, port and also a full
1174 representation of the URI.
1175 value: {get_attr: [EndpointMap, endpoint_map]}
1178 The content that should be appended to your /etc/hosts if you want to get
1179 hostname-based access to the deployed nodes (useful for testing without
1181 value: {get_attr: [allNodesConfig, hosts_entries]}