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
426 type: OS::Nova::Server
428 image: {get_param: Image}
429 image_update_policy: {get_param: ImageUpdatePolicy}
430 flavor: {get_param: Flavor}
431 key_name: {get_param: KeyName}
434 user_data_format: SOFTWARE_CONFIG
435 user_data: {get_resource: NodeUserData}
438 type: OS::TripleO::NodeUserData
441 type: OS::TripleO::Controller::Ports::ExternalPort
443 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
446 type: OS::TripleO::Controller::Ports::InternalApiPort
448 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
451 type: OS::TripleO::Controller::Ports::StoragePort
453 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
456 type: OS::TripleO::Controller::Ports::StorageMgmtPort
458 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
461 type: OS::TripleO::Controller::Ports::TenantPort
463 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
466 type: OS::TripleO::Controller::Net::SoftwareConfig
468 ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]}
469 InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
470 StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
471 StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
472 TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
475 type: OS::TripleO::SoftwareDeployment
477 signal_transport: NO_SIGNAL
478 config: {get_resource: NetworkConfig}
479 server: {get_resource: Controller}
482 interface_name: {get_param: NeutronPublicInterface}
484 ControllerPassthroughConfig:
485 type: OS::Heat::StructuredConfig
487 group: os-apply-config
488 config: {get_input: passthrough_config}
490 ControllerPassthroughConfigSpecific:
491 type: OS::Heat::StructuredConfig
493 group: os-apply-config
494 config: {get_input: passthrough_config_specific}
497 type: OS::Heat::StructuredConfig
499 group: os-apply-config
501 admin-password: {get_input: admin_password}
502 admin-token: {get_input: admin_token}
504 public_interface_ip: {get_input: neutron_public_interface_ip}
506 nodeid: {get_input: bootstack_nodeid}
508 db: {get_input: cinder_dsn}
509 debug: {get_input: debug}
510 volume_size_mb: {get_input: cinder_lvm_loop_device_size}
511 service-password: {get_input: cinder_password}
512 iscsi-helper: {get_input: CinderISCSIHelper}
513 controller-address: {get_input: controller_host}
515 bindnetaddr: {get_input: controller_host}
518 stonith_enabled : false
520 quorum_policy : ignore
524 host: {get_input: controller_virtual_ip}
526 db: {get_input: glance_dsn}
527 debug: {get_input: debug}
528 host: {get_input: controller_virtual_ip}
529 port: {get_input: glance_port}
530 protocol: {get_input: glance_protocol}
531 service-password: {get_input: glance_password}
532 swift-store-user: service:glance
533 swift-store-key: {get_input: glance_password}
534 notifier-strategy: {get_input: glance_notifier_strategy}
535 log-file: {get_input: glance_log_file}
537 admin_password: {get_input: heat_password}
538 admin_tenant_name: service
540 auth_encryption_key: {get_input: heat_auth_encryption_key}
541 db: {get_input: heat_dsn}
542 debug: {get_input: debug}
543 stack_domain_admin_password: {get_input: heat_stack_domain_admin_password}
544 watch_server_url: {get_input: heat.watch_server_url}
545 metadata_server_url: {get_input: heat.metadata_server_url}
546 waitcondition_server_url: {get_input: heat.waitcondition_server_url}
548 db: {get_input: keystone_dsn}
549 debug: {get_input: debug}
550 host: {get_input: controller_virtual_ip}
551 ca_certificate: {get_input: keystone_ca_certificate}
552 signing_key: {get_input: keystone_signing_key}
553 signing_certificate: {get_input: keystone_signing_certificate}
555 certificate: {get_input: keystone_ssl_certificate}
556 certificate_key: {get_input: keystone_ssl_certificate_key}
558 innodb_buffer_pool_size: {get_input: mysql_innodb_buffer_pool_size}
560 root-password: {get_input: mysql_root_password}
561 cluster_name: {get_input: mysql_cluster_name}
563 debug: {get_input: debug}
564 flat-networks: {get_input: neutron_flat_networks}
565 host: {get_input: controller_virtual_ip}
566 metadata_proxy_shared_secret: {get_input: neutron_metadata_proxy_shared_secret}
567 agent_mode: {get_input: neutron_agent_mode}
568 router_distributed: {get_input: neutron_router_distributed}
569 mechanism_drivers: {get_input: neutron_mechanism_drivers}
570 allow_automatic_l3agent_failover: {get_input: neutron_allow_l3agent_failover}
571 l3_ha: {get_input: neutron_l3_ha}
573 enable_tunneling: {get_input: neutron_enable_tunneling}
574 local_ip: {get_input: controller_host}
575 network_vlan_ranges: {get_input: neutron_network_vlan_ranges}
576 bridge_mappings: {get_input: neutron_bridge_mappings}
577 public_interface: {get_input: neutron_public_interface}
578 public_interface_raw_device: {get_input: neutron_public_interface_raw_device}
579 public_interface_route: {get_input: neutron_public_interface_default_route}
580 public_interface_tag: {get_input: neutron_public_interface_tag}
581 physical_bridge: br-ex
582 tenant_network_type: {get_input: neutron_tenant_network_type}
583 tunnel_types: {get_input: neutron_tunnel_types}
584 ovs_db: {get_input: neutron_dsn}
585 service-password: {get_input: neutron_password}
586 dnsmasq-options: {get_input: neutron_dnsmasq_options}
588 db: {get_input: ceilometer_dsn}
589 debug: {get_input: debug}
590 metering_secret: {get_input: ceilometer_metering_secret}
591 service-password: {get_input: ceilometer_password}
593 export_MIB: UCD-SNMP-MIB
594 readonly_user_name: {get_input: snmpd_readonly_user_name}
595 readonly_user_password: {get_input: snmpd_readonly_user_password}
597 compute_driver: libvirt.LibvirtDriver
598 db: {get_input: nova_dsn}
599 default_floating_pool:
601 host: {get_input: controller_virtual_ip}
603 service-password: {get_input: nova_password}
605 host: {get_input: controller_virtual_ip}
606 username: {get_input: rabbit_username}
607 password: {get_input: rabbit_password}
608 cookie: {get_input: rabbit_cookie}
609 rabbit_client_use_ssl: {get_input: rabbit_client_use_ssl}
610 rabbit_port: {get_input: rabbit_client_port}
613 - {server: {get_input: ntp_server}}
616 - vrrp_instance_name: VI_CONTROL
617 virtual_router_id: 51
618 keepalive_interface: {get_input: control_virtual_interface}
621 - ip: {get_input: controller_virtual_ip}
622 interface: {get_input: control_virtual_interface}
623 - vrrp_instance_name: VI_PUBLIC
624 virtual_router_id: 52
625 keepalive_interface: {get_input: public_virtual_interface}
628 - ip: {get_input: public_virtual_ip}
629 interface: {get_input: public_virtual_interface}
636 keepalive_interface: {get_input: public_virtual_interface}
640 ip: {get_input: controller_virtual_ip}
641 interface: {get_input: control_virtual_interface}
643 ip: {get_input: public_virtual_ip}
644 interface: {get_input: public_virtual_interface}
647 - ip: {get_input: controller_virtual_ip}
649 - option httpchk GET /
651 - name: keystone_admin
653 net_binds: &public_binds
654 - ip: {get_input: controller_virtual_ip}
655 - ip: {get_input: public_virtual_ip}
656 - name: keystone_public
658 net_binds: *public_binds
661 net_binds: *public_binds
664 net_binds: *public_binds
667 net_binds: *public_binds
670 net_binds: *public_binds
671 - name: glance_registry
673 net_binds: *public_binds
674 options: # overwrite options as glace_reg needs auth for http req
677 net_binds: *public_binds
678 - name: heat_cloudwatch
680 net_binds: *public_binds
683 net_binds: *public_binds
695 net_binds: *public_binds
696 - name: nova_metadata
698 net_binds: *public_binds
699 - name: nova_novncproxy
701 net_binds: *public_binds
704 net_binds: *public_binds
705 options: # overwrite options as ceil needs auth for http req
706 - name: swift_proxy_server
708 net_binds: *public_binds
710 - option httpchk GET /info
718 ControllerDeployment:
719 type: OS::TripleO::SoftwareDeployment
721 signal_transport: NO_SIGNAL
722 config: {get_resource: ControllerConfig}
723 server: {get_resource: Controller}
725 bootstack_nodeid: {get_attr: [Controller, name]}
726 controller_host: {get_attr: [Controller, networks, ctlplane, 0]}
727 controller_virtual_ip: {get_param: VirtualIP}
728 neutron_enable_tunneling: {get_param: NeutronEnableTunnelling}
729 heat.watch_server_url:
733 - {get_param: VirtualIP}
735 heat.metadata_server_url:
739 - {get_param: VirtualIP}
741 heat.waitcondition_server_url:
745 - {get_param: VirtualIP}
746 - ':8000/v1/waitcondition'
747 admin_password: {get_param: AdminPassword}
748 admin_token: {get_param: AdminToken}
749 neutron_public_interface_ip: {get_param: NeutronPublicInterfaceIP}
750 debug: {get_param: Debug}
751 cinder_lvm_loop_device_size: {get_param: CinderLVMLoopDeviceSize}
752 cinder_password: {get_param: CinderPassword}
753 cinder_iscsi_helper: {get_param: CinderISCSIHelper}
757 - - 'mysql://cinder:'
758 - {get_param: CinderPassword}
760 - {get_param: VirtualIP}
762 glance_port: {get_param: GlancePort}
763 glance_protocol: {get_param: GlanceProtocol}
764 glance_password: {get_param: GlancePassword}
765 glance_notifier_strategy: {get_param: GlanceNotifierStrategy}
766 glance_log_file: {get_param: GlanceLogFile}
770 - - 'mysql://glance:'
771 - {get_param: GlancePassword}
773 - {get_param: VirtualIP}
775 heat_password: {get_param: HeatPassword}
776 heat_stack_domain_admin_password: {get_param: HeatStackDomainAdminPassword}
777 heat_auth_encryption_key: {get_param: HeatAuthEncryptionKey}
782 - {get_param: HeatPassword}
784 - {get_param: VirtualIP}
786 keystone_ca_certificate: {get_param: KeystoneCACertificate}
787 keystone_signing_key: {get_param: KeystoneSigningKey}
788 keystone_signing_certificate: {get_param: KeystoneSigningCertificate}
789 keystone_ssl_certificate: {get_param: KeystoneSSLCertificate}
790 keystone_ssl_certificate_key: {get_param: KeystoneSSLCertificateKey}
794 - - 'mysql://keystone:'
795 - {get_param: AdminToken}
797 - {get_param: VirtualIP}
799 mysql_innodb_buffer_pool_size: {get_param: MysqlInnodbBufferPoolSize}
800 mysql_root_password: {get_param: MysqlRootPassword}
803 template: tripleo-CLUSTER
805 CLUSTER: {get_param: MysqlClusterUniquePart}
806 neutron_flat_networks: {get_param: NeutronFlatNetworks}
807 neutron_metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
808 neutron_agent_mode: {get_param: NeutronAgentMode}
809 neutron_router_distributed: {get_param: NeutronDVR}
810 neutron_mechanism_drivers: {get_param: NeutronMechanismDrivers}
811 neutron_allow_l3agent_failover: {get_param: NeutronAllowL3AgentFailover}
812 neutron_l3_ha: {get_param: NeutronL3HA}
813 neutron_network_vlan_ranges: {get_param: NeutronNetworkVLANRanges}
814 neutron_bridge_mappings: {get_param: NeutronBridgeMappings}
815 neutron_public_interface: {get_param: NeutronPublicInterface}
816 neutron_public_interface_raw_device: {get_param: NeutronPublicInterfaceRawDevice}
817 neutron_public_interface_default_route: {get_param: NeutronPublicInterfaceDefaultRoute}
818 neutron_public_interface_tag: {get_param: NeutronPublicInterfaceTag}
819 neutron_tenant_network_type: {get_param: NeutronNetworkType}
820 neutron_tunnel_types: {get_param: NeutronTunnelTypes}
821 neutron_password: {get_param: NeutronPassword}
822 neutron_dnsmasq_options: {get_param: NeutronDnsmasqOptions}
826 - - 'mysql://neutron:'
827 - {get_param: NeutronPassword}
829 - {get_param: VirtualIP}
830 - '/ovs_neutron?charset=utf8'
831 ceilometer_metering_secret: {get_param: CeilometerMeteringSecret}
832 ceilometer_password: {get_param: CeilometerPassword}
836 - - 'mysql://ceilometer:'
837 - {get_param: CeilometerPassword}
839 - {get_param: VirtualIP}
841 snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName}
842 snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword}
843 nova_password: {get_param: NovaPassword}
848 - {get_param: NovaPassword}
850 - {get_param: VirtualIP}
852 rabbit_username: {get_param: RabbitUserName}
853 rabbit_password: {get_param: RabbitPassword}
854 rabbit_cookie: {get_param: RabbitCookie}
855 rabbit_client_use_ssl: {get_param: RabbitClientUseSSL}
856 rabbit_client_port: {get_param: RabbitClientPort}
857 ntp_server: {get_param: NtpServer}
858 control_virtual_interface: {get_param: ControlVirtualInterface}
859 public_virtual_interface: {get_param: PublicVirtualInterface}
860 public_virtual_ip: {get_param: PublicVirtualIP}
863 type: OS::Heat::StructuredConfig
865 group: os-apply-config
868 ca_certificate: {get_input: ssl_ca_certificate}
870 cert: {get_input: ssl_certificate}
871 key: {get_input: ssl_key}
872 cacert: {get_input: ssl_ca_certificate}
877 connect_host: {get_input: controller_host}
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}
894 - name: 'swift-proxy'
897 connect_host: {get_input: controller_host}
901 connect_host: {get_input: controller_host}
905 connect_host: {get_input: controller_host}
907 ControllerSSLDeployment:
908 type: OS::Heat::StructuredDeployment
910 config: {get_resource: SSLConfig}
911 server: {get_resource: Controller}
912 signal_transport: NO_SIGNAL
914 controller_host: {get_attr: [Controller, networks, ctlplane, 0]}
915 ssl_certificate: {get_param: SSLCertificate}
916 ssl_key: {get_param: SSLKey}
917 ssl_ca_certificate: {get_param: SSLCACertificate}
919 ControllerPassthroughDeployment:
920 type: OS::Heat::StructuredDeployment
922 config: {get_resource: ControllerPassthroughConfig}
923 server: {get_resource: Controller}
924 signal_transport: NO_SIGNAL
926 passthrough_config: {get_param: ExtraConfig}
928 ControllerPassthroughSpecificDeployment:
929 depends_on: [ControllerPassthroughDeployment]
930 type: OS::Heat::StructuredDeployment
932 config: {get_resource: ControllerPassthroughConfigSpecific}
933 server: {get_resource: Controller}
934 signal_transport: NO_SIGNAL
936 passthrough_config_specific: {get_param: ControllerExtraConfig}
939 type: OS::Heat::StructuredConfig
941 group: os-apply-config
944 hash: { get_input: swift_hash_suffix }
945 part-power: { get_input: swift_part_power }
946 mount-check: { get_input: swift_mount_check }
947 min-part-hours: { get_input: swift_min_part_hours }
948 replicas: {get_input: swift_replicas }
949 service-password: { get_input: swift_password }
952 type: OS::Heat::StructuredDeployment
954 server: {get_resource: Controller}
955 config: {get_resource: SwiftConfig}
956 signal_transport: NO_SIGNAL
958 swift_hash_suffix: {get_param: SwiftHashSuffix}
959 swift_mount_check: {get_param: SwiftMountCheck}
960 swift_password: {get_param: SwiftPassword}
961 swift_min_part_hours: {get_param: SwiftMinPartHours}
962 swift_part_power: {get_param: SwiftPartPower}
963 swift_replicas: { get_param: SwiftReplicas}
967 description: IP address of the server in the ctlplane network
968 value: {get_attr: [Controller, networks, ctlplane, 0]}
970 description: IP address of the server in the external network
971 value: {get_attr: [ExternalPort, ip_address]}
972 internal_api_ip_address:
973 description: IP address of the server in the internal_api network
974 value: {get_attr: [InternalApiPort, ip_address]}
976 description: IP address of the server in the storage network
977 value: {get_attr: [StoragePort, ip_address]}
978 storage_mgmt_ip_address:
979 description: IP address of the server in the storage_mgmt network
980 value: {get_attr: [StorageMgmtPort, ip_address]}
982 description: IP address of the server in the tenant network
983 value: {get_attr: [TenantPort, ip_address]}
985 description: Hostname of the server
986 value: {get_attr: [Controller, name]}
989 Node object in the format {ip: ..., name: ...} format that the corosync
992 ip: {get_attr: [Controller, networks, ctlplane, 0]}
993 name: {get_attr: [Controller, name]}
996 Server's IP address and hostname in the /etc/hosts format
999 template: IP HOST CLOUDNAME
1001 IP: {get_attr: [Controller, networks, ctlplane, 0]}
1002 HOST: {get_attr: [Controller, name]}
1003 CLOUDNAME: {get_param: CloudName}
1004 nova_server_resource:
1005 description: Heat resource handle for the Nova compute server
1007 {get_resource: Controller}
1009 description: Swift device formatted for swift-ring-builder
1012 template: 'r1z1-IP:%PORT%/d1'
1014 IP: {get_attr: [Controller, networks, ctlplane, 0]}
1015 swift_proxy_memcache:
1016 description: Swift proxy-memcache value
1019 template: "IP:11211"
1021 IP: {get_attr: [Controller, networks, ctlplane, 0]}