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 enable fencing in Pacemaker or not.
76 description: Whether to use Galera instead of regular MariaDB.
80 description: Whether to deploy Ceph Storage (OSD) on the Controller
84 description: Whether to enable Swift Storage on the Controller
89 Additional configuration to inject into the cluster. The JSON should have
90 the following structure:
93 [{"section": "SECTIONNAME",
95 [{"option": "OPTIONNAME",
106 [{"section": "default",
108 [{"option": "compute_manager",
109 "value": "ironic.nova.compute.manager.ClusterComputeManager"
115 [{"option": "driver",
116 "value": "nova.cells.rpc_driver.CellsRPCDriver"
127 Pacemaker fencing configuration. The JSON should have
128 the following structure:
132 "agent": "AGENT_NAME",
133 "host_mac": "HOST_MAC_ADDRESS",
134 "params": {"PARAM_NAME": "PARAM_VALUE"}
142 "agent": "fence_xvm",
143 "host_mac": "52:54:00:aa:bb:cc",
145 "multicast_address": "225.0.0.12",
146 "port": "baremetal_0",
148 "manage_key_file": true,
149 "key_file": "/etc/fence_xvm.key",
150 "key_file_password": "abcdef"
157 description: Flavor for control nodes to request when deploying.
160 - custom_constraint: nova.flavor
161 GlanceNotifierStrategy:
162 description: Strategy to use for Glance notification queue
166 description: The filepath of the file to use for logging messages from Glance.
171 description: The password for the glance service and db account, used by the glance services.
176 description: Glance port.
180 description: Protocol to use when connecting to glance, set to https for SSL.
184 description: The short name of the Glance backend to use. Should be one
185 of swift, rbd, or file
188 - allowed_values: ['swift', 'file', 'rbd']
191 description: The password for the Heat service and db account, used by the Heat services.
194 HeatStackDomainAdminPassword:
195 description: Password for heat_domain_admin user.
199 HeatAuthEncryptionKey:
200 description: Auth encryption key for heat-engine
203 description: Secret key for Django
207 default: overcloud-control
209 - custom_constraint: glance.image
211 default: 'REBUILD_PRESERVE_EPHEMERAL'
212 description: What policy to use when reconstructing instances. REBUILD for rebuilds, REBUILD_PRESERVE_EPHEMERAL to preserve /mnt.
216 description: Name of an existing EC2 KeyPair to enable SSH access to the instances
219 - custom_constraint: nova.keypair
220 KeystoneCACertificate:
222 description: Keystone self-signed certificate authority certificate.
224 KeystoneSigningCertificate:
226 description: Keystone certificate for verifying token validity.
230 description: Keystone key for signing tokens.
233 KeystoneSSLCertificate:
235 description: Keystone certificate for verifying token validity.
237 KeystoneSSLCertificateKey:
239 description: Keystone key for signing tokens.
242 MysqlClusterUniquePart:
243 description: A unique identifier of the MySQL cluster the controller is in.
245 default: 'unset' # Has to be here because of the ignored empty value bug
246 # Drop the validation: https://bugs.launchpad.net/tripleo/+bug/1405446
248 # - length: {min: 4, max: 10}
249 MysqlInnodbBufferPoolSize:
251 Specifies the size of the buffer pool in megabytes. Setting to
252 zero should be interpreted as "no value" and will defer to the
259 default: '' # Has to be here because of the ignored empty value bug
260 NeutronExternalNetworkBridge:
261 description: Name of bridge used for external network traffic.
264 NeutronBridgeMappings:
266 The OVS logical->physical bridge mappings to use. See the Neutron
267 documentation for details. Defaults to mapping br-ex - the external
268 bridge on hosts - to a physical name 'datacentre' which can be used
269 to create provider networks (and we use this for the default floating
270 network) - if changing this either use different post-install network
271 scripts or be sure to keep 'datacentre' as a mapping network name.
273 default: "datacentre:br-ex"
274 NeutronDnsmasqOptions:
275 default: 'dhcp-option-force=26,1400'
276 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.
280 description: Agent mode for the neutron-l3-agent on the controller hosts
284 description: Whether to configure Neutron Distributed Virtual Routers
286 NeutronMetadataProxySharedSecret:
288 description: Shared secret to prevent spoofing
290 NeutronMechanismDrivers:
291 default: 'openvswitch'
293 The mechanism drivers for the Neutron tenant network. To specify multiple
294 values, use a comma separated string, like so: 'openvswitch,l2_population'
296 NeutronAllowL3AgentFailover:
298 description: Allow automatic l3-agent failover
302 description: Whether to enable l3-agent HA
304 NeutronEnableTunnelling:
309 default: 'datacentre'
310 description: If set, flat networks to configure in neutron plugins.
313 description: The tenant network type for Neutron, either gre or vxlan.
315 NeutronNetworkVLANRanges:
316 default: 'datacentre'
318 The Neutron ML2 and OpenVSwitch vlan mapping range to support. See the
319 Neutron documentation for permitted values. Defaults to permitting any
320 VLAN on the 'datacentre' physical network (See NeutronBridgeMappings).
321 type: comma_delimited_list
324 description: The password for the neutron service and db account, used by neutron agents.
327 NeutronPublicInterface:
329 description: What interface to bridge onto br-ex for network nodes.
331 NeutronPublicInterfaceTag:
334 VLAN tag for creating a public VLAN. The tag will be used to
335 create an access port on the exterior bridge for each control plane node,
336 and that port will be given the IP address returned by neutron from the
337 public network. Set CONTROLEXTRA=overcloud-vlan-port.yaml when compiling
338 overcloud.yaml to include the deployment of VLAN ports to the control
341 NeutronPublicInterfaceDefaultRoute:
343 description: A custom default route for the NeutronPublicInterface.
345 NeutronPublicInterfaceIP:
347 description: A custom IP address to put onto the NeutronPublicInterface.
349 NeutronPublicInterfaceRawDevice:
351 description: If set, the public interface is a vlan with this device as the raw device.
356 The tunnel types for the Neutron tenant network. To specify multiple
357 values, use a comma separated string, like so: 'gre,vxlan'
361 description: The password for the nova service and db account, used by nova-api.
369 description: The password for the 'pcsd' user.
370 PublicVirtualInterface:
373 Specifies the interface where the public-facing virtual ip will be assigned.
374 This should be int_public when a VLAN is being used.
378 default: '' # Has to be here because of the ignored empty value bug
381 default: '' # Has to be here because of the ignored empty value bug
385 description: The password for RabbitMQ
390 description: The username for RabbitMQ
395 Rabbit client subscriber parameter to specify
396 an SSL connection to the RabbitMQ host.
400 description: Set rabbit subscriber port, change this if using SSL
404 default: '' # Has to be here because of the ignored empty value bug
405 SnmpdReadonlyUserName:
406 default: ro_snmp_user
407 description: The user name for SNMPd with readonly rights running on all Overcloud nodes
409 SnmpdReadonlyUserPassword:
411 description: The user password for SNMPd with readonly rights running on all Overcloud nodes
416 description: If set, the contents of an SSL certificate authority file.
420 description: If set, the contents of an SSL certificate .crt file for encrypting SSL endpoints.
425 description: If set, the contents of an SSL certificate .key file for encrypting SSL endpoints.
430 description: A random string to be used as a salt when hashing to determine mappings
436 description: Value of mount_check in Swift account/container/object -server.conf
441 description: The minimum time (in hours) before a partition in a ring can be moved following a rebalance.
444 description: Partition Power to use when building Swift rings
448 description: The password for the swift service account, used by the swift proxy
455 description: How many replicas to use in the swift rings.
458 default: '' # Has to be here because of the ignored empty value bug
468 KeystonePublicApiVirtualIP:
476 description: Mapping of service_name -> network name. Typically set
477 via parameter_defaults in the resource registry.
483 Setting to a previously unused value during stack-update will trigger
484 package update on all nodes
487 default: '' # Defaults to Heat created hostname
492 type: OS::Nova::Server
494 image: {get_param: Image}
495 image_update_policy: {get_param: ImageUpdatePolicy}
496 flavor: {get_param: Flavor}
497 key_name: {get_param: KeyName}
500 user_data_format: SOFTWARE_CONFIG
501 user_data: {get_resource: NodeUserData}
502 name: {get_param: Hostname}
505 type: OS::TripleO::NodeUserData
508 type: OS::TripleO::Controller::Ports::ExternalPort
510 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
513 type: OS::TripleO::Controller::Ports::InternalApiPort
515 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
518 type: OS::TripleO::Controller::Ports::StoragePort
520 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
523 type: OS::TripleO::Controller::Ports::StorageMgmtPort
525 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
528 type: OS::TripleO::Controller::Ports::TenantPort
530 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
533 type: OS::TripleO::Controller::Net::SoftwareConfig
535 ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]}
536 InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
537 StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
538 StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
539 TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
542 type: OS::TripleO::SoftwareDeployment
544 signal_transport: NO_SIGNAL
545 config: {get_resource: NetworkConfig}
546 server: {get_resource: Controller}
549 interface_name: {get_param: NeutronPublicInterface}
551 ControllerPassthroughConfig:
552 type: OS::Heat::StructuredConfig
554 group: os-apply-config
555 config: {get_input: passthrough_config}
557 ControllerPassthroughConfigSpecific:
558 type: OS::Heat::StructuredConfig
560 group: os-apply-config
561 config: {get_input: passthrough_config_specific}
564 type: OS::Heat::StructuredConfig
566 group: os-apply-config
568 admin-password: {get_input: admin_password}
569 admin-token: {get_input: admin_token}
571 public_interface_ip: {get_input: neutron_public_interface_ip}
573 nodeid: {get_input: bootstack_nodeid}
575 db: {get_input: cinder_dsn}
576 debug: {get_input: debug}
577 volume_size_mb: {get_input: cinder_lvm_loop_device_size}
578 service-password: {get_input: cinder_password}
579 iscsi-helper: {get_input: CinderISCSIHelper}
580 controller-address: {get_input: controller_host}
582 bindnetaddr: {get_input: controller_host}
585 stonith_enabled : false
587 quorum_policy : ignore
591 host: {get_input: controller_virtual_ip}
593 db: {get_input: glance_dsn}
594 debug: {get_input: debug}
595 host: {get_input: controller_virtual_ip}
596 port: {get_input: glance_port}
597 protocol: {get_input: glance_protocol}
598 service-password: {get_input: glance_password}
599 swift-store-user: service:glance
600 swift-store-key: {get_input: glance_password}
601 notifier-strategy: {get_input: glance_notifier_strategy}
602 log-file: {get_input: glance_log_file}
604 admin_password: {get_input: heat_password}
605 admin_tenant_name: service
607 auth_encryption_key: {get_input: heat_auth_encryption_key}
608 db: {get_input: heat_dsn}
609 debug: {get_input: debug}
610 stack_domain_admin_password: {get_input: heat_stack_domain_admin_password}
611 watch_server_url: {get_input: heat.watch_server_url}
612 metadata_server_url: {get_input: heat.metadata_server_url}
613 waitcondition_server_url: {get_input: heat.waitcondition_server_url}
615 db: {get_input: keystone_dsn}
616 debug: {get_input: debug}
617 host: {get_input: controller_virtual_ip}
618 ca_certificate: {get_input: keystone_ca_certificate}
619 signing_key: {get_input: keystone_signing_key}
620 signing_certificate: {get_input: keystone_signing_certificate}
622 certificate: {get_input: keystone_ssl_certificate}
623 certificate_key: {get_input: keystone_ssl_certificate_key}
625 innodb_buffer_pool_size: {get_input: mysql_innodb_buffer_pool_size}
627 root-password: {get_input: mysql_root_password}
628 cluster_name: {get_input: mysql_cluster_name}
630 debug: {get_input: debug}
631 flat-networks: {get_input: neutron_flat_networks}
632 host: {get_input: controller_virtual_ip}
633 metadata_proxy_shared_secret: {get_input: neutron_metadata_proxy_shared_secret}
634 agent_mode: {get_input: neutron_agent_mode}
635 router_distributed: {get_input: neutron_router_distributed}
636 mechanism_drivers: {get_input: neutron_mechanism_drivers}
637 allow_automatic_l3agent_failover: {get_input: neutron_allow_l3agent_failover}
638 l3_ha: {get_input: neutron_l3_ha}
640 enable_tunneling: {get_input: neutron_enable_tunneling}
641 local_ip: {get_input: controller_host}
642 network_vlan_ranges: {get_input: neutron_network_vlan_ranges}
643 bridge_mappings: {get_input: neutron_bridge_mappings}
644 public_interface: {get_input: neutron_public_interface}
645 public_interface_raw_device: {get_input: neutron_public_interface_raw_device}
646 public_interface_route: {get_input: neutron_public_interface_default_route}
647 public_interface_tag: {get_input: neutron_public_interface_tag}
648 physical_bridge: br-ex
649 tenant_network_type: {get_input: neutron_tenant_network_type}
650 tunnel_types: {get_input: neutron_tunnel_types}
651 ovs_db: {get_input: neutron_dsn}
652 service-password: {get_input: neutron_password}
653 dnsmasq-options: {get_input: neutron_dnsmasq_options}
655 db: {get_input: ceilometer_dsn}
656 debug: {get_input: debug}
657 metering_secret: {get_input: ceilometer_metering_secret}
658 service-password: {get_input: ceilometer_password}
660 export_MIB: UCD-SNMP-MIB
661 readonly_user_name: {get_input: snmpd_readonly_user_name}
662 readonly_user_password: {get_input: snmpd_readonly_user_password}
664 compute_driver: libvirt.LibvirtDriver
665 db: {get_input: nova_dsn}
666 default_floating_pool:
668 host: {get_input: controller_virtual_ip}
670 service-password: {get_input: nova_password}
672 host: {get_input: controller_virtual_ip}
673 username: {get_input: rabbit_username}
674 password: {get_input: rabbit_password}
675 cookie: {get_input: rabbit_cookie}
676 rabbit_client_use_ssl: {get_input: rabbit_client_use_ssl}
677 rabbit_port: {get_input: rabbit_client_port}
680 - {server: {get_input: ntp_server}}
683 - vrrp_instance_name: VI_CONTROL
684 virtual_router_id: 51
685 keepalive_interface: {get_input: control_virtual_interface}
688 - ip: {get_input: controller_virtual_ip}
689 interface: {get_input: control_virtual_interface}
690 - vrrp_instance_name: VI_PUBLIC
691 virtual_router_id: 52
692 keepalive_interface: {get_input: public_virtual_interface}
695 - ip: {get_input: public_virtual_ip}
696 interface: {get_input: public_virtual_interface}
703 keepalive_interface: {get_input: public_virtual_interface}
707 ip: {get_input: controller_virtual_ip}
708 interface: {get_input: control_virtual_interface}
710 ip: {get_input: public_virtual_ip}
711 interface: {get_input: public_virtual_interface}
714 - ip: {get_input: controller_virtual_ip}
716 - option httpchk GET /
718 - name: keystone_admin
720 net_binds: &public_binds
721 - ip: {get_input: controller_virtual_ip}
722 - ip: {get_input: public_virtual_ip}
723 - name: keystone_public
725 net_binds: *public_binds
728 net_binds: *public_binds
731 net_binds: *public_binds
734 net_binds: *public_binds
737 net_binds: *public_binds
738 - name: glance_registry
740 net_binds: *public_binds
741 options: # overwrite options as glace_reg needs auth for http req
744 net_binds: *public_binds
745 - name: heat_cloudwatch
747 net_binds: *public_binds
750 net_binds: *public_binds
762 net_binds: *public_binds
763 - name: nova_metadata
765 net_binds: *public_binds
766 - name: nova_novncproxy
768 net_binds: *public_binds
771 net_binds: *public_binds
772 options: # overwrite options as ceil needs auth for http req
773 - name: swift_proxy_server
775 net_binds: *public_binds
777 - option httpchk GET /info
785 ControllerDeployment:
786 type: OS::TripleO::SoftwareDeployment
788 signal_transport: NO_SIGNAL
789 config: {get_resource: ControllerConfig}
790 server: {get_resource: Controller}
792 bootstack_nodeid: {get_attr: [Controller, name]}
793 controller_host: {get_attr: [Controller, networks, ctlplane, 0]}
794 controller_virtual_ip: {get_param: VirtualIP}
795 neutron_enable_tunneling: {get_param: NeutronEnableTunnelling}
796 heat.watch_server_url:
800 - {get_param: VirtualIP}
802 heat.metadata_server_url:
806 - {get_param: VirtualIP}
808 heat.waitcondition_server_url:
812 - {get_param: VirtualIP}
813 - ':8000/v1/waitcondition'
814 admin_password: {get_param: AdminPassword}
815 admin_token: {get_param: AdminToken}
816 neutron_public_interface_ip: {get_param: NeutronPublicInterfaceIP}
817 debug: {get_param: Debug}
818 cinder_lvm_loop_device_size: {get_param: CinderLVMLoopDeviceSize}
819 cinder_password: {get_param: CinderPassword}
820 cinder_iscsi_helper: {get_param: CinderISCSIHelper}
824 - - 'mysql://cinder:'
825 - {get_param: CinderPassword}
827 - {get_param: VirtualIP}
829 glance_port: {get_param: GlancePort}
830 glance_protocol: {get_param: GlanceProtocol}
831 glance_password: {get_param: GlancePassword}
832 glance_notifier_strategy: {get_param: GlanceNotifierStrategy}
833 glance_log_file: {get_param: GlanceLogFile}
837 - - 'mysql://glance:'
838 - {get_param: GlancePassword}
840 - {get_param: VirtualIP}
842 heat_password: {get_param: HeatPassword}
843 heat_stack_domain_admin_password: {get_param: HeatStackDomainAdminPassword}
844 heat_auth_encryption_key: {get_param: HeatAuthEncryptionKey}
849 - {get_param: HeatPassword}
851 - {get_param: VirtualIP}
853 keystone_ca_certificate: {get_param: KeystoneCACertificate}
854 keystone_signing_key: {get_param: KeystoneSigningKey}
855 keystone_signing_certificate: {get_param: KeystoneSigningCertificate}
856 keystone_ssl_certificate: {get_param: KeystoneSSLCertificate}
857 keystone_ssl_certificate_key: {get_param: KeystoneSSLCertificateKey}
861 - - 'mysql://keystone:'
862 - {get_param: AdminToken}
864 - {get_param: VirtualIP}
866 mysql_innodb_buffer_pool_size: {get_param: MysqlInnodbBufferPoolSize}
867 mysql_root_password: {get_param: MysqlRootPassword}
870 template: tripleo-CLUSTER
872 CLUSTER: {get_param: MysqlClusterUniquePart}
873 neutron_flat_networks: {get_param: NeutronFlatNetworks}
874 neutron_metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
875 neutron_agent_mode: {get_param: NeutronAgentMode}
876 neutron_router_distributed: {get_param: NeutronDVR}
877 neutron_mechanism_drivers: {get_param: NeutronMechanismDrivers}
878 neutron_allow_l3agent_failover: {get_param: NeutronAllowL3AgentFailover}
879 neutron_l3_ha: {get_param: NeutronL3HA}
880 neutron_network_vlan_ranges: {get_param: NeutronNetworkVLANRanges}
881 neutron_bridge_mappings: {get_param: NeutronBridgeMappings}
882 neutron_public_interface: {get_param: NeutronPublicInterface}
883 neutron_public_interface_raw_device: {get_param: NeutronPublicInterfaceRawDevice}
884 neutron_public_interface_default_route: {get_param: NeutronPublicInterfaceDefaultRoute}
885 neutron_public_interface_tag: {get_param: NeutronPublicInterfaceTag}
886 neutron_tenant_network_type: {get_param: NeutronNetworkType}
887 neutron_tunnel_types: {get_param: NeutronTunnelTypes}
888 neutron_password: {get_param: NeutronPassword}
889 neutron_dnsmasq_options: {get_param: NeutronDnsmasqOptions}
893 - - 'mysql://neutron:'
894 - {get_param: NeutronPassword}
896 - {get_param: VirtualIP}
897 - '/ovs_neutron?charset=utf8'
898 ceilometer_metering_secret: {get_param: CeilometerMeteringSecret}
899 ceilometer_password: {get_param: CeilometerPassword}
903 - - 'mysql://ceilometer:'
904 - {get_param: CeilometerPassword}
906 - {get_param: VirtualIP}
908 snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName}
909 snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword}
910 nova_password: {get_param: NovaPassword}
915 - {get_param: NovaPassword}
917 - {get_param: VirtualIP}
919 rabbit_username: {get_param: RabbitUserName}
920 rabbit_password: {get_param: RabbitPassword}
921 rabbit_cookie: {get_param: RabbitCookie}
922 rabbit_client_use_ssl: {get_param: RabbitClientUseSSL}
923 rabbit_client_port: {get_param: RabbitClientPort}
924 ntp_server: {get_param: NtpServer}
925 control_virtual_interface: {get_param: ControlVirtualInterface}
926 public_virtual_interface: {get_param: PublicVirtualInterface}
927 public_virtual_ip: {get_param: PublicVirtualIP}
930 type: OS::Heat::StructuredConfig
932 group: os-apply-config
935 ca_certificate: {get_input: ssl_ca_certificate}
937 cert: {get_input: ssl_certificate}
938 key: {get_input: ssl_key}
939 cacert: {get_input: ssl_ca_certificate}
944 connect_host: {get_input: controller_host}
948 connect_host: {get_input: controller_host}
952 connect_host: {get_input: controller_host}
956 connect_host: {get_input: controller_host}
960 connect_host: {get_input: controller_host}
961 - name: 'swift-proxy'
964 connect_host: {get_input: controller_host}
968 connect_host: {get_input: controller_host}
972 connect_host: {get_input: controller_host}
974 ControllerSSLDeployment:
975 type: OS::Heat::StructuredDeployment
977 config: {get_resource: SSLConfig}
978 server: {get_resource: Controller}
979 signal_transport: NO_SIGNAL
981 controller_host: {get_attr: [Controller, networks, ctlplane, 0]}
982 ssl_certificate: {get_param: SSLCertificate}
983 ssl_key: {get_param: SSLKey}
984 ssl_ca_certificate: {get_param: SSLCACertificate}
986 ControllerPassthroughDeployment:
987 type: OS::Heat::StructuredDeployment
989 config: {get_resource: ControllerPassthroughConfig}
990 server: {get_resource: Controller}
991 signal_transport: NO_SIGNAL
993 passthrough_config: {get_param: ExtraConfig}
995 ControllerPassthroughSpecificDeployment:
996 depends_on: [ControllerPassthroughDeployment]
997 type: OS::Heat::StructuredDeployment
999 config: {get_resource: ControllerPassthroughConfigSpecific}
1000 server: {get_resource: Controller}
1001 signal_transport: NO_SIGNAL
1003 passthrough_config_specific: {get_param: ControllerExtraConfig}
1006 type: OS::Heat::StructuredConfig
1008 group: os-apply-config
1011 hash: { get_input: swift_hash_suffix }
1012 part-power: { get_input: swift_part_power }
1013 mount-check: { get_input: swift_mount_check }
1014 min-part-hours: { get_input: swift_min_part_hours }
1015 replicas: {get_input: swift_replicas }
1016 service-password: { get_input: swift_password }
1019 type: OS::Heat::StructuredDeployment
1021 server: {get_resource: Controller}
1022 config: {get_resource: SwiftConfig}
1023 signal_transport: NO_SIGNAL
1025 swift_hash_suffix: {get_param: SwiftHashSuffix}
1026 swift_mount_check: {get_param: SwiftMountCheck}
1027 swift_password: {get_param: SwiftPassword}
1028 swift_min_part_hours: {get_param: SwiftMinPartHours}
1029 swift_part_power: {get_param: SwiftPartPower}
1030 swift_replicas: { get_param: SwiftReplicas}
1034 description: IP address of the server in the ctlplane network
1035 value: {get_attr: [Controller, networks, ctlplane, 0]}
1036 external_ip_address:
1037 description: IP address of the server in the external network
1038 value: {get_attr: [ExternalPort, ip_address]}
1039 internal_api_ip_address:
1040 description: IP address of the server in the internal_api network
1041 value: {get_attr: [InternalApiPort, ip_address]}
1043 description: IP address of the server in the storage network
1044 value: {get_attr: [StoragePort, ip_address]}
1045 storage_mgmt_ip_address:
1046 description: IP address of the server in the storage_mgmt network
1047 value: {get_attr: [StorageMgmtPort, ip_address]}
1049 description: IP address of the server in the tenant network
1050 value: {get_attr: [TenantPort, ip_address]}
1052 description: Hostname of the server
1053 value: {get_attr: [Controller, name]}
1056 Node object in the format {ip: ..., name: ...} format that the corosync
1059 ip: {get_attr: [Controller, networks, ctlplane, 0]}
1060 name: {get_attr: [Controller, name]}
1063 Server's IP address and hostname in the /etc/hosts format
1066 template: IP HOST CLOUDNAME
1068 IP: {get_attr: [Controller, networks, ctlplane, 0]}
1069 HOST: {get_attr: [Controller, name]}
1070 CLOUDNAME: {get_param: CloudName}
1071 nova_server_resource:
1072 description: Heat resource handle for the Nova compute server
1074 {get_resource: Controller}
1076 description: Swift device formatted for swift-ring-builder
1079 template: 'r1z1-IP:%PORT%/d1'
1081 IP: {get_attr: [Controller, networks, ctlplane, 0]}
1082 swift_proxy_memcache:
1083 description: Swift proxy-memcache value
1086 template: "IP:11211"
1088 IP: {get_attr: [Controller, networks, ctlplane, 0]}
1090 description: identifier which changes if the node configuration may need re-applying
1091 value: "None - NO_SIGNAL"