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 MysqlInnodbBufferPoolSize:
412 Specifies the size of the buffer pool in megabytes. Setting to
413 zero should be interpreted as "no value" and will defer to the
418 description: Configures MySQL max_connections config setting
421 NeutronDnsmasqOptions:
422 default: 'dhcp-option-force=26,1400'
423 description: Dnsmasq options for neutron-dhcp-agent. The default value here forces MTU to be set to 1400 to account for the tunnel overhead.
425 NeutronPublicInterfaceDefaultRoute:
427 description: A custom default route for the NeutronPublicInterface.
429 NeutronPublicInterfaceIP:
431 description: A custom IP address to put onto the NeutronPublicInterface.
433 NeutronPublicInterfaceRawDevice:
435 description: If set, the public interface is a vlan with this device as the raw device.
437 PublicVirtualInterface:
440 Specifies the interface where the public-facing virtual ip will be assigned.
441 This should be int_public when a VLAN is being used.
445 description: If set, the contents of an SSL certificate .crt file for encrypting SSL endpoints.
450 description: If set, the contents of an SSL certificate .key file for encrypting SSL endpoints.
455 description: If set, the contents of an SSL certificate authority file.
459 description: A random string to be used as a salt when hashing to determine mappings in the ring.
464 description: The password for the swift service account, used by the swift proxy services.
469 description: Value of mount_check in Swift account/container/object -server.conf
474 description: The minimum time (in hours) before a partition in a ring can be moved following a rebalance.
477 description: Partition Power to use when building Swift rings
482 description: How many replicas to use in the swift rings.
484 # Compute-specific params
485 CeilometerComputeAgent:
486 description: Indicates whether the Compute agent is present and expects nova-compute to be configured accordingly
490 - allowed_values: ['', Present]
494 HypervisorNeutronPhysicalBridge:
497 An OVS bridge to create on each hypervisor. This defaults to br-ex the
498 same as the control plane nodes, as we have a uniform configuration of
499 the openvswitch agent. Typically should not need to be changed.
501 HypervisorNeutronPublicInterface:
503 description: What interface to add to the HypervisorNeutronPhysicalBridge.
505 NeutronNetworkVLANRanges:
506 default: 'datacentre'
508 The Neutron ML2 and OpenVSwitch vlan mapping range to support. See the
509 Neutron documentation for permitted values. Defaults to permitting any
510 VLAN on the 'datacentre' physical network (See NeutronBridgeMappings).
511 type: comma_delimited_list
514 default: libvirt.LibvirtDriver
515 NovaComputeExtraConfig:
518 NovaCompute specific configuration to inject into the cluster. Same
519 structure as ExtraConfig.
521 NovaComputeLibvirtType:
524 NovaEnableRbdBackend:
526 description: Whether to enable or not the Rbd backend for Nova
530 default: overcloud-compute
532 - custom_constraint: glance.image
533 OvercloudComputeFlavor:
534 description: Use this flavor
537 - custom_constraint: nova.flavor
540 NeutronTenantNetwork: tenant
541 CeilometerApiNetwork: internal_api
542 MongoDbNetwork: internal_api
543 CinderApiNetwork: internal_api
544 CinderIscsiNetwork: storage
545 GlanceApiNetwork: storage
546 GlanceRegistryNetwork: internal_api
547 KeystoneAdminApiNetwork: internal_api
548 KeystonePublicApiNetwork: internal_api
549 NeutronApiNetwork: internal_api
550 HeatApiNetwork: internal_api
551 NovaApiNetwork: internal_api
552 NovaMetadataNetwork: internal_api
553 NovaVncProxyNetwork: internal_api
554 SwiftMgmtNetwork: storage_mgmt
555 SwiftProxyNetwork: storage
556 HorizonNetwork: internal_api
557 MemcachedNetwork: internal_api
558 RabbitMqNetwork: internal_api
559 RedisNetwork: internal_api
560 MysqlNetwork: internal_api
561 CephClusterNetwork: storage_mgmt
562 CephPublicNetwork: storage
563 ControllerHostnameResolveNetwork: internal_api
564 ComputeHostnameResolveNetwork: internal_api
565 BlockStorageHostnameResolveNetwork: internal_api
566 ObjectStorageHostnameResolveNetwork: internal_api
567 CephStorageHostnameResolveNetwork: storage
568 description: Mapping of service_name -> network name. Typically set
569 via parameter_defaults in the resource registry.
572 # Block storage specific parameters
577 default: overcloud-cinder-volume
579 OvercloudBlockStorageFlavor:
580 description: Flavor for block storage nodes to request when deploying.
583 - custom_constraint: nova.flavor
584 BlockStorageExtraConfig:
587 BlockStorage specific configuration to inject into the cluster. Same
588 structure as ExtraConfig.
591 # Object storage specific parameters
595 OvercloudSwiftStorageFlavor:
596 description: Flavor for Swift storage nodes to request when deploying.
599 - custom_constraint: nova.flavor
601 default: overcloud-swift-storage
603 ObjectStorageExtraConfig:
606 ObjectStorage specific configuration to inject into the cluster. Same
607 structure as ExtraConfig.
611 # Ceph storage specific parameters
616 default: overcloud-ceph-storage
618 OvercloudCephStorageFlavor:
620 description: Flavor for Ceph storage nodes to request when deploying.
623 - custom_constraint: nova.flavor
624 CephStorageExtraConfig:
627 CephStorage specific configuration to inject into the cluster. Same
628 structure as ExtraConfig.
631 # Hostname format for each role
632 # Note %index% is translated into the index of the node, e.g 0/1/2 etc
633 # and %stackname% is replaced with OS::stack_name in the template below.
634 # If you want to use the heat generated names, pass '' (empty string).
635 ControllerHostnameFormat:
637 description: Format for Controller node hostnames
638 default: '%stackname%-controller-%index%'
639 ComputeHostnameFormat:
641 description: Format for Compute node hostnames
642 default: '%stackname%-novacompute-%index%'
643 BlockStorageHostnameFormat:
645 description: Format for BlockStorage node hostnames
646 default: '%stackname%-blockstorage-%index%'
647 ObjectStorageHostnameFormat:
649 description: Format for SwiftStorage node hostnames
650 default: '%stackname%-objectstorage-%index%'
651 CephStorageHostnameFormat:
653 description: Format for CephStorage node hostnames
654 default: '%stackname%-cephstorage-%index%'
656 # Identifiers to trigger tasks on nodes
661 Setting to a previously unused value during stack-update will trigger
662 package update on all nodes
664 # If you want to remove a specific node from a resource group, you can pass
665 # the node name or id as a <Group>RemovalPolicies parameter, for example:
666 # ComputeRemovalPolicies: [{'resource_list': ['0']}]
667 ControllerRemovalPolicies:
671 List of resources to be removed from ControllerResourceGroup when
672 doing an update which requires removal of specific resources.
673 ComputeRemovalPolicies:
677 List of resources to be removed from ComputeResourceGroup when
678 doing an update which requires removal of specific resources.
679 BlockStorageRemovalPolicies:
683 List of resources to be removed from BlockStorageResourceGroup when
684 doing an update which requires removal of specific resources.
685 ObjectStorageRemovalPolicies:
689 List of resources to be removed from ObjectStorageResourceGroup when
690 doing an update which requires removal of specific resources.
691 CephStorageRemovalPolicies:
695 List of resources to be removed from CephStorageResourceGroup when
696 doing an update which requires removal of specific resources.
701 HeatAuthEncryptionKey:
702 type: OS::Heat::RandomString
705 type: OS::Heat::RandomString
710 type: OS::Heat::RandomString
715 type: OS::Heat::ResourceGroup
718 count: {get_param: ControllerCount}
719 removal_policies: {get_param: ControllerRemovalPolicies}
721 type: OS::TripleO::Controller
723 AdminPassword: {get_param: AdminPassword}
724 AdminToken: {get_param: AdminToken}
725 CeilometerBackend: {get_param: CeilometerBackend}
726 CeilometerMeteringSecret: {get_param: CeilometerMeteringSecret}
727 CeilometerPassword: {get_param: CeilometerPassword}
728 CinderLVMLoopDeviceSize: {get_param: CinderLVMLoopDeviceSize}
729 CinderNfsMountOptions: {get_param: CinderNfsMountOptions}
730 CinderNfsServers: {get_param: CinderNfsServers}
731 CinderPassword: {get_param: CinderPassword}
732 CinderISCSIHelper: {get_param: CinderISCSIHelper}
733 CinderEnableNfsBackend: {get_param: CinderEnableNfsBackend}
734 CinderEnableIscsiBackend: {get_param: CinderEnableIscsiBackend}
735 CinderEnableRbdBackend: {get_param: CinderEnableRbdBackend}
736 CloudName: {get_param: CloudName}
737 ControlVirtualInterface: {get_param: ControlVirtualInterface}
738 ControllerExtraConfig: {get_param: controllerExtraConfig}
739 Debug: {get_param: Debug}
740 EnableFencing: {get_param: EnableFencing}
741 EnableGalera: {get_param: EnableGalera}
742 EnableCephStorage: {get_param: ControllerEnableCephStorage}
743 EnableSwiftStorage: {get_param: ControllerEnableSwiftStorage}
744 ExtraConfig: {get_param: ExtraConfig}
745 FencingConfig: {get_param: FencingConfig}
746 Flavor: {get_param: OvercloudControlFlavor}
747 GlancePort: {get_param: GlancePort}
748 GlanceProtocol: {get_param: GlanceProtocol}
749 GlancePassword: {get_param: GlancePassword}
750 GlanceBackend: {get_param: GlanceBackend}
751 GlanceNotifierStrategy: {get_param: GlanceNotifierStrategy}
752 GlanceLogFile: {get_param: GlanceLogFile}
753 HeatPassword: {get_param: HeatPassword}
754 HeatStackDomainAdminPassword: {get_param: HeatStackDomainAdminPassword}
755 HeatAuthEncryptionKey: {get_resource: HeatAuthEncryptionKey}
756 HorizonSecret: {get_resource: HorizonSecret}
757 Image: {get_param: controllerImage}
758 ImageUpdatePolicy: {get_param: ImageUpdatePolicy}
759 KeyName: {get_param: KeyName}
760 KeystoneCACertificate: {get_param: KeystoneCACertificate}
761 KeystoneSigningCertificate: {get_param: KeystoneSigningCertificate}
762 KeystoneSigningKey: {get_param: KeystoneSigningKey}
763 KeystoneSSLCertificate: {get_param: KeystoneSSLCertificate}
764 KeystoneSSLCertificateKey: {get_param: KeystoneSSLCertificateKey}
765 MysqlClusterUniquePart: {get_attr: [MysqlClusterUniquePart, value]}
766 MysqlInnodbBufferPoolSize: {get_param: MysqlInnodbBufferPoolSize}
767 MysqlMaxConnections: {get_param: MysqlMaxConnections}
768 MysqlRootPassword: {get_attr: [MysqlRootPassword, value]}
769 NeutronPublicInterfaceIP: {get_param: NeutronPublicInterfaceIP}
770 NeutronFlatNetworks: {get_param: NeutronFlatNetworks}
771 NeutronBridgeMappings: {get_param: NeutronBridgeMappings}
772 NeutronExternalNetworkBridge: {get_param: NeutronExternalNetworkBridge}
773 NeutronEnableTunnelling: {get_param: NeutronEnableTunnelling}
774 NeutronNetworkVLANRanges: {get_param: NeutronNetworkVLANRanges}
775 NeutronPublicInterface: {get_param: NeutronPublicInterface}
776 NeutronPublicInterfaceDefaultRoute: {get_param: NeutronPublicInterfaceDefaultRoute}
777 NeutronPublicInterfaceRawDevice: {get_param: NeutronPublicInterfaceRawDevice}
778 NeutronPassword: {get_param: NeutronPassword}
779 NeutronDnsmasqOptions: {get_param: NeutronDnsmasqOptions}
780 NeutronDVR: {get_param: NeutronDVR}
781 NeutronMetadataProxySharedSecret: {get_param: NeutronMetadataProxySharedSecret}
782 NeutronAgentMode: {get_param: NeutronAgentMode}
783 NeutronMechanismDrivers: {get_param: NeutronMechanismDrivers}
784 NeutronAllowL3AgentFailover: {get_param: NeutronAllowL3AgentFailover}
785 NeutronL3HA: {get_param: NeutronL3HA}
786 NeutronDhcpAgentsPerNetwork: {get_param: NeutronDhcpAgentsPerNetwork}
787 NeutronNetworkType: {get_param: NeutronNetworkType}
788 NeutronTunnelTypes: {get_param: NeutronTunnelTypes}
789 NovaPassword: {get_param: NovaPassword}
790 NtpServer: {get_param: NtpServer}
791 MongoDbNoJournal: {get_param: MongoDbNoJournal}
792 PcsdPassword: {get_resource: PcsdPassword}
793 PublicVirtualInterface: {get_param: PublicVirtualInterface}
794 RabbitPassword: {get_param: RabbitPassword}
795 RabbitUserName: {get_param: RabbitUserName}
796 RabbitCookie: {get_attr: [RabbitCookie, value]}
797 RabbitClientUseSSL: {get_param: RabbitClientUseSSL}
798 RabbitClientPort: {get_param: RabbitClientPort}
799 SnmpdReadonlyUserName: {get_param: SnmpdReadonlyUserName}
800 SnmpdReadonlyUserPassword: {get_param: SnmpdReadonlyUserPassword}
801 RedisVirtualIP: {get_attr: [RedisVirtualIP, ip_address]}
802 SSLCertificate: {get_param: SSLCertificate}
803 SSLKey: {get_param: SSLKey}
804 SSLCACertificate: {get_param: SSLCACertificate}
805 SwiftHashSuffix: {get_param: SwiftHashSuffix}
806 SwiftMountCheck: {get_param: SwiftMountCheck}
807 SwiftMinPartHours: {get_param: SwiftMinPartHours}
808 SwiftPartPower: {get_param: SwiftPartPower}
809 SwiftPassword: {get_param: SwiftPassword}
810 SwiftReplicas: { get_param: SwiftReplicas}
811 VirtualIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]} # deprecated. Use per service VIP settings instead now.
812 PublicVirtualIP: {get_attr: [PublicVirtualIP, ip_address]}
813 ServiceNetMap: {get_param: ServiceNetMap}
814 HeatApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
815 GlanceApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
816 MysqlVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
817 KeystonePublicApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
818 NeutronApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
819 UpdateIdentifier: {get_param: UpdateIdentifier}
822 template: {get_param: ControllerHostnameFormat}
824 '%stackname%': {get_param: 'OS::stack_name'}
827 type: OS::Heat::ResourceGroup
830 count: {get_param: ComputeCount}
831 removal_policies: {get_param: ComputeRemovalPolicies}
833 type: OS::TripleO::Compute
835 AdminPassword: {get_param: AdminPassword}
836 CeilometerComputeAgent: {get_param: CeilometerComputeAgent}
837 CeilometerMeteringSecret: {get_param: CeilometerMeteringSecret}
838 CeilometerPassword: {get_param: CeilometerPassword}
839 CinderEnableNfsBackend: {get_param: CinderEnableNfsBackend}
840 Debug: {get_param: Debug}
841 ExtraConfig: {get_param: ExtraConfig}
842 Flavor: {get_param: OvercloudComputeFlavor}
843 GlanceHost: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
844 GlancePort: {get_param: GlancePort}
845 GlanceProtocol: {get_param: GlanceProtocol}
846 Image: {get_param: NovaImage}
847 ImageUpdatePolicy: {get_param: ImageUpdatePolicy}
848 KeyName: {get_param: KeyName}
849 KeystoneHost: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
850 NeutronBridgeMappings: {get_param: NeutronBridgeMappings}
851 NeutronEnableTunnelling: {get_param: NeutronEnableTunnelling}
852 NeutronFlatNetworks: {get_param: NeutronFlatNetworks}
853 NeutronHost: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
854 NeutronNetworkType: {get_param: NeutronNetworkType}
855 NeutronTunnelTypes: {get_param: NeutronTunnelTypes}
856 NeutronNetworkVLANRanges: {get_param: NeutronNetworkVLANRanges}
857 NeutronPassword: {get_param: NeutronPassword}
858 NeutronPhysicalBridge: {get_param: HypervisorNeutronPhysicalBridge}
859 NeutronPublicInterface: {get_param: HypervisorNeutronPublicInterface}
860 NeutronDVR: {get_param: NeutronDVR}
861 NeutronMetadataProxySharedSecret: {get_param: NeutronMetadataProxySharedSecret}
862 NeutronAgentMode: {get_param: NeutronComputeAgentMode}
863 NeutronPublicInterfaceRawDevice: {get_param: NeutronPublicInterfaceRawDevice}
864 NeutronMechanismDrivers: {get_param: NeutronMechanismDrivers}
865 # L3 HA and Failover is not relevant for Computes, should be removed
866 NeutronAllowL3AgentFailover: {get_param: NeutronAllowL3AgentFailover}
867 NeutronL3HA: {get_param: NeutronL3HA}
868 NovaApiHost: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
869 NovaComputeDriver: {get_param: NovaComputeDriver}
870 NovaComputeExtraConfig: {get_param: NovaComputeExtraConfig}
871 NovaComputeLibvirtType: {get_param: NovaComputeLibvirtType}
872 NovaEnableRbdBackend: {get_param: NovaEnableRbdBackend}
873 NovaPublicIP: {get_attr: [PublicVirtualIP, ip_address]}
874 NovaPassword: {get_param: NovaPassword}
875 NtpServer: {get_param: NtpServer}
876 RabbitHost: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]}
877 RabbitPassword: {get_param: RabbitPassword}
878 RabbitUserName: {get_param: RabbitUserName}
879 RabbitClientUseSSL: {get_param: RabbitClientUseSSL}
880 RabbitClientPort: {get_param: RabbitClientPort}
881 SnmpdReadonlyUserName: {get_param: SnmpdReadonlyUserName}
882 SnmpdReadonlyUserPassword: {get_param: SnmpdReadonlyUserPassword}
883 ServiceNetMap: {get_param: ServiceNetMap}
884 UpdateIdentifier: {get_param: UpdateIdentifier}
887 template: {get_param: ComputeHostnameFormat}
889 '%stackname%': {get_param: 'OS::stack_name'}
892 type: OS::Heat::ResourceGroup
895 count: {get_param: BlockStorageCount}
896 removal_policies: {get_param: BlockStorageRemovalPolicies}
898 type: OS::TripleO::BlockStorage
900 Debug: {get_param: Debug}
901 Image: {get_param: BlockStorageImage}
902 CinderISCSIHelper: {get_param: CinderISCSIHelper}
903 CinderLVMLoopDeviceSize: {get_param: CinderLVMLoopDeviceSize}
904 # Purpose of the dedicated BlockStorage nodes should be to use their local LVM
905 CinderEnableIscsiBackend: {get_param: CinderEnableIscsiBackend}
906 CinderPassword: {get_param: CinderPassword}
907 KeyName: {get_param: KeyName}
908 Flavor: {get_param: OvercloudBlockStorageFlavor}
909 VirtualIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
910 GlancePort: {get_param: GlancePort}
911 GlanceProtocol: {get_param: GlanceProtocol}
912 GlanceApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
913 RabbitPassword: {get_param: RabbitPassword}
914 RabbitUserName: {get_param: RabbitUserName}
915 RabbitClientUseSSL: {get_param: RabbitClientUseSSL}
916 RabbitClientPort: {get_param: RabbitClientPort}
917 NtpServer: {get_param: NtpServer}
918 UpdateIdentifier: {get_param: UpdateIdentifier}
921 template: {get_param: BlockStorageHostnameFormat}
923 '%stackname%': {get_param: 'OS::stack_name'}
924 ServiceNetMap: {get_param: ServiceNetMap}
925 MysqlVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
926 ExtraConfig: {get_param: ExtraConfig}
927 BlockStorageExtraConfig: {get_param: BlockStorageExtraConfig}
930 type: OS::Heat::ResourceGroup
933 count: {get_param: ObjectStorageCount}
934 removal_policies: {get_param: ObjectStorageRemovalPolicies}
936 type: OS::TripleO::ObjectStorage
938 KeyName: {get_param: KeyName}
939 Flavor: {get_param: OvercloudSwiftStorageFlavor}
940 HashSuffix: {get_param: SwiftHashSuffix}
941 MountCheck: {get_param: SwiftMountCheck}
942 MinPartHours: {get_param: SwiftMinPartHours}
943 PartPower: {get_param: SwiftPartPower}
944 Image: {get_param: SwiftStorageImage}
945 Replicas: { get_param: SwiftReplicas}
946 NtpServer: {get_param: NtpServer}
947 UpdateIdentifier: {get_param: UpdateIdentifier}
948 ServiceNetMap: {get_param: ServiceNetMap}
951 template: {get_param: ObjectStorageHostnameFormat}
953 '%stackname%': {get_param: 'OS::stack_name'}
954 ExtraConfig: {get_param: ExtraConfig}
955 ObjectStorageExtraConfig: {get_param: ObjectStorageExtraConfig}
958 type: OS::Heat::ResourceGroup
961 count: {get_param: CephStorageCount}
962 removal_policies: {get_param: CephStorageRemovalPolicies}
964 type: OS::TripleO::CephStorage
966 Image: {get_param: CephStorageImage}
967 KeyName: {get_param: KeyName}
968 Flavor: {get_param: OvercloudCephStorageFlavor}
969 NtpServer: {get_param: NtpServer}
970 ServiceNetMap: {get_param: ServiceNetMap}
971 UpdateIdentifier: {get_param: UpdateIdentifier}
974 template: {get_param: CephStorageHostnameFormat}
976 '%stackname%': {get_param: 'OS::stack_name'}
977 ExtraConfig: {get_param: ExtraConfig}
978 CephStorageExtraConfig: {get_param: CephStorageExtraConfig}
981 type: OS::TripleO::Network::Ports::NetIpListMap
983 ExternalIpList: {get_attr: [Controller, external_ip_address]}
984 InternalApiIpList: {get_attr: [Controller, internal_api_ip_address]}
985 StorageIpList: {get_attr: [Controller, storage_ip_address]}
986 StorageMgmtIpList: {get_attr: [Controller, storage_mgmt_ip_address]}
987 TenantIpList: {get_attr: [Controller, tenant_ip_address]}
990 type: OS::TripleO::AllNodes::SoftwareConfig
992 compute_hosts: {get_attr: [Compute, hosts_entry]}
993 controller_hosts: {get_attr: [Controller, hosts_entry]}
994 controller_ips: {get_attr: [Controller, ip_address]}
995 block_storage_hosts: {get_attr: [BlockStorage, hosts_entry]}
996 object_storage_hosts: {get_attr: [ObjectStorage, hosts_entry]}
997 ceph_storage_hosts: {get_attr: [CephStorage, hosts_entry]}
998 controller_names: {get_attr: [Controller, hostname]}
999 rabbit_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]}
1000 mongo_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, MongoDbNetwork]}]}
1001 redis_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, RedisNetwork]}]}
1002 memcache_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, MemcachedNetwork]}]}
1003 mysql_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
1004 horizon_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, HorizonNetwork]}]}
1005 heat_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
1006 swift_proxy_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
1007 ceilometer_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
1008 nova_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
1009 nova_metadata_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, NovaMetadataNetwork]}]}
1010 glance_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
1011 glance_registry_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
1012 cinder_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
1013 neutron_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
1014 keystone_public_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
1015 keystone_admin_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
1018 type: OS::Heat::RandomString
1022 MysqlClusterUniquePart:
1023 type: OS::Heat::RandomString
1028 type: OS::Heat::RandomString
1031 salt: {get_param: RabbitCookieSalt}
1033 # creates the network architecture
1035 type: OS::TripleO::Network
1038 type: OS::Neutron::Port
1039 depends_on: Networks
1041 name: control_virtual_ip
1042 network_id: {get_param: NeutronControlPlaneID}
1043 fixed_ips: {get_param: ControlFixedIPs}
1044 replacement_policy: AUTO
1047 depends_on: Networks
1048 type: OS::TripleO::Controller::Ports::RedisVipPort
1050 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
1051 ControlPlaneNetwork: {get_param: NeutronControlPlaneID}
1052 PortName: redis_virtual_ip
1053 NetworkName: {get_param: [ServiceNetMap, RedisNetwork]}
1055 # The public VIP is on the External net, falls back to ctlplane
1057 depends_on: Networks
1058 type: OS::TripleO::Controller::Ports::ExternalPort
1060 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
1061 ControlPlaneNetwork: {get_param: NeutronControlPlaneID}
1062 PortName: public_virtual_ip
1063 FixedIPs: {get_param: PublicVirtualFixedIPs}
1065 InternalApiVirtualIP:
1066 depends_on: Networks
1067 type: OS::TripleO::Controller::Ports::InternalApiPort
1069 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
1070 PortName: internal_api_virtual_ip
1073 depends_on: Networks
1074 type: OS::TripleO::Controller::Ports::StoragePort
1076 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
1077 PortName: storage_virtual_ip
1079 StorageMgmtVirtualIP:
1080 depends_on: Networks
1081 type: OS::TripleO::Controller::Ports::StorageMgmtPort
1083 ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
1084 PortName: storage_management_virtual_ip
1087 type: OS::TripleO::Network::Ports::NetIpMap
1089 ExternalIp: {get_attr: [PublicVirtualIP, ip_address]}
1090 InternalApiIp: {get_attr: [InternalApiVirtualIP, ip_address]}
1091 StorageIp: {get_attr: [StorageVirtualIP, ip_address]}
1092 StorageMgmtIp: {get_attr: [StorageMgmtVirtualIP, ip_address]}
1093 # No tenant VIP required
1096 type: OS::TripleO::VipConfig
1099 type: OS::Heat::StructuredDeployments
1101 config: {get_resource: VipConfig}
1102 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1104 # service VIP mappings
1105 keystone_admin_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
1106 keystone_public_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
1107 neutron_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
1108 cinder_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
1109 glance_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
1110 glance_registry_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
1111 swift_proxy_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
1112 nova_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
1113 nova_metadata_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaMetadataNetwork]}]}
1114 ceilometer_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
1115 heat_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
1116 horizon_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HorizonNetwork]}]}
1117 redis_vip: {get_attr: [RedisVirtualIP, ip_address]}
1118 mysql_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
1119 rabbit_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]}
1120 # direct configuration of Virtual IPs for each network
1121 control_virtual_ip: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
1122 public_virtual_ip: {get_attr: [PublicVirtualIP, ip_address]}
1123 internal_api_virtual_ip: {get_attr: [InternalApiVirtualIP, ip_address]}
1124 storage_virtual_ip: {get_attr: [StorageVirtualIP, ip_address]}
1125 storage_mgmt_virtual_ip: {get_attr: [StorageMgmtVirtualIP, ip_address]}
1127 ControllerBootstrapNodeConfig:
1128 type: OS::TripleO::BootstrapNode::SoftwareConfig
1130 bootstrap_nodeid: {get_attr: [Controller, resource.0.hostname]}
1131 bootstrap_nodeid_ip: {get_attr: [Controller, resource.0.ip_address]}
1133 ControllerBootstrapNodeDeployment:
1134 type: OS::Heat::StructuredDeployments
1136 config: {get_attr: [ControllerBootstrapNodeConfig, config_id]}
1137 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1139 ControllerSwiftDeployment:
1140 type: OS::Heat::StructuredDeployments
1142 config: {get_attr: [SwiftDevicesAndProxyConfig, config_id]}
1143 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1145 ObjectStorageSwiftDeployment:
1146 type: OS::Heat::StructuredDeployments
1148 config: {get_attr: [SwiftDevicesAndProxyConfig, config_id]}
1149 servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1151 SwiftDevicesAndProxyConfig:
1152 type: OS::TripleO::SwiftDevicesAndProxy::SoftwareConfig
1154 controller_swift_devices: {get_attr: [Controller, swift_device]}
1155 object_store_swift_devices: {get_attr: [ObjectStorage, swift_device]}
1156 controller_swift_proxy_memcaches: {get_attr: [Controller, swift_proxy_memcache]}
1158 ComputeCephDeployment:
1159 type: OS::Heat::StructuredDeployments
1161 config: {get_attr: [CephClusterConfig, config_id]}
1162 servers: {get_attr: [Compute, attributes, nova_server_resource]}
1164 ControllerCephDeployment:
1165 type: OS::Heat::StructuredDeployments
1167 config: {get_attr: [CephClusterConfig, config_id]}
1168 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1170 CephStorageCephDeployment:
1171 type: OS::Heat::StructuredDeployments
1173 config: {get_attr: [CephClusterConfig, config_id]}
1174 servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1177 type: OS::TripleO::CephClusterConfig::SoftwareConfig
1179 ceph_storage_count: {get_param: CephStorageCount}
1180 ceph_fsid: {get_param: CephClusterFSID}
1181 ceph_mon_key: {get_param: CephMonKey}
1182 ceph_admin_key: {get_param: CephAdminKey}
1183 ceph_client_key: {get_param: CephClientKey}
1184 ceph_external_mon_ips: {get_param: CephExternalMonHost}
1185 ceph_mon_names: {get_attr: [Controller, hostname]}
1186 ceph_mon_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, CephPublicNetwork]}]}
1188 ControllerClusterConfig:
1189 type: OS::Heat::StructuredConfig
1191 group: os-apply-config
1194 nodes: {get_attr: [Controller, corosync_node]}
1198 nodes: {get_attr: [Controller, hostname]}
1200 nodes: {get_attr: [Controller, corosync_node]}
1202 nodes: {get_attr: [Controller, corosync_node]}
1204 ControllerClusterDeployment:
1205 type: OS::Heat::StructuredDeployments
1207 config: {get_resource: ControllerClusterConfig}
1208 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1210 ControllerAllNodesDeployment:
1211 type: OS::Heat::StructuredDeployments
1213 config: {get_attr: [allNodesConfig, config_id]}
1214 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1216 ComputeAllNodesDeployment:
1217 type: OS::Heat::StructuredDeployments
1219 config: {get_attr: [allNodesConfig, config_id]}
1220 servers: {get_attr: [Compute, attributes, nova_server_resource]}
1222 BlockStorageAllNodesDeployment:
1223 type: OS::Heat::StructuredDeployments
1225 config: {get_attr: [allNodesConfig, config_id]}
1226 servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
1228 ObjectStorageAllNodesDeployment:
1229 type: OS::Heat::StructuredDeployments
1231 config: {get_attr: [allNodesConfig, config_id]}
1232 servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1234 CephStorageAllNodesDeployment:
1235 type: OS::Heat::StructuredDeployments
1237 config: {get_attr: [allNodesConfig, config_id]}
1238 servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1240 # Nested stack deployment runs after all other controller deployments
1241 ControllerNodesPostDeployment:
1242 type: OS::TripleO::ControllerPostDeployment
1243 depends_on: [ControllerBootstrapNodeDeployment, ControllerAllNodesDeployment, ControllerSwiftDeployment, ControllerCephDeployment]
1245 servers: {get_attr: [Controller, attributes, nova_server_resource]}
1246 NodeConfigIdentifiers: {get_attr: [Controller, attributes, config_identifier]}
1248 ComputeNodesPostDeployment:
1249 type: OS::TripleO::ComputePostDeployment
1250 depends_on: [ComputeAllNodesDeployment, ComputeCephDeployment]
1252 servers: {get_attr: [Compute, attributes, nova_server_resource]}
1253 NodeConfigIdentifiers: {get_attr: [Compute, attributes, config_identifier]}
1255 ObjectStorageNodesPostDeployment:
1256 type: OS::TripleO::ObjectStoragePostDeployment
1257 depends_on: [ObjectStorageSwiftDeployment, ObjectStorageAllNodesDeployment]
1259 servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]}
1260 NodeConfigIdentifiers: {get_attr: [ObjectStorage, attributes, config_identifier]}
1263 BlockStorageNodesPostDeployment:
1264 type: OS::TripleO::BlockStoragePostDeployment
1265 depends_on: [ControllerNodesPostDeployment, BlockStorageAllNodesDeployment]
1267 servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
1268 NodeConfigIdentifiers: {get_attr: [BlockStorage, attributes, config_identifier]}
1270 CephStorageNodesPostDeployment:
1271 type: OS::TripleO::CephStoragePostDeployment
1272 depends_on: [ControllerNodesPostDeployment, CephStorageCephDeployment, CephStorageAllNodesDeployment]
1274 servers: {get_attr: [CephStorage, attributes, nova_server_resource]}
1275 NodeConfigIdentifiers: {get_attr: [CephStorage, attributes, config_identifier]}
1279 description: URL for the Overcloud Keystone service
1284 - {get_attr: [PublicVirtualIP, ip_address]}
1287 description: Controller VIP for public API endpoints
1288 value: {get_attr: [PublicVirtualIP, ip_address]}
1289 CeilometerInternalVip:
1290 description: VIP for Ceilometer API internal endpoint
1291 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
1293 description: VIP for Cinder API internal endpoint
1294 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
1296 description: VIP for Glance API internal endpoint
1297 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
1299 description: VIP for Heat API internal endpoint
1300 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
1301 KeystoneInternalVip:
1302 description: VIP for Keystone API internal endpoint
1303 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
1305 description: VIP for Neutron API internal endpoint
1306 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
1308 description: VIP for Nova API internal endpoint
1309 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
1311 description: VIP for Swift Proxy internal endpoint
1312 value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}