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).
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
367 SnmpdReadonlyUserName:
368 default: ro_snmp_user
369 description: The user name for SNMPd with readonly rights running on all Overcloud nodes
371 SnmpdReadonlyUserPassword:
373 description: The user password for SNMPd with readonly rights running on all Overcloud nodes
378 description: If set, the contents of an SSL certificate authority file.
382 description: If set, the contents of an SSL certificate .crt file for encrypting SSL endpoints.
387 description: If set, the contents of an SSL certificate .key file for encrypting SSL endpoints.
392 description: A random string to be used as a salt when hashing to determine mappings
398 description: Value of mount_check in Swift account/container/object -server.conf
403 description: The minimum time (in hours) before a partition in a ring can be moved following a rebalance.
406 description: Partition Power to use when building Swift rings
410 description: The password for the swift service account, used by the swift proxy
417 description: How many replicas to use in the swift rings.
420 default: '' # Has to be here because of the ignored empty value bug
423 description: Mapping of service_name -> network name. Typically set
424 via parameter_defaults in the resource registry.
430 type: OS::Nova::Server
432 image: {get_param: Image}
433 image_update_policy: {get_param: ImageUpdatePolicy}
434 flavor: {get_param: Flavor}
435 key_name: {get_param: KeyName}
438 user_data_format: SOFTWARE_CONFIG
439 user_data: {get_resource: NodeUserData}
442 type: OS::TripleO::NodeUserData
445 type: OS::TripleO::Controller::Ports::ExternalPort
447 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
450 type: OS::TripleO::Controller::Ports::InternalApiPort
452 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
455 type: OS::TripleO::Controller::Ports::StoragePort
457 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
460 type: OS::TripleO::Controller::Ports::StorageMgmtPort
462 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
465 type: OS::TripleO::Controller::Ports::TenantPort
467 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
470 type: OS::TripleO::Controller::Net::SoftwareConfig
472 ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]}
473 InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
474 StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
475 StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
476 TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
479 type: OS::TripleO::SoftwareDeployment
481 signal_transport: NO_SIGNAL
482 config: {get_resource: NetworkConfig}
483 server: {get_resource: Controller}
486 interface_name: {get_param: NeutronPublicInterface}
488 ControllerPassthroughConfig:
489 type: OS::Heat::StructuredConfig
491 group: os-apply-config
492 config: {get_input: passthrough_config}
494 ControllerPassthroughConfigSpecific:
495 type: OS::Heat::StructuredConfig
497 group: os-apply-config
498 config: {get_input: passthrough_config_specific}
501 type: OS::Heat::StructuredConfig
503 group: os-apply-config
505 admin-password: {get_input: admin_password}
506 admin-token: {get_input: admin_token}
508 public_interface_ip: {get_input: neutron_public_interface_ip}
510 nodeid: {get_input: bootstack_nodeid}
512 db: {get_input: cinder_dsn}
513 debug: {get_input: debug}
514 volume_size_mb: {get_input: cinder_lvm_loop_device_size}
515 service-password: {get_input: cinder_password}
516 iscsi-helper: {get_input: CinderISCSIHelper}
517 controller-address: {get_input: controller_host}
519 bindnetaddr: {get_input: controller_host}
522 stonith_enabled : false
524 quorum_policy : ignore
528 host: {get_input: controller_virtual_ip}
530 db: {get_input: glance_dsn}
531 debug: {get_input: debug}
532 host: {get_input: controller_virtual_ip}
533 port: {get_input: glance_port}
534 protocol: {get_input: glance_protocol}
535 service-password: {get_input: glance_password}
536 swift-store-user: service:glance
537 swift-store-key: {get_input: glance_password}
538 notifier-strategy: {get_input: glance_notifier_strategy}
539 log-file: {get_input: glance_log_file}
541 admin_password: {get_input: heat_password}
542 admin_tenant_name: service
544 auth_encryption_key: {get_input: heat_auth_encryption_key}
545 db: {get_input: heat_dsn}
546 debug: {get_input: debug}
547 stack_domain_admin_password: {get_input: heat_stack_domain_admin_password}
548 watch_server_url: {get_input: heat.watch_server_url}
549 metadata_server_url: {get_input: heat.metadata_server_url}
550 waitcondition_server_url: {get_input: heat.waitcondition_server_url}
552 db: {get_input: keystone_dsn}
553 debug: {get_input: debug}
554 host: {get_input: controller_virtual_ip}
555 ca_certificate: {get_input: keystone_ca_certificate}
556 signing_key: {get_input: keystone_signing_key}
557 signing_certificate: {get_input: keystone_signing_certificate}
559 certificate: {get_input: keystone_ssl_certificate}
560 certificate_key: {get_input: keystone_ssl_certificate_key}
562 innodb_buffer_pool_size: {get_input: mysql_innodb_buffer_pool_size}
564 root-password: {get_input: mysql_root_password}
565 cluster_name: {get_input: mysql_cluster_name}
567 debug: {get_input: debug}
568 flat-networks: {get_input: neutron_flat_networks}
569 host: {get_input: controller_virtual_ip}
570 metadata_proxy_shared_secret: {get_input: neutron_metadata_proxy_shared_secret}
571 agent_mode: {get_input: neutron_agent_mode}
572 router_distributed: {get_input: neutron_router_distributed}
573 mechanism_drivers: {get_input: neutron_mechanism_drivers}
574 allow_automatic_l3agent_failover: {get_input: neutron_allow_l3agent_failover}
575 l3_ha: {get_input: neutron_l3_ha}
577 enable_tunneling: {get_input: neutron_enable_tunneling}
578 local_ip: {get_input: controller_host}
579 network_vlan_ranges: {get_input: neutron_network_vlan_ranges}
580 bridge_mappings: {get_input: neutron_bridge_mappings}
581 public_interface: {get_input: neutron_public_interface}
582 public_interface_raw_device: {get_input: neutron_public_interface_raw_device}
583 public_interface_route: {get_input: neutron_public_interface_default_route}
584 public_interface_tag: {get_input: neutron_public_interface_tag}
585 physical_bridge: br-ex
586 tenant_network_type: {get_input: neutron_tenant_network_type}
587 tunnel_types: {get_input: neutron_tunnel_types}
588 ovs_db: {get_input: neutron_dsn}
589 service-password: {get_input: neutron_password}
590 dnsmasq-options: {get_input: neutron_dnsmasq_options}
592 db: {get_input: ceilometer_dsn}
593 debug: {get_input: debug}
594 metering_secret: {get_input: ceilometer_metering_secret}
595 service-password: {get_input: ceilometer_password}
597 export_MIB: UCD-SNMP-MIB
598 readonly_user_name: {get_input: snmpd_readonly_user_name}
599 readonly_user_password: {get_input: snmpd_readonly_user_password}
601 compute_driver: libvirt.LibvirtDriver
602 db: {get_input: nova_dsn}
603 default_floating_pool:
605 host: {get_input: controller_virtual_ip}
607 service-password: {get_input: nova_password}
609 host: {get_input: controller_virtual_ip}
610 username: {get_input: rabbit_username}
611 password: {get_input: rabbit_password}
612 cookie: {get_input: rabbit_cookie}
613 rabbit_client_use_ssl: {get_input: rabbit_client_use_ssl}
614 rabbit_port: {get_input: rabbit_client_port}
617 - {server: {get_input: ntp_server}}
620 - vrrp_instance_name: VI_CONTROL
621 virtual_router_id: 51
622 keepalive_interface: {get_input: control_virtual_interface}
625 - ip: {get_input: controller_virtual_ip}
626 interface: {get_input: control_virtual_interface}
627 - vrrp_instance_name: VI_PUBLIC
628 virtual_router_id: 52
629 keepalive_interface: {get_input: public_virtual_interface}
632 - ip: {get_input: public_virtual_ip}
633 interface: {get_input: public_virtual_interface}
640 keepalive_interface: {get_input: public_virtual_interface}
644 ip: {get_input: controller_virtual_ip}
645 interface: {get_input: control_virtual_interface}
647 ip: {get_input: public_virtual_ip}
648 interface: {get_input: public_virtual_interface}
651 - ip: {get_input: controller_virtual_ip}
653 - option httpchk GET /
655 - name: keystone_admin
657 net_binds: &public_binds
658 - ip: {get_input: controller_virtual_ip}
659 - ip: {get_input: public_virtual_ip}
660 - name: keystone_public
662 net_binds: *public_binds
665 net_binds: *public_binds
668 net_binds: *public_binds
671 net_binds: *public_binds
674 net_binds: *public_binds
675 - name: glance_registry
677 net_binds: *public_binds
678 options: # overwrite options as glace_reg needs auth for http req
681 net_binds: *public_binds
682 - name: heat_cloudwatch
684 net_binds: *public_binds
687 net_binds: *public_binds
699 net_binds: *public_binds
700 - name: nova_metadata
702 net_binds: *public_binds
703 - name: nova_novncproxy
705 net_binds: *public_binds
708 net_binds: *public_binds
709 options: # overwrite options as ceil needs auth for http req
710 - name: swift_proxy_server
712 net_binds: *public_binds
714 - option httpchk GET /info
722 ControllerDeployment:
723 type: OS::TripleO::SoftwareDeployment
725 signal_transport: NO_SIGNAL
726 config: {get_resource: ControllerConfig}
727 server: {get_resource: Controller}
729 bootstack_nodeid: {get_attr: [Controller, name]}
730 controller_host: {get_attr: [Controller, networks, ctlplane, 0]}
731 controller_virtual_ip: {get_param: VirtualIP}
732 neutron_enable_tunneling: {get_param: NeutronEnableTunnelling}
733 heat.watch_server_url:
737 - {get_param: VirtualIP}
739 heat.metadata_server_url:
743 - {get_param: VirtualIP}
745 heat.waitcondition_server_url:
749 - {get_param: VirtualIP}
750 - ':8000/v1/waitcondition'
751 admin_password: {get_param: AdminPassword}
752 admin_token: {get_param: AdminToken}
753 neutron_public_interface_ip: {get_param: NeutronPublicInterfaceIP}
754 debug: {get_param: Debug}
755 cinder_lvm_loop_device_size: {get_param: CinderLVMLoopDeviceSize}
756 cinder_password: {get_param: CinderPassword}
757 cinder_iscsi_helper: {get_param: CinderISCSIHelper}
761 - - 'mysql://cinder:'
762 - {get_param: CinderPassword}
764 - {get_param: VirtualIP}
766 glance_port: {get_param: GlancePort}
767 glance_protocol: {get_param: GlanceProtocol}
768 glance_password: {get_param: GlancePassword}
769 glance_notifier_strategy: {get_param: GlanceNotifierStrategy}
770 glance_log_file: {get_param: GlanceLogFile}
774 - - 'mysql://glance:'
775 - {get_param: GlancePassword}
777 - {get_param: VirtualIP}
779 heat_password: {get_param: HeatPassword}
780 heat_stack_domain_admin_password: {get_param: HeatStackDomainAdminPassword}
781 heat_auth_encryption_key: {get_param: HeatAuthEncryptionKey}
786 - {get_param: HeatPassword}
788 - {get_param: VirtualIP}
790 keystone_ca_certificate: {get_param: KeystoneCACertificate}
791 keystone_signing_key: {get_param: KeystoneSigningKey}
792 keystone_signing_certificate: {get_param: KeystoneSigningCertificate}
793 keystone_ssl_certificate: {get_param: KeystoneSSLCertificate}
794 keystone_ssl_certificate_key: {get_param: KeystoneSSLCertificateKey}
798 - - 'mysql://keystone:'
799 - {get_param: AdminToken}
801 - {get_param: VirtualIP}
803 mysql_innodb_buffer_pool_size: {get_param: MysqlInnodbBufferPoolSize}
804 mysql_root_password: {get_param: MysqlRootPassword}
807 template: tripleo-CLUSTER
809 CLUSTER: {get_param: MysqlClusterUniquePart}
810 neutron_flat_networks: {get_param: NeutronFlatNetworks}
811 neutron_metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
812 neutron_agent_mode: {get_param: NeutronAgentMode}
813 neutron_router_distributed: {get_param: NeutronDVR}
814 neutron_mechanism_drivers: {get_param: NeutronMechanismDrivers}
815 neutron_allow_l3agent_failover: {get_param: NeutronAllowL3AgentFailover}
816 neutron_l3_ha: {get_param: NeutronL3HA}
817 neutron_network_vlan_ranges: {get_param: NeutronNetworkVLANRanges}
818 neutron_bridge_mappings: {get_param: NeutronBridgeMappings}
819 neutron_public_interface: {get_param: NeutronPublicInterface}
820 neutron_public_interface_raw_device: {get_param: NeutronPublicInterfaceRawDevice}
821 neutron_public_interface_default_route: {get_param: NeutronPublicInterfaceDefaultRoute}
822 neutron_public_interface_tag: {get_param: NeutronPublicInterfaceTag}
823 neutron_tenant_network_type: {get_param: NeutronNetworkType}
824 neutron_tunnel_types: {get_param: NeutronTunnelTypes}
825 neutron_password: {get_param: NeutronPassword}
826 neutron_dnsmasq_options: {get_param: NeutronDnsmasqOptions}
830 - - 'mysql://neutron:'
831 - {get_param: NeutronPassword}
833 - {get_param: VirtualIP}
834 - '/ovs_neutron?charset=utf8'
835 ceilometer_metering_secret: {get_param: CeilometerMeteringSecret}
836 ceilometer_password: {get_param: CeilometerPassword}
840 - - 'mysql://ceilometer:'
841 - {get_param: CeilometerPassword}
843 - {get_param: VirtualIP}
845 snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName}
846 snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword}
847 nova_password: {get_param: NovaPassword}
852 - {get_param: NovaPassword}
854 - {get_param: VirtualIP}
856 rabbit_username: {get_param: RabbitUserName}
857 rabbit_password: {get_param: RabbitPassword}
858 rabbit_cookie: {get_param: RabbitCookie}
859 rabbit_client_use_ssl: {get_param: RabbitClientUseSSL}
860 rabbit_client_port: {get_param: RabbitClientPort}
861 ntp_server: {get_param: NtpServer}
862 control_virtual_interface: {get_param: ControlVirtualInterface}
863 public_virtual_interface: {get_param: PublicVirtualInterface}
864 public_virtual_ip: {get_param: PublicVirtualIP}
867 type: OS::Heat::StructuredConfig
869 group: os-apply-config
872 ca_certificate: {get_input: ssl_ca_certificate}
874 cert: {get_input: ssl_certificate}
875 key: {get_input: ssl_key}
876 cacert: {get_input: ssl_ca_certificate}
881 connect_host: {get_input: controller_host}
885 connect_host: {get_input: controller_host}
889 connect_host: {get_input: controller_host}
893 connect_host: {get_input: controller_host}
897 connect_host: {get_input: controller_host}
898 - name: 'swift-proxy'
901 connect_host: {get_input: controller_host}
905 connect_host: {get_input: controller_host}
909 connect_host: {get_input: controller_host}
911 ControllerSSLDeployment:
912 type: OS::Heat::StructuredDeployment
914 config: {get_resource: SSLConfig}
915 server: {get_resource: Controller}
916 signal_transport: NO_SIGNAL
918 controller_host: {get_attr: [Controller, networks, ctlplane, 0]}
919 ssl_certificate: {get_param: SSLCertificate}
920 ssl_key: {get_param: SSLKey}
921 ssl_ca_certificate: {get_param: SSLCACertificate}
923 ControllerPassthroughDeployment:
924 type: OS::Heat::StructuredDeployment
926 config: {get_resource: ControllerPassthroughConfig}
927 server: {get_resource: Controller}
928 signal_transport: NO_SIGNAL
930 passthrough_config: {get_param: ExtraConfig}
932 ControllerPassthroughSpecificDeployment:
933 depends_on: [ControllerPassthroughDeployment]
934 type: OS::Heat::StructuredDeployment
936 config: {get_resource: ControllerPassthroughConfigSpecific}
937 server: {get_resource: Controller}
938 signal_transport: NO_SIGNAL
940 passthrough_config_specific: {get_param: ControllerExtraConfig}
943 type: OS::Heat::StructuredConfig
945 group: os-apply-config
948 hash: { get_input: swift_hash_suffix }
949 part-power: { get_input: swift_part_power }
950 mount-check: { get_input: swift_mount_check }
951 min-part-hours: { get_input: swift_min_part_hours }
952 replicas: {get_input: swift_replicas }
953 service-password: { get_input: swift_password }
956 type: OS::Heat::StructuredDeployment
958 server: {get_resource: Controller}
959 config: {get_resource: SwiftConfig}
960 signal_transport: NO_SIGNAL
962 swift_hash_suffix: {get_param: SwiftHashSuffix}
963 swift_mount_check: {get_param: SwiftMountCheck}
964 swift_password: {get_param: SwiftPassword}
965 swift_min_part_hours: {get_param: SwiftMinPartHours}
966 swift_part_power: {get_param: SwiftPartPower}
967 swift_replicas: { get_param: SwiftReplicas}
971 description: IP address of the server in the ctlplane network
972 value: {get_attr: [Controller, networks, ctlplane, 0]}
974 description: IP address of the server in the external network
975 value: {get_attr: [ExternalPort, ip_address]}
976 internal_api_ip_address:
977 description: IP address of the server in the internal_api network
978 value: {get_attr: [InternalApiPort, ip_address]}
980 description: IP address of the server in the storage network
981 value: {get_attr: [StoragePort, ip_address]}
982 storage_mgmt_ip_address:
983 description: IP address of the server in the storage_mgmt network
984 value: {get_attr: [StorageMgmtPort, ip_address]}
986 description: IP address of the server in the tenant network
987 value: {get_attr: [TenantPort, ip_address]}
989 description: Hostname of the server
990 value: {get_attr: [Controller, name]}
993 Node object in the format {ip: ..., name: ...} format that the corosync
996 ip: {get_attr: [Controller, networks, ctlplane, 0]}
997 name: {get_attr: [Controller, name]}
1000 Server's IP address and hostname in the /etc/hosts format
1003 template: IP HOST CLOUDNAME
1005 IP: {get_attr: [Controller, networks, ctlplane, 0]}
1006 HOST: {get_attr: [Controller, name]}
1007 CLOUDNAME: {get_param: CloudName}
1008 nova_server_resource:
1009 description: Heat resource handle for the Nova compute server
1011 {get_resource: Controller}
1013 description: Swift device formatted for swift-ring-builder
1016 template: 'r1z1-IP:%PORT%/d1'
1018 IP: {get_attr: [Controller, networks, ctlplane, 0]}
1019 swift_proxy_memcache:
1020 description: Swift proxy-memcache value
1023 template: "IP:11211"
1025 IP: {get_attr: [Controller, networks, ctlplane, 0]}