1 heat_template_version: 2015-04-30
4 OpenStack control plane node. Can be wrapped in a ResourceGroup for scaling.
9 description: The password for the keystone admin account, used for monitoring, querying neutron etc.
14 description: The keystone auth secret and db password.
19 description: The ceilometer backend type.
21 CeilometerMeteringSecret:
23 description: Secret shared by the ceilometer services.
28 description: The password for the ceilometer service and db account.
31 CinderEnableIscsiBackend:
33 description: Whether to enable or not the Iscsi backend for Cinder
35 CinderEnableRbdBackend:
37 description: Whether to enable or not the Rbd backend for Cinder
41 description: The iSCSI helper to use with cinder.
43 CinderLVMLoopDeviceSize:
45 description: The size of the loopback file used by the cinder LVM driver.
49 description: The password for the cinder service and db account, used by cinder-api.
54 description: The DNS name of this cloud. E.g. ci-overcloud.tripleo.org
56 ControllerExtraConfig:
59 Controller specific configuration to inject into the cluster. Same
60 structure as ExtraConfig.
62 ControlVirtualInterface:
64 description: Interface where virtual ip will be assigned.
68 description: Set to True to enable debugging on all services.
72 description: Whether to use Galera instead of regular MariaDB.
76 description: Whether to deploy Ceph Storage (OSD) on the Controller
80 description: Whether to enable Swift Storage on the Controller
85 Additional configuration to inject into the cluster. The JSON should have
86 the following structure:
89 [{"section": "SECTIONNAME",
91 [{"option": "OPTIONNAME",
102 [{"section": "default",
104 [{"option": "compute_manager",
105 "value": "ironic.nova.compute.manager.ClusterComputeManager"
111 [{"option": "driver",
112 "value": "nova.cells.rpc_driver.CellsRPCDriver"
121 description: Flavor for control nodes to request when deploying.
124 - custom_constraint: nova.flavor
125 GlanceNotifierStrategy:
126 description: Strategy to use for Glance notification queue
130 description: The filepath of the file to use for logging messages from Glance.
135 description: The password for the glance service and db account, used by the glance services.
140 description: Glance port.
144 description: Protocol to use when connecting to glance, set to https for SSL.
148 description: The short name of the Glance backend to use. Should be one
149 of swift, rbd, or file
152 - allowed_values: ['swift', 'file', 'rbd']
155 description: The password for the Heat service and db account, used by the Heat services.
158 HeatStackDomainAdminPassword:
159 description: Password for heat_domain_admin user.
163 HeatAuthEncryptionKey:
164 description: Auth encryption key for heat-engine
167 description: Secret key for Django
171 default: overcloud-control
173 - custom_constraint: glance.image
175 default: 'REBUILD_PRESERVE_EPHEMERAL'
176 description: What policy to use when reconstructing instances. REBUILD for rebuilds, REBUILD_PRESERVE_EPHEMERAL to preserve /mnt.
180 description: Name of an existing EC2 KeyPair to enable SSH access to the instances
183 - custom_constraint: nova.keypair
184 KeystoneCACertificate:
186 description: Keystone self-signed certificate authority certificate.
188 KeystoneSigningCertificate:
190 description: Keystone certificate for verifying token validity.
194 description: Keystone key for signing tokens.
197 KeystoneSSLCertificate:
199 description: Keystone certificate for verifying token validity.
201 KeystoneSSLCertificateKey:
203 description: Keystone key for signing tokens.
206 MysqlClusterUniquePart:
207 description: A unique identifier of the MySQL cluster the controller is in.
209 default: 'unset' # Has to be here because of the ignored empty value bug
210 # Drop the validation: https://bugs.launchpad.net/tripleo/+bug/1405446
212 # - length: {min: 4, max: 10}
213 MysqlInnodbBufferPoolSize:
215 Specifies the size of the buffer pool in megabytes. Setting to
216 zero should be interpreted as "no value" and will defer to the
223 default: '' # Has to be here because of the ignored empty value bug
224 NeutronBridgeMappings:
226 The OVS logical->physical bridge mappings to use. See the Neutron
227 documentation for details. Defaults to mapping br-ex - the external
228 bridge on hosts - to a physical name 'datacentre' which can be used
229 to create provider networks (and we use this for the default floating
230 network) - if changing this either use different post-install network
231 scripts or be sure to keep 'datacentre' as a mapping network name.
233 default: "datacentre:br-ex"
234 NeutronDnsmasqOptions:
235 default: 'dhcp-option-force=26,1400'
236 description: Dnsmasq options for neutron-dhcp-agent. The default value here forces MTU to be set to 1400 to account for the gre tunnel overhead.
240 description: Agent mode for the neutron-l3-agent on the controller hosts
244 description: Whether to configure Neutron Distributed Virtual Routers
246 NeutronMetadataProxySharedSecret:
248 description: Shared secret to prevent spoofing
250 NeutronMechanismDrivers:
251 default: 'openvswitch'
253 The mechanism drivers for the Neutron tenant network. To specify multiple
254 values, use a comma separated string, like so: 'openvswitch,l2_population'
256 NeutronAllowL3AgentFailover:
258 description: Allow automatic l3-agent failover
262 description: Whether to enable l3-agent HA
264 NeutronEnableTunnelling:
269 default: 'datacentre'
270 description: If set, flat networks to configure in neutron plugins.
273 description: The tenant network type for Neutron, either gre or vxlan.
275 NeutronNetworkVLANRanges:
276 default: 'datacentre'
278 The Neutron ML2 and OpenVSwitch vlan mapping range to support. See the
279 Neutron documentation for permitted values. Defaults to permitting any
280 VLAN on the 'datacentre' physical network (See NeutronBridgeMappings).
281 type: comma_delimited_list
284 description: The password for the neutron service and db account, used by neutron agents.
287 NeutronPublicInterface:
289 description: What interface to bridge onto br-ex for network nodes.
291 NeutronPublicInterfaceTag:
294 VLAN tag for creating a public VLAN. The tag will be used to
295 create an access port on the exterior bridge for each control plane node,
296 and that port will be given the IP address returned by neutron from the
297 public network. Set CONTROLEXTRA=overcloud-vlan-port.yaml when compiling
298 overcloud.yaml to include the deployment of VLAN ports to the control
301 NeutronPublicInterfaceDefaultRoute:
303 description: A custom default route for the NeutronPublicInterface.
305 NeutronPublicInterfaceIP:
307 description: A custom IP address to put onto the NeutronPublicInterface.
309 NeutronPublicInterfaceRawDevice:
311 description: If set, the public interface is a vlan with this device as the raw device.
316 The tunnel types for the Neutron tenant network. To specify multiple
317 values, use a comma separated string, like so: 'gre,vxlan'
321 description: The password for the nova service and db account, used by nova-api.
329 description: The password for the 'pcsd' user.
330 PublicVirtualInterface:
333 Specifies the interface where the public-facing virtual ip will be assigned.
334 This should be int_public when a VLAN is being used.
338 default: '' # Has to be here because of the ignored empty value bug
341 default: '' # Has to be here because of the ignored empty value bug
345 description: The password for RabbitMQ
350 description: The username for RabbitMQ
355 Rabbit client subscriber parameter to specify
356 an SSL connection to the RabbitMQ host.
360 description: Set rabbit subscriber port, change this if using SSL
364 default: '' # Has to be here because of the ignored empty value bug
365 SnmpdReadonlyUserName:
366 default: ro_snmp_user
367 description: The user name for SNMPd with readonly rights running on all Overcloud nodes
369 SnmpdReadonlyUserPassword:
371 description: The user password for SNMPd with readonly rights running on all Overcloud nodes
376 description: If set, the contents of an SSL certificate authority file.
380 description: If set, the contents of an SSL certificate .crt file for encrypting SSL endpoints.
385 description: If set, the contents of an SSL certificate .key file for encrypting SSL endpoints.
390 description: A random string to be used as a salt when hashing to determine mappings
396 description: Value of mount_check in Swift account/container/object -server.conf
401 description: The minimum time (in hours) before a partition in a ring can be moved following a rebalance.
404 description: Partition Power to use when building Swift rings
408 description: The password for the swift service account, used by the swift proxy
415 description: How many replicas to use in the swift rings.
418 default: '' # Has to be here because of the ignored empty value bug
428 KeystonePublicApiVirtualIP:
436 description: Mapping of service_name -> network name. Typically set
437 via parameter_defaults in the resource registry.
443 Setting to a previously unused value during stack-update will trigger
444 package update on all nodes
449 type: OS::Nova::Server
451 image: {get_param: Image}
452 image_update_policy: {get_param: ImageUpdatePolicy}
453 flavor: {get_param: Flavor}
454 key_name: {get_param: KeyName}
457 user_data_format: SOFTWARE_CONFIG
458 user_data: {get_resource: NodeUserData}
461 type: OS::TripleO::NodeUserData
464 type: OS::TripleO::Controller::Ports::ExternalPort
466 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
469 type: OS::TripleO::Controller::Ports::InternalApiPort
471 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
474 type: OS::TripleO::Controller::Ports::StoragePort
476 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
479 type: OS::TripleO::Controller::Ports::StorageMgmtPort
481 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
484 type: OS::TripleO::Controller::Ports::TenantPort
486 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
489 type: OS::TripleO::Controller::Net::SoftwareConfig
491 ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]}
492 InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
493 StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
494 StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
495 TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
498 type: OS::TripleO::SoftwareDeployment
500 signal_transport: NO_SIGNAL
501 config: {get_resource: NetworkConfig}
502 server: {get_resource: Controller}
505 interface_name: {get_param: NeutronPublicInterface}
507 ControllerPassthroughConfig:
508 type: OS::Heat::StructuredConfig
510 group: os-apply-config
511 config: {get_input: passthrough_config}
513 ControllerPassthroughConfigSpecific:
514 type: OS::Heat::StructuredConfig
516 group: os-apply-config
517 config: {get_input: passthrough_config_specific}
520 type: OS::Heat::StructuredConfig
522 group: os-apply-config
524 admin-password: {get_input: admin_password}
525 admin-token: {get_input: admin_token}
527 public_interface_ip: {get_input: neutron_public_interface_ip}
529 nodeid: {get_input: bootstack_nodeid}
531 db: {get_input: cinder_dsn}
532 debug: {get_input: debug}
533 volume_size_mb: {get_input: cinder_lvm_loop_device_size}
534 service-password: {get_input: cinder_password}
535 iscsi-helper: {get_input: CinderISCSIHelper}
536 controller-address: {get_input: controller_host}
538 bindnetaddr: {get_input: controller_host}
541 stonith_enabled : false
543 quorum_policy : ignore
547 host: {get_input: controller_virtual_ip}
549 db: {get_input: glance_dsn}
550 debug: {get_input: debug}
551 host: {get_input: controller_virtual_ip}
552 port: {get_input: glance_port}
553 protocol: {get_input: glance_protocol}
554 service-password: {get_input: glance_password}
555 swift-store-user: service:glance
556 swift-store-key: {get_input: glance_password}
557 notifier-strategy: {get_input: glance_notifier_strategy}
558 log-file: {get_input: glance_log_file}
560 admin_password: {get_input: heat_password}
561 admin_tenant_name: service
563 auth_encryption_key: {get_input: heat_auth_encryption_key}
564 db: {get_input: heat_dsn}
565 debug: {get_input: debug}
566 stack_domain_admin_password: {get_input: heat_stack_domain_admin_password}
567 watch_server_url: {get_input: heat.watch_server_url}
568 metadata_server_url: {get_input: heat.metadata_server_url}
569 waitcondition_server_url: {get_input: heat.waitcondition_server_url}
571 db: {get_input: keystone_dsn}
572 debug: {get_input: debug}
573 host: {get_input: controller_virtual_ip}
574 ca_certificate: {get_input: keystone_ca_certificate}
575 signing_key: {get_input: keystone_signing_key}
576 signing_certificate: {get_input: keystone_signing_certificate}
578 certificate: {get_input: keystone_ssl_certificate}
579 certificate_key: {get_input: keystone_ssl_certificate_key}
581 innodb_buffer_pool_size: {get_input: mysql_innodb_buffer_pool_size}
583 root-password: {get_input: mysql_root_password}
584 cluster_name: {get_input: mysql_cluster_name}
586 debug: {get_input: debug}
587 flat-networks: {get_input: neutron_flat_networks}
588 host: {get_input: controller_virtual_ip}
589 metadata_proxy_shared_secret: {get_input: neutron_metadata_proxy_shared_secret}
590 agent_mode: {get_input: neutron_agent_mode}
591 router_distributed: {get_input: neutron_router_distributed}
592 mechanism_drivers: {get_input: neutron_mechanism_drivers}
593 allow_automatic_l3agent_failover: {get_input: neutron_allow_l3agent_failover}
594 l3_ha: {get_input: neutron_l3_ha}
596 enable_tunneling: {get_input: neutron_enable_tunneling}
597 local_ip: {get_input: controller_host}
598 network_vlan_ranges: {get_input: neutron_network_vlan_ranges}
599 bridge_mappings: {get_input: neutron_bridge_mappings}
600 public_interface: {get_input: neutron_public_interface}
601 public_interface_raw_device: {get_input: neutron_public_interface_raw_device}
602 public_interface_route: {get_input: neutron_public_interface_default_route}
603 public_interface_tag: {get_input: neutron_public_interface_tag}
604 physical_bridge: br-ex
605 tenant_network_type: {get_input: neutron_tenant_network_type}
606 tunnel_types: {get_input: neutron_tunnel_types}
607 ovs_db: {get_input: neutron_dsn}
608 service-password: {get_input: neutron_password}
609 dnsmasq-options: {get_input: neutron_dnsmasq_options}
611 db: {get_input: ceilometer_dsn}
612 debug: {get_input: debug}
613 metering_secret: {get_input: ceilometer_metering_secret}
614 service-password: {get_input: ceilometer_password}
616 export_MIB: UCD-SNMP-MIB
617 readonly_user_name: {get_input: snmpd_readonly_user_name}
618 readonly_user_password: {get_input: snmpd_readonly_user_password}
620 compute_driver: libvirt.LibvirtDriver
621 db: {get_input: nova_dsn}
622 default_floating_pool:
624 host: {get_input: controller_virtual_ip}
626 service-password: {get_input: nova_password}
628 host: {get_input: controller_virtual_ip}
629 username: {get_input: rabbit_username}
630 password: {get_input: rabbit_password}
631 cookie: {get_input: rabbit_cookie}
632 rabbit_client_use_ssl: {get_input: rabbit_client_use_ssl}
633 rabbit_port: {get_input: rabbit_client_port}
636 - {server: {get_input: ntp_server}}
639 - vrrp_instance_name: VI_CONTROL
640 virtual_router_id: 51
641 keepalive_interface: {get_input: control_virtual_interface}
644 - ip: {get_input: controller_virtual_ip}
645 interface: {get_input: control_virtual_interface}
646 - vrrp_instance_name: VI_PUBLIC
647 virtual_router_id: 52
648 keepalive_interface: {get_input: public_virtual_interface}
651 - ip: {get_input: public_virtual_ip}
652 interface: {get_input: public_virtual_interface}
659 keepalive_interface: {get_input: public_virtual_interface}
663 ip: {get_input: controller_virtual_ip}
664 interface: {get_input: control_virtual_interface}
666 ip: {get_input: public_virtual_ip}
667 interface: {get_input: public_virtual_interface}
670 - ip: {get_input: controller_virtual_ip}
672 - option httpchk GET /
674 - name: keystone_admin
676 net_binds: &public_binds
677 - ip: {get_input: controller_virtual_ip}
678 - ip: {get_input: public_virtual_ip}
679 - name: keystone_public
681 net_binds: *public_binds
684 net_binds: *public_binds
687 net_binds: *public_binds
690 net_binds: *public_binds
693 net_binds: *public_binds
694 - name: glance_registry
696 net_binds: *public_binds
697 options: # overwrite options as glace_reg needs auth for http req
700 net_binds: *public_binds
701 - name: heat_cloudwatch
703 net_binds: *public_binds
706 net_binds: *public_binds
718 net_binds: *public_binds
719 - name: nova_metadata
721 net_binds: *public_binds
722 - name: nova_novncproxy
724 net_binds: *public_binds
727 net_binds: *public_binds
728 options: # overwrite options as ceil needs auth for http req
729 - name: swift_proxy_server
731 net_binds: *public_binds
733 - option httpchk GET /info
741 ControllerDeployment:
742 type: OS::TripleO::SoftwareDeployment
744 signal_transport: NO_SIGNAL
745 config: {get_resource: ControllerConfig}
746 server: {get_resource: Controller}
748 bootstack_nodeid: {get_attr: [Controller, name]}
749 controller_host: {get_attr: [Controller, networks, ctlplane, 0]}
750 controller_virtual_ip: {get_param: VirtualIP}
751 neutron_enable_tunneling: {get_param: NeutronEnableTunnelling}
752 heat.watch_server_url:
756 - {get_param: VirtualIP}
758 heat.metadata_server_url:
762 - {get_param: VirtualIP}
764 heat.waitcondition_server_url:
768 - {get_param: VirtualIP}
769 - ':8000/v1/waitcondition'
770 admin_password: {get_param: AdminPassword}
771 admin_token: {get_param: AdminToken}
772 neutron_public_interface_ip: {get_param: NeutronPublicInterfaceIP}
773 debug: {get_param: Debug}
774 cinder_lvm_loop_device_size: {get_param: CinderLVMLoopDeviceSize}
775 cinder_password: {get_param: CinderPassword}
776 cinder_iscsi_helper: {get_param: CinderISCSIHelper}
780 - - 'mysql://cinder:'
781 - {get_param: CinderPassword}
783 - {get_param: VirtualIP}
785 glance_port: {get_param: GlancePort}
786 glance_protocol: {get_param: GlanceProtocol}
787 glance_password: {get_param: GlancePassword}
788 glance_notifier_strategy: {get_param: GlanceNotifierStrategy}
789 glance_log_file: {get_param: GlanceLogFile}
793 - - 'mysql://glance:'
794 - {get_param: GlancePassword}
796 - {get_param: VirtualIP}
798 heat_password: {get_param: HeatPassword}
799 heat_stack_domain_admin_password: {get_param: HeatStackDomainAdminPassword}
800 heat_auth_encryption_key: {get_param: HeatAuthEncryptionKey}
805 - {get_param: HeatPassword}
807 - {get_param: VirtualIP}
809 keystone_ca_certificate: {get_param: KeystoneCACertificate}
810 keystone_signing_key: {get_param: KeystoneSigningKey}
811 keystone_signing_certificate: {get_param: KeystoneSigningCertificate}
812 keystone_ssl_certificate: {get_param: KeystoneSSLCertificate}
813 keystone_ssl_certificate_key: {get_param: KeystoneSSLCertificateKey}
817 - - 'mysql://keystone:'
818 - {get_param: AdminToken}
820 - {get_param: VirtualIP}
822 mysql_innodb_buffer_pool_size: {get_param: MysqlInnodbBufferPoolSize}
823 mysql_root_password: {get_param: MysqlRootPassword}
826 template: tripleo-CLUSTER
828 CLUSTER: {get_param: MysqlClusterUniquePart}
829 neutron_flat_networks: {get_param: NeutronFlatNetworks}
830 neutron_metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
831 neutron_agent_mode: {get_param: NeutronAgentMode}
832 neutron_router_distributed: {get_param: NeutronDVR}
833 neutron_mechanism_drivers: {get_param: NeutronMechanismDrivers}
834 neutron_allow_l3agent_failover: {get_param: NeutronAllowL3AgentFailover}
835 neutron_l3_ha: {get_param: NeutronL3HA}
836 neutron_network_vlan_ranges: {get_param: NeutronNetworkVLANRanges}
837 neutron_bridge_mappings: {get_param: NeutronBridgeMappings}
838 neutron_public_interface: {get_param: NeutronPublicInterface}
839 neutron_public_interface_raw_device: {get_param: NeutronPublicInterfaceRawDevice}
840 neutron_public_interface_default_route: {get_param: NeutronPublicInterfaceDefaultRoute}
841 neutron_public_interface_tag: {get_param: NeutronPublicInterfaceTag}
842 neutron_tenant_network_type: {get_param: NeutronNetworkType}
843 neutron_tunnel_types: {get_param: NeutronTunnelTypes}
844 neutron_password: {get_param: NeutronPassword}
845 neutron_dnsmasq_options: {get_param: NeutronDnsmasqOptions}
849 - - 'mysql://neutron:'
850 - {get_param: NeutronPassword}
852 - {get_param: VirtualIP}
853 - '/ovs_neutron?charset=utf8'
854 ceilometer_metering_secret: {get_param: CeilometerMeteringSecret}
855 ceilometer_password: {get_param: CeilometerPassword}
859 - - 'mysql://ceilometer:'
860 - {get_param: CeilometerPassword}
862 - {get_param: VirtualIP}
864 snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName}
865 snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword}
866 nova_password: {get_param: NovaPassword}
871 - {get_param: NovaPassword}
873 - {get_param: VirtualIP}
875 rabbit_username: {get_param: RabbitUserName}
876 rabbit_password: {get_param: RabbitPassword}
877 rabbit_cookie: {get_param: RabbitCookie}
878 rabbit_client_use_ssl: {get_param: RabbitClientUseSSL}
879 rabbit_client_port: {get_param: RabbitClientPort}
880 ntp_server: {get_param: NtpServer}
881 control_virtual_interface: {get_param: ControlVirtualInterface}
882 public_virtual_interface: {get_param: PublicVirtualInterface}
883 public_virtual_ip: {get_param: PublicVirtualIP}
886 type: OS::Heat::StructuredConfig
888 group: os-apply-config
891 ca_certificate: {get_input: ssl_ca_certificate}
893 cert: {get_input: ssl_certificate}
894 key: {get_input: ssl_key}
895 cacert: {get_input: ssl_ca_certificate}
900 connect_host: {get_input: controller_host}
904 connect_host: {get_input: controller_host}
908 connect_host: {get_input: controller_host}
912 connect_host: {get_input: controller_host}
916 connect_host: {get_input: controller_host}
917 - name: 'swift-proxy'
920 connect_host: {get_input: controller_host}
924 connect_host: {get_input: controller_host}
928 connect_host: {get_input: controller_host}
930 ControllerSSLDeployment:
931 type: OS::Heat::StructuredDeployment
933 config: {get_resource: SSLConfig}
934 server: {get_resource: Controller}
935 signal_transport: NO_SIGNAL
937 controller_host: {get_attr: [Controller, networks, ctlplane, 0]}
938 ssl_certificate: {get_param: SSLCertificate}
939 ssl_key: {get_param: SSLKey}
940 ssl_ca_certificate: {get_param: SSLCACertificate}
942 ControllerPassthroughDeployment:
943 type: OS::Heat::StructuredDeployment
945 config: {get_resource: ControllerPassthroughConfig}
946 server: {get_resource: Controller}
947 signal_transport: NO_SIGNAL
949 passthrough_config: {get_param: ExtraConfig}
951 ControllerPassthroughSpecificDeployment:
952 depends_on: [ControllerPassthroughDeployment]
953 type: OS::Heat::StructuredDeployment
955 config: {get_resource: ControllerPassthroughConfigSpecific}
956 server: {get_resource: Controller}
957 signal_transport: NO_SIGNAL
959 passthrough_config_specific: {get_param: ControllerExtraConfig}
962 type: OS::Heat::StructuredConfig
964 group: os-apply-config
967 hash: { get_input: swift_hash_suffix }
968 part-power: { get_input: swift_part_power }
969 mount-check: { get_input: swift_mount_check }
970 min-part-hours: { get_input: swift_min_part_hours }
971 replicas: {get_input: swift_replicas }
972 service-password: { get_input: swift_password }
975 type: OS::Heat::StructuredDeployment
977 server: {get_resource: Controller}
978 config: {get_resource: SwiftConfig}
979 signal_transport: NO_SIGNAL
981 swift_hash_suffix: {get_param: SwiftHashSuffix}
982 swift_mount_check: {get_param: SwiftMountCheck}
983 swift_password: {get_param: SwiftPassword}
984 swift_min_part_hours: {get_param: SwiftMinPartHours}
985 swift_part_power: {get_param: SwiftPartPower}
986 swift_replicas: { get_param: SwiftReplicas}
990 description: IP address of the server in the ctlplane network
991 value: {get_attr: [Controller, networks, ctlplane, 0]}
993 description: IP address of the server in the external network
994 value: {get_attr: [ExternalPort, ip_address]}
995 internal_api_ip_address:
996 description: IP address of the server in the internal_api network
997 value: {get_attr: [InternalApiPort, ip_address]}
999 description: IP address of the server in the storage network
1000 value: {get_attr: [StoragePort, ip_address]}
1001 storage_mgmt_ip_address:
1002 description: IP address of the server in the storage_mgmt network
1003 value: {get_attr: [StorageMgmtPort, ip_address]}
1005 description: IP address of the server in the tenant network
1006 value: {get_attr: [TenantPort, ip_address]}
1008 description: Hostname of the server
1009 value: {get_attr: [Controller, name]}
1012 Node object in the format {ip: ..., name: ...} format that the corosync
1015 ip: {get_attr: [Controller, networks, ctlplane, 0]}
1016 name: {get_attr: [Controller, name]}
1019 Server's IP address and hostname in the /etc/hosts format
1022 template: IP HOST CLOUDNAME
1024 IP: {get_attr: [Controller, networks, ctlplane, 0]}
1025 HOST: {get_attr: [Controller, name]}
1026 CLOUDNAME: {get_param: CloudName}
1027 nova_server_resource:
1028 description: Heat resource handle for the Nova compute server
1030 {get_resource: Controller}
1032 description: Swift device formatted for swift-ring-builder
1035 template: 'r1z1-IP:%PORT%/d1'
1037 IP: {get_attr: [Controller, networks, ctlplane, 0]}
1038 swift_proxy_memcache:
1039 description: Swift proxy-memcache value
1042 template: "IP:11211"
1044 IP: {get_attr: [Controller, networks, ctlplane, 0]}