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: If enabled services will be monitored by Pacemaker; it
77 will manage VIPs as well, in place of Keepalived.
81 description: Whether to deploy Ceph Storage (OSD) on the Controller
85 description: Whether to enable Swift Storage on the Controller
90 Additional configuration to inject into the cluster. The JSON should have
91 the following structure:
94 [{"section": "SECTIONNAME",
96 [{"option": "OPTIONNAME",
107 [{"section": "default",
109 [{"option": "compute_manager",
110 "value": "ironic.nova.compute.manager.ClusterComputeManager"
116 [{"option": "driver",
117 "value": "nova.cells.rpc_driver.CellsRPCDriver"
126 description: Flavor for control nodes to request when deploying.
129 - custom_constraint: nova.flavor
130 GlanceNotifierStrategy:
131 description: Strategy to use for Glance notification queue
135 description: The filepath of the file to use for logging messages from Glance.
140 description: The password for the glance service and db account, used by the glance services.
145 description: Glance port.
149 description: Protocol to use when connecting to glance, set to https for SSL.
153 description: The short name of the Glance backend to use. Should be one
154 of swift, rbd, or file
157 - allowed_values: ['swift', 'file', 'rbd']
160 description: The password for the Heat service and db account, used by the Heat services.
163 HeatStackDomainAdminPassword:
164 description: Password for heat_domain_admin user.
168 HeatAuthEncryptionKey:
169 description: Auth encryption key for heat-engine
172 description: Secret key for Django
176 default: overcloud-control
178 - custom_constraint: glance.image
180 default: 'REBUILD_PRESERVE_EPHEMERAL'
181 description: What policy to use when reconstructing instances. REBUILD for rebuilds, REBUILD_PRESERVE_EPHEMERAL to preserve /mnt.
185 description: Name of an existing EC2 KeyPair to enable SSH access to the instances
188 - custom_constraint: nova.keypair
189 KeystoneCACertificate:
191 description: Keystone self-signed certificate authority certificate.
193 KeystoneSigningCertificate:
195 description: Keystone certificate for verifying token validity.
199 description: Keystone key for signing tokens.
202 KeystoneSSLCertificate:
204 description: Keystone certificate for verifying token validity.
206 KeystoneSSLCertificateKey:
208 description: Keystone key for signing tokens.
211 MysqlClusterUniquePart:
212 description: A unique identifier of the MySQL cluster the controller is in.
214 default: 'unset' # Has to be here because of the ignored empty value bug
215 # Drop the validation: https://bugs.launchpad.net/tripleo/+bug/1405446
217 # - length: {min: 4, max: 10}
218 MysqlInnodbBufferPoolSize:
220 Specifies the size of the buffer pool in megabytes. Setting to
221 zero should be interpreted as "no value" and will defer to the
228 default: '' # Has to be here because of the ignored empty value bug
229 NeutronBridgeMappings:
231 The OVS logical->physical bridge mappings to use. See the Neutron
232 documentation for details. Defaults to mapping br-ex - the external
233 bridge on hosts - to a physical name 'datacentre' which can be used
234 to create provider networks (and we use this for the default floating
235 network) - if changing this either use different post-install network
236 scripts or be sure to keep 'datacentre' as a mapping network name.
238 default: "datacentre:br-ex"
239 NeutronDnsmasqOptions:
240 default: 'dhcp-option-force=26,1400'
241 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.
245 description: Agent mode for the neutron-l3-agent on the controller hosts
249 description: Whether to configure Neutron Distributed Virtual Routers
251 NeutronMetadataProxySharedSecret:
253 description: Shared secret to prevent spoofing
255 NeutronMechanismDrivers:
256 default: 'openvswitch'
258 The mechanism drivers for the Neutron tenant network. To specify multiple
259 values, use a comma separated string, like so: 'openvswitch,l2_population'
261 NeutronAllowL3AgentFailover:
263 description: Allow automatic l3-agent failover
267 description: Whether to enable l3-agent HA
269 NeutronEnableTunnelling:
274 default: 'datacentre'
275 description: If set, flat networks to configure in neutron plugins.
278 description: The tenant network type for Neutron, either gre or vxlan.
280 NeutronNetworkVLANRanges:
281 default: 'datacentre'
283 The Neutron ML2 and OpenVSwitch vlan mapping range to support. See the
284 Neutron documentation for permitted values. Defaults to permitting any
285 VLAN on the 'datacentre' physical network (See NeutronBridgeMappings).
286 type: comma_delimited_list
289 description: The password for the neutron service and db account, used by neutron agents.
292 NeutronPublicInterface:
294 description: What interface to bridge onto br-ex for network nodes.
296 NeutronPublicInterfaceTag:
299 VLAN tag for creating a public VLAN. The tag will be used to
300 create an access port on the exterior bridge for each control plane node,
301 and that port will be given the IP address returned by neutron from the
302 public network. Set CONTROLEXTRA=overcloud-vlan-port.yaml when compiling
303 overcloud.yaml to include the deployment of VLAN ports to the control
306 NeutronPublicInterfaceDefaultRoute:
308 description: A custom default route for the NeutronPublicInterface.
310 NeutronPublicInterfaceIP:
312 description: A custom IP address to put onto the NeutronPublicInterface.
314 NeutronPublicInterfaceRawDevice:
316 description: If set, the public interface is a vlan with this device as the raw device.
321 The tunnel types for the Neutron tenant network. To specify multiple
322 values, use a comma separated string, like so: 'gre,vxlan'
326 description: The password for the nova service and db account, used by nova-api.
334 description: The password for the 'pcsd' user.
335 PublicVirtualInterface:
338 Specifies the interface where the public-facing virtual ip will be assigned.
339 This should be int_public when a VLAN is being used.
343 default: '' # Has to be here because of the ignored empty value bug
346 default: '' # Has to be here because of the ignored empty value bug
350 description: The password for RabbitMQ
355 description: The username for RabbitMQ
360 Rabbit client subscriber parameter to specify
361 an SSL connection to the RabbitMQ host.
365 description: Set rabbit subscriber port, change this if using SSL
369 default: '' # Has to be here because of the ignored empty value bug
370 SnmpdReadonlyUserName:
371 default: ro_snmp_user
372 description: The user name for SNMPd with readonly rights running on all Overcloud nodes
374 SnmpdReadonlyUserPassword:
376 description: The user password for SNMPd with readonly rights running on all Overcloud nodes
381 description: If set, the contents of an SSL certificate authority file.
385 description: If set, the contents of an SSL certificate .crt file for encrypting SSL endpoints.
390 description: If set, the contents of an SSL certificate .key file for encrypting SSL endpoints.
395 description: A random string to be used as a salt when hashing to determine mappings
401 description: Value of mount_check in Swift account/container/object -server.conf
406 description: The minimum time (in hours) before a partition in a ring can be moved following a rebalance.
409 description: Partition Power to use when building Swift rings
413 description: The password for the swift service account, used by the swift proxy
420 description: How many replicas to use in the swift rings.
423 default: '' # Has to be here because of the ignored empty value bug
433 KeystonePublicApiVirtualIP:
441 description: Mapping of service_name -> network name. Typically set
442 via parameter_defaults in the resource registry.
448 type: OS::Nova::Server
450 image: {get_param: Image}
451 image_update_policy: {get_param: ImageUpdatePolicy}
452 flavor: {get_param: Flavor}
453 key_name: {get_param: KeyName}
456 user_data_format: SOFTWARE_CONFIG
457 user_data: {get_resource: NodeUserData}
460 type: OS::TripleO::NodeUserData
463 type: OS::TripleO::Controller::Ports::ExternalPort
465 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
468 type: OS::TripleO::Controller::Ports::InternalApiPort
470 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
473 type: OS::TripleO::Controller::Ports::StoragePort
475 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
478 type: OS::TripleO::Controller::Ports::StorageMgmtPort
480 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
483 type: OS::TripleO::Controller::Ports::TenantPort
485 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
488 type: OS::TripleO::Controller::Net::SoftwareConfig
490 ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]}
491 InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
492 StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
493 StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
494 TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
497 type: OS::TripleO::SoftwareDeployment
499 signal_transport: NO_SIGNAL
500 config: {get_resource: NetworkConfig}
501 server: {get_resource: Controller}
504 interface_name: {get_param: NeutronPublicInterface}
506 ControllerPassthroughConfig:
507 type: OS::Heat::StructuredConfig
509 group: os-apply-config
510 config: {get_input: passthrough_config}
512 ControllerPassthroughConfigSpecific:
513 type: OS::Heat::StructuredConfig
515 group: os-apply-config
516 config: {get_input: passthrough_config_specific}
519 type: OS::Heat::StructuredConfig
521 group: os-apply-config
523 admin-password: {get_input: admin_password}
524 admin-token: {get_input: admin_token}
526 public_interface_ip: {get_input: neutron_public_interface_ip}
528 nodeid: {get_input: bootstack_nodeid}
530 db: {get_input: cinder_dsn}
531 debug: {get_input: debug}
532 volume_size_mb: {get_input: cinder_lvm_loop_device_size}
533 service-password: {get_input: cinder_password}
534 iscsi-helper: {get_input: CinderISCSIHelper}
535 controller-address: {get_input: controller_host}
537 bindnetaddr: {get_input: controller_host}
540 stonith_enabled : false
542 quorum_policy : ignore
546 host: {get_input: controller_virtual_ip}
548 db: {get_input: glance_dsn}
549 debug: {get_input: debug}
550 host: {get_input: controller_virtual_ip}
551 port: {get_input: glance_port}
552 protocol: {get_input: glance_protocol}
553 service-password: {get_input: glance_password}
554 swift-store-user: service:glance
555 swift-store-key: {get_input: glance_password}
556 notifier-strategy: {get_input: glance_notifier_strategy}
557 log-file: {get_input: glance_log_file}
559 admin_password: {get_input: heat_password}
560 admin_tenant_name: service
562 auth_encryption_key: {get_input: heat_auth_encryption_key}
563 db: {get_input: heat_dsn}
564 debug: {get_input: debug}
565 stack_domain_admin_password: {get_input: heat_stack_domain_admin_password}
566 watch_server_url: {get_input: heat.watch_server_url}
567 metadata_server_url: {get_input: heat.metadata_server_url}
568 waitcondition_server_url: {get_input: heat.waitcondition_server_url}
570 db: {get_input: keystone_dsn}
571 debug: {get_input: debug}
572 host: {get_input: controller_virtual_ip}
573 ca_certificate: {get_input: keystone_ca_certificate}
574 signing_key: {get_input: keystone_signing_key}
575 signing_certificate: {get_input: keystone_signing_certificate}
577 certificate: {get_input: keystone_ssl_certificate}
578 certificate_key: {get_input: keystone_ssl_certificate_key}
580 innodb_buffer_pool_size: {get_input: mysql_innodb_buffer_pool_size}
582 root-password: {get_input: mysql_root_password}
583 cluster_name: {get_input: mysql_cluster_name}
585 debug: {get_input: debug}
586 flat-networks: {get_input: neutron_flat_networks}
587 host: {get_input: controller_virtual_ip}
588 metadata_proxy_shared_secret: {get_input: neutron_metadata_proxy_shared_secret}
589 agent_mode: {get_input: neutron_agent_mode}
590 router_distributed: {get_input: neutron_router_distributed}
591 mechanism_drivers: {get_input: neutron_mechanism_drivers}
592 allow_automatic_l3agent_failover: {get_input: neutron_allow_l3agent_failover}
593 l3_ha: {get_input: neutron_l3_ha}
595 enable_tunneling: {get_input: neutron_enable_tunneling}
596 local_ip: {get_input: controller_host}
597 network_vlan_ranges: {get_input: neutron_network_vlan_ranges}
598 bridge_mappings: {get_input: neutron_bridge_mappings}
599 public_interface: {get_input: neutron_public_interface}
600 public_interface_raw_device: {get_input: neutron_public_interface_raw_device}
601 public_interface_route: {get_input: neutron_public_interface_default_route}
602 public_interface_tag: {get_input: neutron_public_interface_tag}
603 physical_bridge: br-ex
604 tenant_network_type: {get_input: neutron_tenant_network_type}
605 tunnel_types: {get_input: neutron_tunnel_types}
606 ovs_db: {get_input: neutron_dsn}
607 service-password: {get_input: neutron_password}
608 dnsmasq-options: {get_input: neutron_dnsmasq_options}
610 db: {get_input: ceilometer_dsn}
611 debug: {get_input: debug}
612 metering_secret: {get_input: ceilometer_metering_secret}
613 service-password: {get_input: ceilometer_password}
615 export_MIB: UCD-SNMP-MIB
616 readonly_user_name: {get_input: snmpd_readonly_user_name}
617 readonly_user_password: {get_input: snmpd_readonly_user_password}
619 compute_driver: libvirt.LibvirtDriver
620 db: {get_input: nova_dsn}
621 default_floating_pool:
623 host: {get_input: controller_virtual_ip}
625 service-password: {get_input: nova_password}
627 host: {get_input: controller_virtual_ip}
628 username: {get_input: rabbit_username}
629 password: {get_input: rabbit_password}
630 cookie: {get_input: rabbit_cookie}
631 rabbit_client_use_ssl: {get_input: rabbit_client_use_ssl}
632 rabbit_port: {get_input: rabbit_client_port}
635 - {server: {get_input: ntp_server}}
638 - vrrp_instance_name: VI_CONTROL
639 virtual_router_id: 51
640 keepalive_interface: {get_input: control_virtual_interface}
643 - ip: {get_input: controller_virtual_ip}
644 interface: {get_input: control_virtual_interface}
645 - vrrp_instance_name: VI_PUBLIC
646 virtual_router_id: 52
647 keepalive_interface: {get_input: public_virtual_interface}
650 - ip: {get_input: public_virtual_ip}
651 interface: {get_input: public_virtual_interface}
658 keepalive_interface: {get_input: public_virtual_interface}
662 ip: {get_input: controller_virtual_ip}
663 interface: {get_input: control_virtual_interface}
665 ip: {get_input: public_virtual_ip}
666 interface: {get_input: public_virtual_interface}
669 - ip: {get_input: controller_virtual_ip}
671 - option httpchk GET /
673 - name: keystone_admin
675 net_binds: &public_binds
676 - ip: {get_input: controller_virtual_ip}
677 - ip: {get_input: public_virtual_ip}
678 - name: keystone_public
680 net_binds: *public_binds
683 net_binds: *public_binds
686 net_binds: *public_binds
689 net_binds: *public_binds
692 net_binds: *public_binds
693 - name: glance_registry
695 net_binds: *public_binds
696 options: # overwrite options as glace_reg needs auth for http req
699 net_binds: *public_binds
700 - name: heat_cloudwatch
702 net_binds: *public_binds
705 net_binds: *public_binds
717 net_binds: *public_binds
718 - name: nova_metadata
720 net_binds: *public_binds
721 - name: nova_novncproxy
723 net_binds: *public_binds
726 net_binds: *public_binds
727 options: # overwrite options as ceil needs auth for http req
728 - name: swift_proxy_server
730 net_binds: *public_binds
732 - option httpchk GET /info
740 ControllerDeployment:
741 type: OS::TripleO::SoftwareDeployment
743 signal_transport: NO_SIGNAL
744 config: {get_resource: ControllerConfig}
745 server: {get_resource: Controller}
747 bootstack_nodeid: {get_attr: [Controller, name]}
748 controller_host: {get_attr: [Controller, networks, ctlplane, 0]}
749 controller_virtual_ip: {get_param: VirtualIP}
750 neutron_enable_tunneling: {get_param: NeutronEnableTunnelling}
751 heat.watch_server_url:
755 - {get_param: VirtualIP}
757 heat.metadata_server_url:
761 - {get_param: VirtualIP}
763 heat.waitcondition_server_url:
767 - {get_param: VirtualIP}
768 - ':8000/v1/waitcondition'
769 admin_password: {get_param: AdminPassword}
770 admin_token: {get_param: AdminToken}
771 neutron_public_interface_ip: {get_param: NeutronPublicInterfaceIP}
772 debug: {get_param: Debug}
773 cinder_lvm_loop_device_size: {get_param: CinderLVMLoopDeviceSize}
774 cinder_password: {get_param: CinderPassword}
775 cinder_iscsi_helper: {get_param: CinderISCSIHelper}
779 - - 'mysql://cinder:'
780 - {get_param: CinderPassword}
782 - {get_param: VirtualIP}
784 glance_port: {get_param: GlancePort}
785 glance_protocol: {get_param: GlanceProtocol}
786 glance_password: {get_param: GlancePassword}
787 glance_notifier_strategy: {get_param: GlanceNotifierStrategy}
788 glance_log_file: {get_param: GlanceLogFile}
792 - - 'mysql://glance:'
793 - {get_param: GlancePassword}
795 - {get_param: VirtualIP}
797 heat_password: {get_param: HeatPassword}
798 heat_stack_domain_admin_password: {get_param: HeatStackDomainAdminPassword}
799 heat_auth_encryption_key: {get_param: HeatAuthEncryptionKey}
804 - {get_param: HeatPassword}
806 - {get_param: VirtualIP}
808 keystone_ca_certificate: {get_param: KeystoneCACertificate}
809 keystone_signing_key: {get_param: KeystoneSigningKey}
810 keystone_signing_certificate: {get_param: KeystoneSigningCertificate}
811 keystone_ssl_certificate: {get_param: KeystoneSSLCertificate}
812 keystone_ssl_certificate_key: {get_param: KeystoneSSLCertificateKey}
816 - - 'mysql://keystone:'
817 - {get_param: AdminToken}
819 - {get_param: VirtualIP}
821 mysql_innodb_buffer_pool_size: {get_param: MysqlInnodbBufferPoolSize}
822 mysql_root_password: {get_param: MysqlRootPassword}
825 template: tripleo-CLUSTER
827 CLUSTER: {get_param: MysqlClusterUniquePart}
828 neutron_flat_networks: {get_param: NeutronFlatNetworks}
829 neutron_metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
830 neutron_agent_mode: {get_param: NeutronAgentMode}
831 neutron_router_distributed: {get_param: NeutronDVR}
832 neutron_mechanism_drivers: {get_param: NeutronMechanismDrivers}
833 neutron_allow_l3agent_failover: {get_param: NeutronAllowL3AgentFailover}
834 neutron_l3_ha: {get_param: NeutronL3HA}
835 neutron_network_vlan_ranges: {get_param: NeutronNetworkVLANRanges}
836 neutron_bridge_mappings: {get_param: NeutronBridgeMappings}
837 neutron_public_interface: {get_param: NeutronPublicInterface}
838 neutron_public_interface_raw_device: {get_param: NeutronPublicInterfaceRawDevice}
839 neutron_public_interface_default_route: {get_param: NeutronPublicInterfaceDefaultRoute}
840 neutron_public_interface_tag: {get_param: NeutronPublicInterfaceTag}
841 neutron_tenant_network_type: {get_param: NeutronNetworkType}
842 neutron_tunnel_types: {get_param: NeutronTunnelTypes}
843 neutron_password: {get_param: NeutronPassword}
844 neutron_dnsmasq_options: {get_param: NeutronDnsmasqOptions}
848 - - 'mysql://neutron:'
849 - {get_param: NeutronPassword}
851 - {get_param: VirtualIP}
852 - '/ovs_neutron?charset=utf8'
853 ceilometer_metering_secret: {get_param: CeilometerMeteringSecret}
854 ceilometer_password: {get_param: CeilometerPassword}
858 - - 'mysql://ceilometer:'
859 - {get_param: CeilometerPassword}
861 - {get_param: VirtualIP}
863 snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName}
864 snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword}
865 nova_password: {get_param: NovaPassword}
870 - {get_param: NovaPassword}
872 - {get_param: VirtualIP}
874 rabbit_username: {get_param: RabbitUserName}
875 rabbit_password: {get_param: RabbitPassword}
876 rabbit_cookie: {get_param: RabbitCookie}
877 rabbit_client_use_ssl: {get_param: RabbitClientUseSSL}
878 rabbit_client_port: {get_param: RabbitClientPort}
879 ntp_server: {get_param: NtpServer}
880 control_virtual_interface: {get_param: ControlVirtualInterface}
881 public_virtual_interface: {get_param: PublicVirtualInterface}
882 public_virtual_ip: {get_param: PublicVirtualIP}
885 type: OS::Heat::StructuredConfig
887 group: os-apply-config
890 ca_certificate: {get_input: ssl_ca_certificate}
892 cert: {get_input: ssl_certificate}
893 key: {get_input: ssl_key}
894 cacert: {get_input: ssl_ca_certificate}
899 connect_host: {get_input: controller_host}
903 connect_host: {get_input: controller_host}
907 connect_host: {get_input: controller_host}
911 connect_host: {get_input: controller_host}
915 connect_host: {get_input: controller_host}
916 - name: 'swift-proxy'
919 connect_host: {get_input: controller_host}
923 connect_host: {get_input: controller_host}
927 connect_host: {get_input: controller_host}
929 ControllerSSLDeployment:
930 type: OS::Heat::StructuredDeployment
932 config: {get_resource: SSLConfig}
933 server: {get_resource: Controller}
934 signal_transport: NO_SIGNAL
936 controller_host: {get_attr: [Controller, networks, ctlplane, 0]}
937 ssl_certificate: {get_param: SSLCertificate}
938 ssl_key: {get_param: SSLKey}
939 ssl_ca_certificate: {get_param: SSLCACertificate}
941 ControllerPassthroughDeployment:
942 type: OS::Heat::StructuredDeployment
944 config: {get_resource: ControllerPassthroughConfig}
945 server: {get_resource: Controller}
946 signal_transport: NO_SIGNAL
948 passthrough_config: {get_param: ExtraConfig}
950 ControllerPassthroughSpecificDeployment:
951 depends_on: [ControllerPassthroughDeployment]
952 type: OS::Heat::StructuredDeployment
954 config: {get_resource: ControllerPassthroughConfigSpecific}
955 server: {get_resource: Controller}
956 signal_transport: NO_SIGNAL
958 passthrough_config_specific: {get_param: ControllerExtraConfig}
961 type: OS::Heat::StructuredConfig
963 group: os-apply-config
966 hash: { get_input: swift_hash_suffix }
967 part-power: { get_input: swift_part_power }
968 mount-check: { get_input: swift_mount_check }
969 min-part-hours: { get_input: swift_min_part_hours }
970 replicas: {get_input: swift_replicas }
971 service-password: { get_input: swift_password }
974 type: OS::Heat::StructuredDeployment
976 server: {get_resource: Controller}
977 config: {get_resource: SwiftConfig}
978 signal_transport: NO_SIGNAL
980 swift_hash_suffix: {get_param: SwiftHashSuffix}
981 swift_mount_check: {get_param: SwiftMountCheck}
982 swift_password: {get_param: SwiftPassword}
983 swift_min_part_hours: {get_param: SwiftMinPartHours}
984 swift_part_power: {get_param: SwiftPartPower}
985 swift_replicas: { get_param: SwiftReplicas}
989 description: IP address of the server in the ctlplane network
990 value: {get_attr: [Controller, networks, ctlplane, 0]}
992 description: IP address of the server in the external network
993 value: {get_attr: [ExternalPort, ip_address]}
994 internal_api_ip_address:
995 description: IP address of the server in the internal_api network
996 value: {get_attr: [InternalApiPort, ip_address]}
998 description: IP address of the server in the storage network
999 value: {get_attr: [StoragePort, ip_address]}
1000 storage_mgmt_ip_address:
1001 description: IP address of the server in the storage_mgmt network
1002 value: {get_attr: [StorageMgmtPort, ip_address]}
1004 description: IP address of the server in the tenant network
1005 value: {get_attr: [TenantPort, ip_address]}
1007 description: Hostname of the server
1008 value: {get_attr: [Controller, name]}
1011 Node object in the format {ip: ..., name: ...} format that the corosync
1014 ip: {get_attr: [Controller, networks, ctlplane, 0]}
1015 name: {get_attr: [Controller, name]}
1018 Server's IP address and hostname in the /etc/hosts format
1021 template: IP HOST CLOUDNAME
1023 IP: {get_attr: [Controller, networks, ctlplane, 0]}
1024 HOST: {get_attr: [Controller, name]}
1025 CLOUDNAME: {get_param: CloudName}
1026 nova_server_resource:
1027 description: Heat resource handle for the Nova compute server
1029 {get_resource: Controller}
1031 description: Swift device formatted for swift-ring-builder
1034 template: 'r1z1-IP:%PORT%/d1'
1036 IP: {get_attr: [Controller, networks, ctlplane, 0]}
1037 swift_proxy_memcache:
1038 description: Swift proxy-memcache value
1041 template: "IP:11211"
1043 IP: {get_attr: [Controller, networks, ctlplane, 0]}