1 heat_template_version: 2015-04-30
4 Nova API,Keystone,Heat Engine and API,Glance,Neutron,Dedicated MySQL
5 server,Dedicated RabbitMQ Server,Group of Nova Computes
8 # TODO(shadower): we should probably use the parameter groups to put
12 # Common parameters (not specific to a role)
15 description: The password for the keystone admin account, used for monitoring, querying neutron etc.
20 description: The ceilometer backend type.
22 CeilometerMeteringSecret:
24 description: Secret shared by the ceilometer services.
29 description: The password for the ceilometer service account.
32 # This has to be an UUID so for now we generate it outside the template
36 description: The Ceph cluster FSID. Must be a UUID.
39 description: The Ceph monitors key. Can be created with ceph-authtool --gen-print-key.
43 description: The Ceph admin client key. Can be created with ceph-authtool --gen-print-key.
45 CinderEnableNfsBackend:
47 description: Whether to enable or not the NFS backend for Cinder
51 description: The Ceph client key. Can be created with ceph-authtool --gen-print-key. Currently only used for external Ceph deployments to create the openstack user keyring.
56 description: List of externally managed Ceph Mon Host IPs. Only used for external Ceph deployments.
57 CinderEnableIscsiBackend:
59 description: Whether to enable or not the Iscsi backend for Cinder
63 description: The DNS name of this cloud. E.g. ci-overcloud.tripleo.org
67 description: Should be used for arbitrary ips.
71 description: Set to True to enable debugging on all services.
75 description: Glance port.
79 description: Protocol to use when connecting to glance, set to https for SSL.
82 default: 'REBUILD_PRESERVE_EPHEMERAL'
83 description: What policy to use when reconstructing instances. REBUILD for rebuilds, REBUILD_PRESERVE_EPHEMERAL to preserve /mnt.
87 description: Name of an existing EC2 KeyPair to enable SSH access to the instances
90 - custom_constraint: nova.keypair
91 NeutronExternalNetworkBridge:
92 description: Name of bridge used for external network traffic.
95 NeutronBridgeMappings:
97 The OVS logical->physical bridge mappings to use. See the Neutron
98 documentation for details. Defaults to mapping br-ex - the external
99 bridge on hosts - to a physical name 'datacentre' which can be used
100 to create provider networks (and we use this for the default floating
101 network) - if changing this either use different post-install network
102 scripts or be sure to keep 'datacentre' as a mapping network name.
104 default: "datacentre:br-ex"
105 NeutronControlPlaneID:
108 description: Neutron ID for ctlplane network.
109 NeutronEnableTunnelling:
114 default: 'datacentre'
116 If set, flat networks to configure in neutron plugins. Defaults to
117 'datacentre' to permit external network creation.
120 description: The tenant network type for Neutron, either gre or vxlan.
124 description: The password for the neutron service account, used by neutron agents.
127 NeutronPublicInterface:
129 description: What interface to bridge onto br-ex for network nodes.
131 NeutronPublicInterfaceTag:
134 VLAN tag for creating a public VLAN. The tag will be used to
135 create an access port on the exterior bridge for each control plane node,
136 and that port will be given the IP address returned by neutron from the
137 public network. Set CONTROLEXTRA=overcloud-vlan-port.yaml when compiling
138 overcloud.yaml to include the deployment of VLAN ports to the control
141 NeutronComputeAgentMode:
143 description: Agent mode for the neutron-l3-agent on the compute hosts
147 description: Agent mode for the neutron-l3-agent on the controller hosts
151 description: Whether to configure Neutron Distributed Virtual Routers
153 NeutronMetadataProxySharedSecret:
155 description: Shared secret to prevent spoofing
160 The tunnel types for the Neutron tenant network. To specify multiple
161 values, use a comma separated string, like so: 'gre,vxlan'
163 NeutronTunnelIdRanges:
165 Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges
166 of GRE tunnel IDs that are available for tenant network allocation
167 default: ["1:1000", ]
168 type: comma_delimited_list
171 Comma-separated list of <vni_min>:<vni_max> tuples enumerating ranges
172 of VXLAN VNI IDs that are available for tenant network allocation
173 default: ["1:1000", ]
174 type: comma_delimited_list
175 NeutronMechanismDrivers:
176 default: 'openvswitch'
178 The mechanism drivers for the Neutron tenant network. To specify multiple
179 values, use a comma separated string, like so: 'openvswitch,l2_population'
181 NeutronAllowL3AgentFailover:
183 description: Allow automatic l3-agent failover
187 description: Whether to enable l3-agent HA
189 NeutronDhcpAgentsPerNetwork:
192 description: The number of neutron dhcp agents to schedule per network
195 description: The password for the nova service account, used by nova-api.
203 description: Should MongoDb journaling be disabled
205 PublicVirtualFixedIPs:
208 Control the IP allocation for the PublicVirtualInterface port. E.g.
209 [{'ip_address':'1.2.3.4'}]
214 description: Salt for the rabbit cookie, change this to force the randomly generated rabbit cookie to change.
215 # FIXME: 'guest' is provisioned in RabbitMQ by default, we should create a user if these are changed
218 description: The username for RabbitMQ
222 description: The password for RabbitMQ
228 Rabbit client subscriber parameter to specify
229 an SSL connection to the RabbitMQ host.
233 description: Set rabbit subscriber port, change this if using SSL
235 SnmpdReadonlyUserName:
236 default: ro_snmp_user
237 description: The user name for SNMPd with readonly rights running on all Overcloud nodes
239 SnmpdReadonlyUserPassword:
241 description: The user password for SNMPd with readonly rights running on all Overcloud nodes
245 # Controller-specific params
248 description: The keystone auth secret.
251 CinderEnableRbdBackend:
253 description: Whether to enable or not the Rbd backend for Cinder
255 CinderLVMLoopDeviceSize:
257 description: The size of the loopback file used by the cinder LVM driver.
259 CinderNfsMountOptions:
262 Mount options for NFS mounts used by Cinder NFS backend. Effective
263 when CinderEnableNfsBackend is true.
268 NFS servers used by Cinder NFS backend. Effective when
269 CinderEnableNfsBackend is true.
270 type: comma_delimited_list
273 description: The password for the cinder service account, used by cinder-api.
278 description: The iSCSI helper to use with cinder.
283 controllerExtraConfig:
286 Controller specific configuration to inject into the cluster. Same
287 structure as ExtraConfig.
291 default: overcloud-control
293 - custom_constraint: glance.image
294 OvercloudControlFlavor:
295 description: Flavor for control nodes to request when deploying.
298 - custom_constraint: nova.flavor
299 ControlVirtualInterface:
301 description: Interface where virtual ip will be assigned.
305 description: Whether to enable fencing in Pacemaker or not.
309 description: Whether to use Galera instead of regular MariaDB.
311 ControllerEnableCephStorage:
313 description: Whether to deploy Ceph Storage (OSD) on the Controller
315 ControllerEnableSwiftStorage:
317 description: Whether to enable Swift Storage on the Controller
322 Additional configuration to inject into the cluster. The format required
323 may be implementation specific, e.g puppet hieradata. Any role specific
324 ExtraConfig, e.g controllerExtraConfig takes precedence over ExtraConfig.
329 Pacemaker fencing configuration. The JSON should have
330 the following structure:
334 "agent": "AGENT_NAME",
335 "host_mac": "HOST_MAC_ADDRESS",
336 "params": {"PARAM_NAME": "PARAM_VALUE"}
344 "agent": "fence_xvm",
345 "host_mac": "52:54:00:aa:bb:cc",
347 "multicast_address": "225.0.0.12",
348 "port": "baremetal_0",
350 "manage_key_file": true,
351 "key_file": "/etc/fence_xvm.key",
352 "key_file_password": "abcdef"
359 description: The filepath of the file to use for logging messages from Glance.
362 GlanceNotifierStrategy:
363 description: Strategy to use for Glance notification queue
368 description: The password for the glance service account, used by the glance services.
373 description: The short name of the Glance backend to use. Should be one
374 of swift, rbd or file
377 - allowed_values: ['swift', 'file', 'rbd']
380 description: The password for the Heat service account, used by the Heat services.
383 HeatStackDomainAdminPassword:
384 description: Password for heat_domain_admin user.
388 KeystoneCACertificate:
390 description: Keystone self-signed certificate authority certificate.
392 KeystoneSigningCertificate:
394 description: Keystone certificate for verifying token validity.
398 description: Keystone key for signing tokens.
401 KeystoneSSLCertificate:
403 description: Keystone certificate for verifying token validity.
405 KeystoneSSLCertificateKey:
407 description: Keystone key for signing tokens.
410 KeystoneNotificationDriver:
411 description: Comma-separated list of Oslo notification drivers used by Keystone
412 default: ['messaging']
413 type: comma_delimited_list
414 KeystoneNotificationFormat:
415 description: The Keystone notification format
419 - allowed_values: [ 'basic', 'cadf' ]
420 MysqlInnodbBufferPoolSize:
422 Specifies the size of the buffer pool in megabytes. Setting to
423 zero should be interpreted as "no value" and will defer to the
428 description: Configures MySQL max_connections config setting
431 NeutronDnsmasqOptions:
432 default: 'dhcp-option-force=26,1400'
433 description: Dnsmasq options for neutron-dhcp-agent. The default value here forces MTU to be set to 1400 to account for the tunnel overhead.
435 NeutronPublicInterfaceDefaultRoute:
437 description: A custom default route for the NeutronPublicInterface.
439 NeutronPublicInterfaceIP:
441 description: A custom IP address to put onto the NeutronPublicInterface.
443 NeutronPublicInterfaceRawDevice:
445 description: If set, the public interface is a vlan with this device as the raw device.
447 PublicVirtualInterface:
450 Specifies the interface where the public-facing virtual ip will be assigned.
451 This should be int_public when a VLAN is being used.
455 description: If set, the contents of an SSL certificate .crt file for encrypting SSL endpoints.
460 description: If set, the contents of an SSL certificate .key file for encrypting SSL endpoints.
465 description: If set, the contents of an SSL certificate authority file.
469 description: A random string to be used as a salt when hashing to determine mappings in the ring.
474 description: The password for the swift service account, used by the swift proxy services.
479 description: Value of mount_check in Swift account/container/object -server.conf
484 description: The minimum time (in hours) before a partition in a ring can be moved following a rebalance.
487 description: Partition Power to use when building Swift rings
492 description: How many replicas to use in the swift rings.
494 # Compute-specific params
495 CeilometerComputeAgent:
496 description: Indicates whether the Compute agent is present and expects nova-compute to be configured accordingly
500 - allowed_values: ['', Present]
504 HypervisorNeutronPhysicalBridge:
507 An OVS bridge to create on each hypervisor. This defaults to br-ex the
508 same as the control plane nodes, as we have a uniform configuration of
509 the openvswitch agent. Typically should not need to be changed.
511 HypervisorNeutronPublicInterface:
513 description: What interface to add to the HypervisorNeutronPhysicalBridge.
515 NeutronNetworkVLANRanges:
516 default: 'datacentre'
518 The Neutron ML2 and OpenVSwitch vlan mapping range to support. See the
519 Neutron documentation for permitted values. Defaults to permitting any
520 VLAN on the 'datacentre' physical network (See NeutronBridgeMappings).
521 type: comma_delimited_list
524 default: libvirt.LibvirtDriver
525 NovaComputeExtraConfig:
528 NovaCompute specific configuration to inject into the cluster. Same
529 structure as ExtraConfig.
531 NovaComputeLibvirtType:
534 NovaEnableRbdBackend:
536 description: Whether to enable or not the Rbd backend for Nova
540 default: overcloud-compute
542 - custom_constraint: glance.image
543 OvercloudComputeFlavor:
544 description: Use this flavor
547 - custom_constraint: nova.flavor
550 NeutronTenantNetwork: tenant
551 CeilometerApiNetwork: internal_api
552 MongoDbNetwork: internal_api
553 CinderApiNetwork: internal_api
554 CinderIscsiNetwork: storage
555 GlanceApiNetwork: storage
556 GlanceRegistryNetwork: internal_api
557 KeystoneAdminApiNetwork: internal_api
558 KeystonePublicApiNetwork: internal_api
559 NeutronApiNetwork: internal_api
560 HeatApiNetwork: internal_api
561 NovaApiNetwork: internal_api
562 NovaMetadataNetwork: internal_api
563 NovaVncProxyNetwork: internal_api
564 SwiftMgmtNetwork: storage_mgmt
565 SwiftProxyNetwork: storage
566 HorizonNetwork: internal_api
567 MemcachedNetwork: internal_api
568 RabbitMqNetwork: internal_api
569 RedisNetwork: internal_api
570 MysqlNetwork: internal_api
571 CephClusterNetwork: storage_mgmt
572 CephPublicNetwork: storage
573 ControllerHostnameResolveNetwork: internal_api
574 ComputeHostnameResolveNetwork: internal_api
575 BlockStorageHostnameResolveNetwork: internal_api
576 ObjectStorageHostnameResolveNetwork: internal_api
577 CephStorageHostnameResolveNetwork: storage
578 description: Mapping of service_name -> network name. Typically set
579 via parameter_defaults in the resource registry.
582 # Block storage specific parameters
587 default: overcloud-cinder-volume
589 OvercloudBlockStorageFlavor:
590 description: Flavor for block storage nodes to request when deploying.
593 - custom_constraint: nova.flavor
594 BlockStorageExtraConfig:
597 BlockStorage specific configuration to inject into the cluster. Same
598 structure as ExtraConfig.
601 # Object storage specific parameters
605 OvercloudSwiftStorageFlavor:
606 description: Flavor for Swift storage nodes to request when deploying.
609 - custom_constraint: nova.flavor
611 default: overcloud-swift-storage
613 ObjectStorageExtraConfig:
616 ObjectStorage specific configuration to inject into the cluster. Same
617 structure as ExtraConfig.
621 # Ceph storage specific parameters
626 default: overcloud-ceph-storage
628 OvercloudCephStorageFlavor:
630 description: Flavor for Ceph storage nodes to request when deploying.
633 - custom_constraint: nova.flavor
634 CephStorageExtraConfig:
637 CephStorage specific configuration to inject into the cluster. Same
638 structure as ExtraConfig.
641 # Hostname format for each role
642 # Note %index% is translated into the index of the node, e.g 0/1/2 etc
643 # and %stackname% is replaced with OS::stack_name in the template below.
644 # If you want to use the heat generated names, pass '' (empty string).
645 ControllerHostnameFormat:
647 description: Format for Controller node hostnames
648 default: '%stackname%-controller-%index%'
649 ComputeHostnameFormat:
651 description: Format for Compute node hostnames
652 default: '%stackname%-novacompute-%index%'
653 BlockStorageHostnameFormat:
655 description: Format for BlockStorage node hostnames
656 default: '%stackname%-blockstorage-%index%'
657 ObjectStorageHostnameFormat:
659 description: Format for SwiftStorage node hostnames
660 default: '%stackname%-objectstorage-%index%'
661 CephStorageHostnameFormat:
663 description: Format for CephStorage node hostnames
664 default: '%stackname%-cephstorage-%index%'
666 # Identifiers to trigger tasks on nodes
671 Setting to a previously unused value during stack-update will trigger
672 package update on all nodes
674 # If you want to remove a specific node from a resource group, you can pass
675 # the node name or id as a <Group>RemovalPolicies parameter, for example:
676 # ComputeRemovalPolicies: [{'resource_list': ['0']}]
677 ControllerRemovalPolicies:
681 List of resources to be removed from ControllerResourceGroup when
682 doing an update which requires removal of specific resources.
683 ComputeRemovalPolicies:
687 List of resources to be removed from ComputeResourceGroup when
688 doing an update which requires removal of specific resources.
689 BlockStorageRemovalPolicies:
693 List of resources to be removed from BlockStorageResourceGroup when
694 doing an update which requires removal of specific resources.
695 ObjectStorageRemovalPolicies:
699 List of resources to be removed from ObjectStorageResourceGroup when
700 doing an update which requires removal of specific resources.
701 CephStorageRemovalPolicies:
705 List of resources to be removed from CephStorageResourceGroup when
706 doing an update which requires removal of specific resources.
711 HeatAuthEncryptionKey:
712 type: OS::Heat::RandomString
715 type: OS::Heat::RandomString
720 type: OS::Heat::RandomString
725 type: OS::Heat::ResourceGroup
728 count: {get_param: ControllerCount}
729 removal_policies: {get_param: ControllerRemovalPolicies}
731 type: OS::TripleO::Controller
733 AdminPassword: {get_param: AdminPassword}
734 AdminToken: {get_param: AdminToken}
735 CeilometerBackend: {get_param: CeilometerBackend}
736 CeilometerMeteringSecret: {get_param: CeilometerMeteringSecret}
737 CeilometerPassword: {get_param: CeilometerPassword}
738 CinderLVMLoopDeviceSize: {get_param: CinderLVMLoopDeviceSize}
739 CinderNfsMountOptions: {get_param: CinderNfsMountOptions}
740 CinderNfsServers: {get_param: CinderNfsServers}
741 CinderPassword: {get_param: CinderPassword}
742 CinderISCSIHelper: {get_param: CinderISCSIHelper}
743 CinderEnableNfsBackend: {get_param: CinderEnableNfsBackend}
744 CinderEnableIscsiBackend: {get_param: CinderEnableIscsiBackend}
745 CinderEnableRbdBackend: {get_param: CinderEnableRbdBackend}
746 CloudName: {get_param: CloudName}
747 ControlVirtualInterface: {get_param: ControlVirtualInterface}
748 ControllerExtraConfig: {get_param: controllerExtraConfig}
749 Debug: {get_param: Debug}
750 EnableFencing: {get_param: EnableFencing}
751 EnableGalera: {get_param: EnableGalera}
752 EnableCephStorage: {get_param: ControllerEnableCephStorage}
753 EnableSwiftStorage: {get_param: ControllerEnableSwiftStorage}
754 ExtraConfig: {get_param: ExtraConfig}
755 FencingConfig: {get_param: FencingConfig}
756 Flavor: {get_param: OvercloudControlFlavor}
757 GlancePort: {get_param: GlancePort}
758 GlanceProtocol: {get_param: GlanceProtocol}
759 GlancePassword: {get_param: GlancePassword}
760 GlanceBackend: {get_param: GlanceBackend}
761 GlanceNotifierStrategy: {get_param: GlanceNotifierStrategy}
762 GlanceLogFile: {get_param: GlanceLogFile}
763 HeatPassword: {get_param: HeatPassword}
764 HeatStackDomainAdminPassword: {get_param: HeatStackDomainAdminPassword}
765 HeatAuthEncryptionKey: {get_resource: HeatAuthEncryptionKey}
766 HorizonSecret: {get_resource: HorizonSecret}
767 Image: {get_param: controllerImage}
768 ImageUpdatePolicy: {get_param: ImageUpdatePolicy}
769 KeyName: {get_param: KeyName}
770 KeystoneCACertificate: {get_param: KeystoneCACertificate}
771 KeystoneSigningCertificate: {get_param: KeystoneSigningCertificate}
772 KeystoneSigningKey: {get_param: KeystoneSigningKey}
773 KeystoneSSLCertificate: {get_param: KeystoneSSLCertificate}
774 KeystoneSSLCertificateKey: {get_param: KeystoneSSLCertificateKey}
775 KeystoneNotificationDriver: {get_param: KeystoneNotificationDriver}
776 KeystoneNotificationFormat: {get_param: KeystoneNotificationFormat}
777 MysqlClusterUniquePart: {get_attr: [MysqlClusterUniquePart, value]}
778 MysqlInnodbBufferPoolSize: {get_param: MysqlInnodbBufferPoolSize}
779 MysqlMaxConnections: {get_param: MysqlMaxConnections}
780 MysqlRootPassword: {get_attr: [MysqlRootPassword, value]}
781 NeutronPublicInterfaceIP: {get_param: NeutronPublicInterfaceIP}
782 NeutronFlatNetworks: {get_param: NeutronFlatNetworks}
783 NeutronBridgeMappings: {get_param: NeutronBridgeMappings}
784 NeutronExternalNetworkBridge: {get_param: NeutronExternalNetworkBridge}
785 NeutronEnableTunnelling: {get_param: NeutronEnableTunnelling}
786 NeutronNetworkVLANRanges: {get_param: NeutronNetworkVLANRanges}
787 NeutronPublicInterface: {get_param: NeutronPublicInterface}
788 NeutronPublicInterfaceDefaultRoute: {get_param: NeutronPublicInterfaceDefaultRoute}
789 NeutronPublicInterfaceRawDevice: {get_param: NeutronPublicInterfaceRawDevice}
790 NeutronPassword: {get_param: NeutronPassword}
791 NeutronDnsmasqOptions: {get_param: NeutronDnsmasqOptions}
792 NeutronDVR: {get_param: NeutronDVR}
793 NeutronMetadataProxySharedSecret: {get_param: NeutronMetadataProxySharedSecret}
794 NeutronAgentMode: {get_param: NeutronAgentMode}
795 NeutronMechanismDrivers: {get_param: NeutronMechanismDrivers}
796 NeutronAllowL3AgentFailover: {get_param: NeutronAllowL3AgentFailover}
797 NeutronL3HA: {get_param: NeutronL3HA}
798 NeutronDhcpAgentsPerNetwork: {get_param: NeutronDhcpAgentsPerNetwork}
799 NeutronNetworkType: {get_param: NeutronNetworkType}
800 NeutronTunnelTypes: {get_param: NeutronTunnelTypes}
801 NovaPassword: {get_param: NovaPassword}
802 NtpServer: {get_param: NtpServer}
803 MongoDbNoJournal: {get_param: MongoDbNoJournal}
804 PcsdPassword: {get_resource: PcsdPassword}
805 PublicVirtualInterface: {get_param: PublicVirtualInterface}
806 RabbitPassword: {get_param: RabbitPassword}
807 RabbitUserName: {get_param: RabbitUserName}
808 RabbitCookie: {get_attr: [RabbitCookie, value]}
809 RabbitClientUseSSL: {get_param: RabbitClientUseSSL}
810 RabbitClientPort: {get_param: RabbitClientPort}
811 SnmpdReadonlyUserName: {get_param: SnmpdReadonlyUserName}
812 SnmpdReadonlyUserPassword: {get_param: SnmpdReadonlyUserPassword}
813 RedisVirtualIP: {get_attr: [RedisVirtualIP, ip_address]}
814 SSLCertificate: {get_param: SSLCertificate}
815 SSLKey: {get_param: SSLKey}
816 SSLCACertificate: {get_param: SSLCACertificate}
817 SwiftHashSuffix: {get_param: SwiftHashSuffix}
818 SwiftMountCheck: {get_param: SwiftMountCheck}
819 SwiftMinPartHours: {get_param: SwiftMinPartHours}
820 SwiftPartPower: {get_param: SwiftPartPower}
821 SwiftPassword: {get_param: SwiftPassword}
822 SwiftReplicas: { get_param: SwiftReplicas}
823 VirtualIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]} # deprecated. Use per service VIP settings instead now.
824 PublicVirtualIP: {get_attr: [PublicVirtualIP, ip_address]}
825 ServiceNetMap: {get_param: ServiceNetMap}
826 HeatApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
827 GlanceApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
828 MysqlVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
829 KeystonePublicApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
830 NeutronApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
831 UpdateIdentifier: {get_param: UpdateIdentifier}
834 template: {get_param: ControllerHostnameFormat}
836 '%stackname%': {get_param: 'OS::stack_name'}
839 type: OS::Heat::ResourceGroup
842 count: {get_param: ComputeCount}
843 removal_policies: {get_param: ComputeRemovalPolicies}
845 type: OS::TripleO::Compute
847 AdminPassword: {get_param: AdminPassword}
848 CeilometerComputeAgent: {get_param: CeilometerComputeAgent}
849 CeilometerMeteringSecret: {get_param: CeilometerMeteringSecret}
850 CeilometerPassword: {get_param: CeilometerPassword}
851 CinderEnableNfsBackend: {get_param: CinderEnableNfsBackend}
852 Debug: {get_param: Debug}
853 ExtraConfig: {get_param: ExtraConfig}
854 Flavor: {get_param: OvercloudComputeFlavor}
855 GlanceHost: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
856 GlancePort: {get_param: GlancePort}
857 GlanceProtocol: {get_param: GlanceProtocol}
858 Image: {get_param: NovaImage}
859 ImageUpdatePolicy: {get_param: ImageUpdatePolicy}
860 KeyName: {get_param: KeyName}
861 KeystoneHost: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
862 NeutronBridgeMappings: {get_param: NeutronBridgeMappings}
863 NeutronEnableTunnelling: {get_param: NeutronEnableTunnelling}
864 NeutronFlatNetworks: {get_param: NeutronFlatNetworks}
865 NeutronHost: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
866 NeutronNetworkType: {get_param: NeutronNetworkType}
867 NeutronTunnelTypes: {get_param: NeutronTunnelTypes}
868 NeutronNetworkVLANRanges: {get_param: NeutronNetworkVLANRanges}
869 NeutronPassword: {get_param: NeutronPassword}
870 NeutronPhysicalBridge: {get_param: HypervisorNeutronPhysicalBridge}
871 NeutronPublicInterface: {get_param: HypervisorNeutronPublicInterface}
872 NeutronDVR: {get_param: NeutronDVR}
873 NeutronMetadataProxySharedSecret: {get_param: NeutronMetadataProxySharedSecret}
874 NeutronAgentMode: {get_param: NeutronComputeAgentMode}
875 NeutronPublicInterfaceRawDevice: {get_param: NeutronPublicInterfaceRawDevice}
876 NeutronMechanismDrivers: {get_param: NeutronMechanismDrivers}
877 # L3 HA and Failover is not relevant for Computes, should be removed
878 NeutronAllowL3AgentFailover: {get_param: NeutronAllowL3AgentFailover}
879 NeutronL3HA: {get_param: NeutronL3HA}
880 NovaApiHost: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
881 NovaComputeDriver: {get_param: NovaComputeDriver}
882 NovaComputeExtraConfig: {get_param: NovaComputeExtraConfig}
883 NovaComputeLibvirtType: {get_param: NovaComputeLibvirtType}
884 NovaEnableRbdBackend: {get_param: NovaEnableRbdBackend}
885 NovaPublicIP: {get_attr: [PublicVirtualIP, ip_address]}
886 NovaPassword: {get_param: NovaPassword}
887 NtpServer: {get_param: NtpServer}
888 RabbitHost: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]}
889 RabbitPassword: {get_param: RabbitPassword}
890 RabbitUserName: {get_param: RabbitUserName}
891 RabbitClientUseSSL: {get_param: RabbitClientUseSSL}
892 RabbitClientPort: {get_param: RabbitClientPort}
893 SnmpdReadonlyUserName: {get_param: SnmpdReadonlyUserName}
894 SnmpdReadonlyUserPassword: {get_param: SnmpdReadonlyUserPassword}
895 ServiceNetMap: {get_param: ServiceNetMap}
896 UpdateIdentifier: {get_param: UpdateIdentifier}
899 template: {get_param: ComputeHostnameFormat}
901 '%stackname%': {get_param: 'OS::stack_name'}
904 type: OS::Heat::ResourceGroup
907 count: {get_param: BlockStorageCount}
908 removal_policies: {get_param: BlockStorageRemovalPolicies}
910 type: OS::TripleO::BlockStorage
912 Debug: {get_param: Debug}
913 Image: {get_param: BlockStorageImage}
914 CinderISCSIHelper: {get_param: CinderISCSIHelper}
915 CinderLVMLoopDeviceSize: {get_param: CinderLVMLoopDeviceSize}
916 # Purpose of the dedicated BlockStorage nodes should be to use their local LVM
917 CinderEnableIscsiBackend: {get_param: CinderEnableIscsiBackend}
918 CinderPassword: {get_param: CinderPassword}
919 KeyName: {get_param: KeyName}
920 Flavor: {get_param: OvercloudBlockStorageFlavor}
921 VirtualIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
922 GlancePort: {get_param: GlancePort}
923 GlanceProtocol: {get_param: GlanceProtocol}
924 GlanceApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
925 RabbitPassword: {get_param: RabbitPassword}
926 RabbitUserName: {get_param: RabbitUserName}
927 RabbitClientUseSSL: {get_param: RabbitClientUseSSL}
928 RabbitClientPort: {get_param: RabbitClientPort}
929 NtpServer: {get_param: NtpServer}
930 UpdateIdentifier: {get_param: UpdateIdentifier}
933 template: {get_param: BlockStorageHostnameFormat}
935 '%stackname%': {get_param: 'OS::stack_name'}
936 ServiceNetMap: {get_param: ServiceNetMap}
937 MysqlVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
938 ExtraConfig: {get_param: ExtraConfig}
939 BlockStorageExtraConfig: {get_param: BlockStorageExtraConfig}
942 type: OS::Heat::ResourceGroup
945 count: {get_param: ObjectStorageCount}
946 removal_policies: {get_param: ObjectStorageRemovalPolicies}
948 type: OS::TripleO::ObjectStorage
950 KeyName: {get_param: KeyName}
951 Flavor: {get_param: OvercloudSwiftStorageFlavor}
952 HashSuffix: {get_param: SwiftHashSuffix}
953 MountCheck: {get_param: SwiftMountCheck}
954 MinPartHours: {get_param: SwiftMinPartHours}
955 PartPower: {get_param: SwiftPartPower}
956 Image: {get_param: SwiftStorageImage}
957 Replicas: { get_param: SwiftReplicas}
958 NtpServer: {get_param: NtpServer}
959 UpdateIdentifier: {get_param: UpdateIdentifier}
960 ServiceNetMap: {get_param: ServiceNetMap}
963 template: {get_param: ObjectStorageHostnameFormat}
965 '%stackname%': {get_param: 'OS::stack_name'}
966 ExtraConfig: {get_param: ExtraConfig}
967 ObjectStorageExtraConfig: {get_param: ObjectStorageExtraConfig}
970 type: OS::Heat::ResourceGroup
973 count: {get_param: CephStorageCount}
974 removal_policies: {get_param: CephStorageRemovalPolicies}
976 type: OS::TripleO::CephStorage
978 Image: {get_param: CephStorageImage}
979 KeyName: {get_param: KeyName}
980 Flavor: {get_param: OvercloudCephStorageFlavor}
981 NtpServer: {get_param: NtpServer}
982 ServiceNetMap: {get_param: ServiceNetMap}
983 UpdateIdentifier: {get_param: UpdateIdentifier}
986 template: {get_param: CephStorageHostnameFormat}
988 '%stackname%': {get_param: 'OS::stack_name'}
989 ExtraConfig: {get_param: ExtraConfig}
990 CephStorageExtraConfig: {get_param: CephStorageExtraConfig}
993 type: OS::TripleO::Network::Ports::NetIpListMap
995 ControlPlaneIpList: {get_attr: [Controller, ip_address]}
996 ExternalIpList: {get_attr: [Controller, external_ip_address]}
997 InternalApiIpList: {get_attr: [Controller, internal_api_ip_address]}
998 StorageIpList: {get_attr: [Controller, storage_ip_address]}
999 StorageMgmtIpList: {get_attr: [Controller, storage_mgmt_ip_address]}
1000 TenantIpList: {get_attr: [Controller, tenant_ip_address]}
1003 type: OS::TripleO::AllNodes::SoftwareConfig
1005 compute_hosts: {get_attr: [Compute, hosts_entry]}
1006 controller_hosts: {get_attr: [Controller, hosts_entry]}
1007 controller_ips: {get_attr: [Controller, ip_address]}
1008 block_storage_hosts: {get_attr: [BlockStorage, hosts_entry]}
1009 object_storage_hosts: {get_attr: [ObjectStorage, hosts_entry]}
1010 ceph_storage_hosts: {get_attr: [CephStorage, hosts_entry]}
1011 controller_names: {get_attr: [Controller, hostname]}
1012 rabbit_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]}
1013 mongo_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, MongoDbNetwork]}]}
1014 redis_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, RedisNetwork]}]}
1015 memcache_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, MemcachedNetwork]}]}
1016 mysql_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
1017 horizon_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, HorizonNetwork]}]}
1018 heat_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
1019 swift_proxy_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
1020 ceilometer_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
1021 nova_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
1022 nova_metadata_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, NovaMetadataNetwork]}]}
1023 glance_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
1024 glance_registry_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
1025 cinder_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
1026 neutron_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
1027 keystone_public_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
1028 keystone_admin_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
1031 type: OS::Heat::RandomString
1035 MysqlClusterUniquePart:
1036 type: OS::Heat::RandomString
1041 type: OS::Heat::RandomString
1044 salt: {get_param: RabbitCookieSalt}
1046 # creates the network architecture
1048 type: OS::TripleO::Network
1051 type: OS::Neutron::Port
1052 depends_on: Networks
1054 name: control_virtual_ip
1055 network_id: {get_param: NeutronControlPlaneID}
1056 fixed_ips: {get_param: ControlFixedIPs}
1057 replacement_policy: AUTO
1060 depends_on: Networks
1061 type: OS::TripleO::Controller::Ports::RedisVipPort
1063 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
1064 ControlPlaneNetwork: {get_param: NeutronControlPlaneID}
1065 PortName: redis_virtual_ip
1066 NetworkName: {get_param: [ServiceNetMap, RedisNetwork]}
1068 # The public VIP is on the External net, falls back to ctlplane
1070 depends_on: Networks
1071 type: OS::TripleO::Controller::Ports::ExternalPort
1073 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
1074 ControlPlaneNetwork: {get_param: NeutronControlPlaneID}
1075 PortName: public_virtual_ip
1076 FixedIPs: {get_param: PublicVirtualFixedIPs}
1078 InternalApiVirtualIP:
1079 depends_on: Networks
1080 type: OS::TripleO::Controller::Ports::InternalApiPort
1082 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
1083 PortName: internal_api_virtual_ip
1086 depends_on: Networks
1087 type: OS::TripleO::Controller::Ports::StoragePort
1089 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
1090 PortName: storage_virtual_ip
1092 StorageMgmtVirtualIP:
1093 depends_on: Networks
1094 type: OS::TripleO::Controller::Ports::StorageMgmtPort
1096 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
1097 PortName: storage_management_virtual_ip
1100 type: OS::TripleO::Network::Ports::NetIpMap
1102 ControlPlaneIp: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
1103 ExternalIp: {get_attr: [PublicVirtualIP, ip_address]}
1104 InternalApiIp: {get_attr: [InternalApiVirtualIP, ip_address]}
1105 StorageIp: {get_attr: [StorageVirtualIP, ip_address]}
1106 StorageMgmtIp: {get_attr: [StorageMgmtVirtualIP, ip_address]}
1107 # No tenant VIP required
1110 type: OS::TripleO::VipConfig
1113 type: OS::Heat::StructuredDeployments
1115 config: {get_resource: VipConfig}
1116 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1118 # service VIP mappings
1119 keystone_admin_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
1120 keystone_public_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
1121 neutron_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
1122 cinder_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
1123 glance_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
1124 glance_registry_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
1125 swift_proxy_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
1126 nova_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
1127 nova_metadata_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaMetadataNetwork]}]}
1128 ceilometer_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
1129 heat_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
1130 horizon_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HorizonNetwork]}]}
1131 redis_vip: {get_attr: [RedisVirtualIP, ip_address]}
1132 mysql_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
1133 rabbit_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]}
1134 # direct configuration of Virtual IPs for each network
1135 control_virtual_ip: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
1136 public_virtual_ip: {get_attr: [PublicVirtualIP, ip_address]}
1137 internal_api_virtual_ip: {get_attr: [InternalApiVirtualIP, ip_address]}
1138 storage_virtual_ip: {get_attr: [StorageVirtualIP, ip_address]}
1139 storage_mgmt_virtual_ip: {get_attr: [StorageMgmtVirtualIP, ip_address]}
1141 ControllerBootstrapNodeConfig:
1142 type: OS::TripleO::BootstrapNode::SoftwareConfig
1144 bootstrap_nodeid: {get_attr: [Controller, resource.0.hostname]}
1145 bootstrap_nodeid_ip: {get_attr: [Controller, resource.0.ip_address]}
1147 ControllerBootstrapNodeDeployment:
1148 type: OS::Heat::StructuredDeployments
1150 config: {get_attr: [ControllerBootstrapNodeConfig, config_id]}
1151 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1153 ControllerSwiftDeployment:
1154 type: OS::Heat::StructuredDeployments
1156 config: {get_attr: [SwiftDevicesAndProxyConfig, config_id]}
1157 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1159 ObjectStorageSwiftDeployment:
1160 type: OS::Heat::StructuredDeployments
1162 config: {get_attr: [SwiftDevicesAndProxyConfig, config_id]}
1163 servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1165 SwiftDevicesAndProxyConfig:
1166 type: OS::TripleO::SwiftDevicesAndProxy::SoftwareConfig
1168 controller_swift_devices: {get_attr: [Controller, swift_device]}
1169 object_store_swift_devices: {get_attr: [ObjectStorage, swift_device]}
1170 controller_swift_proxy_memcaches: {get_attr: [Controller, swift_proxy_memcache]}
1172 ComputeCephDeployment:
1173 type: OS::Heat::StructuredDeployments
1175 config: {get_attr: [CephClusterConfig, config_id]}
1176 servers: {get_attr: [Compute, attributes, nova_server_resource]}
1178 ControllerCephDeployment:
1179 type: OS::Heat::StructuredDeployments
1181 config: {get_attr: [CephClusterConfig, config_id]}
1182 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1184 CephStorageCephDeployment:
1185 type: OS::Heat::StructuredDeployments
1187 config: {get_attr: [CephClusterConfig, config_id]}
1188 servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1191 type: OS::TripleO::CephClusterConfig::SoftwareConfig
1193 ceph_storage_count: {get_param: CephStorageCount}
1194 ceph_fsid: {get_param: CephClusterFSID}
1195 ceph_mon_key: {get_param: CephMonKey}
1196 ceph_admin_key: {get_param: CephAdminKey}
1197 ceph_client_key: {get_param: CephClientKey}
1198 ceph_external_mon_ips: {get_param: CephExternalMonHost}
1199 ceph_mon_names: {get_attr: [Controller, hostname]}
1200 ceph_mon_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, CephPublicNetwork]}]}
1202 ControllerClusterConfig:
1203 type: OS::Heat::StructuredConfig
1205 group: os-apply-config
1208 nodes: {get_attr: [Controller, corosync_node]}
1212 nodes: {get_attr: [Controller, hostname]}
1214 nodes: {get_attr: [Controller, corosync_node]}
1216 nodes: {get_attr: [Controller, corosync_node]}
1218 ControllerClusterDeployment:
1219 type: OS::Heat::StructuredDeployments
1221 config: {get_resource: ControllerClusterConfig}
1222 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1224 ControllerAllNodesDeployment:
1225 type: OS::Heat::StructuredDeployments
1227 config: {get_attr: [allNodesConfig, config_id]}
1228 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1230 ComputeAllNodesDeployment:
1231 type: OS::Heat::StructuredDeployments
1233 config: {get_attr: [allNodesConfig, config_id]}
1234 servers: {get_attr: [Compute, attributes, nova_server_resource]}
1236 BlockStorageAllNodesDeployment:
1237 type: OS::Heat::StructuredDeployments
1239 config: {get_attr: [allNodesConfig, config_id]}
1240 servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
1242 ObjectStorageAllNodesDeployment:
1243 type: OS::Heat::StructuredDeployments
1245 config: {get_attr: [allNodesConfig, config_id]}
1246 servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1248 CephStorageAllNodesDeployment:
1249 type: OS::Heat::StructuredDeployments
1251 config: {get_attr: [allNodesConfig, config_id]}
1252 servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1254 # Nested stack deployment runs after all other controller deployments
1255 ControllerNodesPostDeployment:
1256 type: OS::TripleO::ControllerPostDeployment
1257 depends_on: [ControllerBootstrapNodeDeployment, ControllerAllNodesDeployment, ControllerSwiftDeployment, ControllerCephDeployment]
1259 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1260 NodeConfigIdentifiers: {get_attr: [Controller, attributes, config_identifier]}
1262 ComputeNodesPostDeployment:
1263 type: OS::TripleO::ComputePostDeployment
1264 depends_on: [ComputeAllNodesDeployment, ComputeCephDeployment]
1266 servers: {get_attr: [Compute, attributes, nova_server_resource]}
1267 NodeConfigIdentifiers: {get_attr: [Compute, attributes, config_identifier]}
1269 ObjectStorageNodesPostDeployment:
1270 type: OS::TripleO::ObjectStoragePostDeployment
1271 depends_on: [ObjectStorageSwiftDeployment, ObjectStorageAllNodesDeployment]
1273 servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1274 NodeConfigIdentifiers: {get_attr: [ObjectStorage, attributes, config_identifier]}
1277 BlockStorageNodesPostDeployment:
1278 type: OS::TripleO::BlockStoragePostDeployment
1279 depends_on: [ControllerNodesPostDeployment, BlockStorageAllNodesDeployment]
1281 servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
1282 NodeConfigIdentifiers: {get_attr: [BlockStorage, attributes, config_identifier]}
1284 CephStorageNodesPostDeployment:
1285 type: OS::TripleO::CephStoragePostDeployment
1286 depends_on: [ControllerNodesPostDeployment, CephStorageCephDeployment, CephStorageAllNodesDeployment]
1288 servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1289 NodeConfigIdentifiers: {get_attr: [CephStorage, attributes, config_identifier]}
1293 description: URL for the Overcloud Keystone service
1298 - {get_attr: [PublicVirtualIP, ip_address]}
1301 description: Controller VIP for public API endpoints
1302 value: {get_attr: [PublicVirtualIP, ip_address]}
1303 CeilometerInternalVip:
1304 description: VIP for Ceilometer API internal endpoint
1305 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
1307 description: VIP for Cinder API internal endpoint
1308 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
1310 description: VIP for Glance API internal endpoint
1311 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
1313 description: VIP for Heat API internal endpoint
1314 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
1315 KeystoneInternalVip:
1316 description: VIP for Keystone API internal endpoint
1317 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
1319 description: VIP for Neutron API internal endpoint
1320 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
1322 description: VIP for Nova API internal endpoint
1323 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
1325 description: VIP for Swift Proxy internal endpoint
1326 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}