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 NeutronBridgeMappings:
262 The OVS logical->physical bridge mappings to use. See the Neutron
263 documentation for details. Defaults to mapping br-ex - the external
264 bridge on hosts - to a physical name 'datacentre' which can be used
265 to create provider networks (and we use this for the default floating
266 network) - if changing this either use different post-install network
267 scripts or be sure to keep 'datacentre' as a mapping network name.
269 default: "datacentre:br-ex"
270 NeutronDnsmasqOptions:
271 default: 'dhcp-option-force=26,1400'
272 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.
276 description: Agent mode for the neutron-l3-agent on the controller hosts
280 description: Whether to configure Neutron Distributed Virtual Routers
282 NeutronMetadataProxySharedSecret:
284 description: Shared secret to prevent spoofing
286 NeutronMechanismDrivers:
287 default: 'openvswitch'
289 The mechanism drivers for the Neutron tenant network. To specify multiple
290 values, use a comma separated string, like so: 'openvswitch,l2_population'
292 NeutronAllowL3AgentFailover:
294 description: Allow automatic l3-agent failover
298 description: Whether to enable l3-agent HA
300 NeutronEnableTunnelling:
305 default: 'datacentre'
306 description: If set, flat networks to configure in neutron plugins.
309 description: The tenant network type for Neutron, either gre or vxlan.
311 NeutronNetworkVLANRanges:
312 default: 'datacentre'
314 The Neutron ML2 and OpenVSwitch vlan mapping range to support. See the
315 Neutron documentation for permitted values. Defaults to permitting any
316 VLAN on the 'datacentre' physical network (See NeutronBridgeMappings).
317 type: comma_delimited_list
320 description: The password for the neutron service and db account, used by neutron agents.
323 NeutronPublicInterface:
325 description: What interface to bridge onto br-ex for network nodes.
327 NeutronPublicInterfaceTag:
330 VLAN tag for creating a public VLAN. The tag will be used to
331 create an access port on the exterior bridge for each control plane node,
332 and that port will be given the IP address returned by neutron from the
333 public network. Set CONTROLEXTRA=overcloud-vlan-port.yaml when compiling
334 overcloud.yaml to include the deployment of VLAN ports to the control
337 NeutronPublicInterfaceDefaultRoute:
339 description: A custom default route for the NeutronPublicInterface.
341 NeutronPublicInterfaceIP:
343 description: A custom IP address to put onto the NeutronPublicInterface.
345 NeutronPublicInterfaceRawDevice:
347 description: If set, the public interface is a vlan with this device as the raw device.
352 The tunnel types for the Neutron tenant network. To specify multiple
353 values, use a comma separated string, like so: 'gre,vxlan'
357 description: The password for the nova service and db account, used by nova-api.
365 description: The password for the 'pcsd' user.
366 PublicVirtualInterface:
369 Specifies the interface where the public-facing virtual ip will be assigned.
370 This should be int_public when a VLAN is being used.
374 default: '' # Has to be here because of the ignored empty value bug
377 default: '' # Has to be here because of the ignored empty value bug
381 description: The password for RabbitMQ
386 description: The username for RabbitMQ
391 Rabbit client subscriber parameter to specify
392 an SSL connection to the RabbitMQ host.
396 description: Set rabbit subscriber port, change this if using SSL
400 default: '' # Has to be here because of the ignored empty value bug
401 SnmpdReadonlyUserName:
402 default: ro_snmp_user
403 description: The user name for SNMPd with readonly rights running on all Overcloud nodes
405 SnmpdReadonlyUserPassword:
407 description: The user password for SNMPd with readonly rights running on all Overcloud nodes
412 description: If set, the contents of an SSL certificate authority file.
416 description: If set, the contents of an SSL certificate .crt file for encrypting SSL endpoints.
421 description: If set, the contents of an SSL certificate .key file for encrypting SSL endpoints.
426 description: A random string to be used as a salt when hashing to determine mappings
432 description: Value of mount_check in Swift account/container/object -server.conf
437 description: The minimum time (in hours) before a partition in a ring can be moved following a rebalance.
440 description: Partition Power to use when building Swift rings
444 description: The password for the swift service account, used by the swift proxy
451 description: How many replicas to use in the swift rings.
454 default: '' # Has to be here because of the ignored empty value bug
464 KeystonePublicApiVirtualIP:
472 description: Mapping of service_name -> network name. Typically set
473 via parameter_defaults in the resource registry.
479 Setting to a previously unused value during stack-update will trigger
480 package update on all nodes
483 default: '' # Defaults to Heat created hostname
488 type: OS::Nova::Server
490 image: {get_param: Image}
491 image_update_policy: {get_param: ImageUpdatePolicy}
492 flavor: {get_param: Flavor}
493 key_name: {get_param: KeyName}
496 user_data_format: SOFTWARE_CONFIG
497 user_data: {get_resource: NodeUserData}
498 name: {get_param: Hostname}
501 type: OS::TripleO::NodeUserData
504 type: OS::TripleO::Controller::Ports::ExternalPort
506 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
509 type: OS::TripleO::Controller::Ports::InternalApiPort
511 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
514 type: OS::TripleO::Controller::Ports::StoragePort
516 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
519 type: OS::TripleO::Controller::Ports::StorageMgmtPort
521 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
524 type: OS::TripleO::Controller::Ports::TenantPort
526 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
529 type: OS::TripleO::Controller::Net::SoftwareConfig
531 ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]}
532 InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
533 StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
534 StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
535 TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
538 type: OS::TripleO::SoftwareDeployment
540 signal_transport: NO_SIGNAL
541 config: {get_resource: NetworkConfig}
542 server: {get_resource: Controller}
545 interface_name: {get_param: NeutronPublicInterface}
547 ControllerPassthroughConfig:
548 type: OS::Heat::StructuredConfig
550 group: os-apply-config
551 config: {get_input: passthrough_config}
553 ControllerPassthroughConfigSpecific:
554 type: OS::Heat::StructuredConfig
556 group: os-apply-config
557 config: {get_input: passthrough_config_specific}
560 type: OS::Heat::StructuredConfig
562 group: os-apply-config
564 admin-password: {get_input: admin_password}
565 admin-token: {get_input: admin_token}
567 public_interface_ip: {get_input: neutron_public_interface_ip}
569 nodeid: {get_input: bootstack_nodeid}
571 db: {get_input: cinder_dsn}
572 debug: {get_input: debug}
573 volume_size_mb: {get_input: cinder_lvm_loop_device_size}
574 service-password: {get_input: cinder_password}
575 iscsi-helper: {get_input: CinderISCSIHelper}
576 controller-address: {get_input: controller_host}
578 bindnetaddr: {get_input: controller_host}
581 stonith_enabled : false
583 quorum_policy : ignore
587 host: {get_input: controller_virtual_ip}
589 db: {get_input: glance_dsn}
590 debug: {get_input: debug}
591 host: {get_input: controller_virtual_ip}
592 port: {get_input: glance_port}
593 protocol: {get_input: glance_protocol}
594 service-password: {get_input: glance_password}
595 swift-store-user: service:glance
596 swift-store-key: {get_input: glance_password}
597 notifier-strategy: {get_input: glance_notifier_strategy}
598 log-file: {get_input: glance_log_file}
600 admin_password: {get_input: heat_password}
601 admin_tenant_name: service
603 auth_encryption_key: {get_input: heat_auth_encryption_key}
604 db: {get_input: heat_dsn}
605 debug: {get_input: debug}
606 stack_domain_admin_password: {get_input: heat_stack_domain_admin_password}
607 watch_server_url: {get_input: heat.watch_server_url}
608 metadata_server_url: {get_input: heat.metadata_server_url}
609 waitcondition_server_url: {get_input: heat.waitcondition_server_url}
611 db: {get_input: keystone_dsn}
612 debug: {get_input: debug}
613 host: {get_input: controller_virtual_ip}
614 ca_certificate: {get_input: keystone_ca_certificate}
615 signing_key: {get_input: keystone_signing_key}
616 signing_certificate: {get_input: keystone_signing_certificate}
618 certificate: {get_input: keystone_ssl_certificate}
619 certificate_key: {get_input: keystone_ssl_certificate_key}
621 innodb_buffer_pool_size: {get_input: mysql_innodb_buffer_pool_size}
623 root-password: {get_input: mysql_root_password}
624 cluster_name: {get_input: mysql_cluster_name}
626 debug: {get_input: debug}
627 flat-networks: {get_input: neutron_flat_networks}
628 host: {get_input: controller_virtual_ip}
629 metadata_proxy_shared_secret: {get_input: neutron_metadata_proxy_shared_secret}
630 agent_mode: {get_input: neutron_agent_mode}
631 router_distributed: {get_input: neutron_router_distributed}
632 mechanism_drivers: {get_input: neutron_mechanism_drivers}
633 allow_automatic_l3agent_failover: {get_input: neutron_allow_l3agent_failover}
634 l3_ha: {get_input: neutron_l3_ha}
636 enable_tunneling: {get_input: neutron_enable_tunneling}
637 local_ip: {get_input: controller_host}
638 network_vlan_ranges: {get_input: neutron_network_vlan_ranges}
639 bridge_mappings: {get_input: neutron_bridge_mappings}
640 public_interface: {get_input: neutron_public_interface}
641 public_interface_raw_device: {get_input: neutron_public_interface_raw_device}
642 public_interface_route: {get_input: neutron_public_interface_default_route}
643 public_interface_tag: {get_input: neutron_public_interface_tag}
644 physical_bridge: br-ex
645 tenant_network_type: {get_input: neutron_tenant_network_type}
646 tunnel_types: {get_input: neutron_tunnel_types}
647 ovs_db: {get_input: neutron_dsn}
648 service-password: {get_input: neutron_password}
649 dnsmasq-options: {get_input: neutron_dnsmasq_options}
651 db: {get_input: ceilometer_dsn}
652 debug: {get_input: debug}
653 metering_secret: {get_input: ceilometer_metering_secret}
654 service-password: {get_input: ceilometer_password}
656 export_MIB: UCD-SNMP-MIB
657 readonly_user_name: {get_input: snmpd_readonly_user_name}
658 readonly_user_password: {get_input: snmpd_readonly_user_password}
660 compute_driver: libvirt.LibvirtDriver
661 db: {get_input: nova_dsn}
662 default_floating_pool:
664 host: {get_input: controller_virtual_ip}
666 service-password: {get_input: nova_password}
668 host: {get_input: controller_virtual_ip}
669 username: {get_input: rabbit_username}
670 password: {get_input: rabbit_password}
671 cookie: {get_input: rabbit_cookie}
672 rabbit_client_use_ssl: {get_input: rabbit_client_use_ssl}
673 rabbit_port: {get_input: rabbit_client_port}
676 - {server: {get_input: ntp_server}}
679 - vrrp_instance_name: VI_CONTROL
680 virtual_router_id: 51
681 keepalive_interface: {get_input: control_virtual_interface}
684 - ip: {get_input: controller_virtual_ip}
685 interface: {get_input: control_virtual_interface}
686 - vrrp_instance_name: VI_PUBLIC
687 virtual_router_id: 52
688 keepalive_interface: {get_input: public_virtual_interface}
691 - ip: {get_input: public_virtual_ip}
692 interface: {get_input: public_virtual_interface}
699 keepalive_interface: {get_input: public_virtual_interface}
703 ip: {get_input: controller_virtual_ip}
704 interface: {get_input: control_virtual_interface}
706 ip: {get_input: public_virtual_ip}
707 interface: {get_input: public_virtual_interface}
710 - ip: {get_input: controller_virtual_ip}
712 - option httpchk GET /
714 - name: keystone_admin
716 net_binds: &public_binds
717 - ip: {get_input: controller_virtual_ip}
718 - ip: {get_input: public_virtual_ip}
719 - name: keystone_public
721 net_binds: *public_binds
724 net_binds: *public_binds
727 net_binds: *public_binds
730 net_binds: *public_binds
733 net_binds: *public_binds
734 - name: glance_registry
736 net_binds: *public_binds
737 options: # overwrite options as glace_reg needs auth for http req
740 net_binds: *public_binds
741 - name: heat_cloudwatch
743 net_binds: *public_binds
746 net_binds: *public_binds
758 net_binds: *public_binds
759 - name: nova_metadata
761 net_binds: *public_binds
762 - name: nova_novncproxy
764 net_binds: *public_binds
767 net_binds: *public_binds
768 options: # overwrite options as ceil needs auth for http req
769 - name: swift_proxy_server
771 net_binds: *public_binds
773 - option httpchk GET /info
781 ControllerDeployment:
782 type: OS::TripleO::SoftwareDeployment
784 signal_transport: NO_SIGNAL
785 config: {get_resource: ControllerConfig}
786 server: {get_resource: Controller}
788 bootstack_nodeid: {get_attr: [Controller, name]}
789 controller_host: {get_attr: [Controller, networks, ctlplane, 0]}
790 controller_virtual_ip: {get_param: VirtualIP}
791 neutron_enable_tunneling: {get_param: NeutronEnableTunnelling}
792 heat.watch_server_url:
796 - {get_param: VirtualIP}
798 heat.metadata_server_url:
802 - {get_param: VirtualIP}
804 heat.waitcondition_server_url:
808 - {get_param: VirtualIP}
809 - ':8000/v1/waitcondition'
810 admin_password: {get_param: AdminPassword}
811 admin_token: {get_param: AdminToken}
812 neutron_public_interface_ip: {get_param: NeutronPublicInterfaceIP}
813 debug: {get_param: Debug}
814 cinder_lvm_loop_device_size: {get_param: CinderLVMLoopDeviceSize}
815 cinder_password: {get_param: CinderPassword}
816 cinder_iscsi_helper: {get_param: CinderISCSIHelper}
820 - - 'mysql://cinder:'
821 - {get_param: CinderPassword}
823 - {get_param: VirtualIP}
825 glance_port: {get_param: GlancePort}
826 glance_protocol: {get_param: GlanceProtocol}
827 glance_password: {get_param: GlancePassword}
828 glance_notifier_strategy: {get_param: GlanceNotifierStrategy}
829 glance_log_file: {get_param: GlanceLogFile}
833 - - 'mysql://glance:'
834 - {get_param: GlancePassword}
836 - {get_param: VirtualIP}
838 heat_password: {get_param: HeatPassword}
839 heat_stack_domain_admin_password: {get_param: HeatStackDomainAdminPassword}
840 heat_auth_encryption_key: {get_param: HeatAuthEncryptionKey}
845 - {get_param: HeatPassword}
847 - {get_param: VirtualIP}
849 keystone_ca_certificate: {get_param: KeystoneCACertificate}
850 keystone_signing_key: {get_param: KeystoneSigningKey}
851 keystone_signing_certificate: {get_param: KeystoneSigningCertificate}
852 keystone_ssl_certificate: {get_param: KeystoneSSLCertificate}
853 keystone_ssl_certificate_key: {get_param: KeystoneSSLCertificateKey}
857 - - 'mysql://keystone:'
858 - {get_param: AdminToken}
860 - {get_param: VirtualIP}
862 mysql_innodb_buffer_pool_size: {get_param: MysqlInnodbBufferPoolSize}
863 mysql_root_password: {get_param: MysqlRootPassword}
866 template: tripleo-CLUSTER
868 CLUSTER: {get_param: MysqlClusterUniquePart}
869 neutron_flat_networks: {get_param: NeutronFlatNetworks}
870 neutron_metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
871 neutron_agent_mode: {get_param: NeutronAgentMode}
872 neutron_router_distributed: {get_param: NeutronDVR}
873 neutron_mechanism_drivers: {get_param: NeutronMechanismDrivers}
874 neutron_allow_l3agent_failover: {get_param: NeutronAllowL3AgentFailover}
875 neutron_l3_ha: {get_param: NeutronL3HA}
876 neutron_network_vlan_ranges: {get_param: NeutronNetworkVLANRanges}
877 neutron_bridge_mappings: {get_param: NeutronBridgeMappings}
878 neutron_public_interface: {get_param: NeutronPublicInterface}
879 neutron_public_interface_raw_device: {get_param: NeutronPublicInterfaceRawDevice}
880 neutron_public_interface_default_route: {get_param: NeutronPublicInterfaceDefaultRoute}
881 neutron_public_interface_tag: {get_param: NeutronPublicInterfaceTag}
882 neutron_tenant_network_type: {get_param: NeutronNetworkType}
883 neutron_tunnel_types: {get_param: NeutronTunnelTypes}
884 neutron_password: {get_param: NeutronPassword}
885 neutron_dnsmasq_options: {get_param: NeutronDnsmasqOptions}
889 - - 'mysql://neutron:'
890 - {get_param: NeutronPassword}
892 - {get_param: VirtualIP}
893 - '/ovs_neutron?charset=utf8'
894 ceilometer_metering_secret: {get_param: CeilometerMeteringSecret}
895 ceilometer_password: {get_param: CeilometerPassword}
899 - - 'mysql://ceilometer:'
900 - {get_param: CeilometerPassword}
902 - {get_param: VirtualIP}
904 snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName}
905 snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword}
906 nova_password: {get_param: NovaPassword}
911 - {get_param: NovaPassword}
913 - {get_param: VirtualIP}
915 rabbit_username: {get_param: RabbitUserName}
916 rabbit_password: {get_param: RabbitPassword}
917 rabbit_cookie: {get_param: RabbitCookie}
918 rabbit_client_use_ssl: {get_param: RabbitClientUseSSL}
919 rabbit_client_port: {get_param: RabbitClientPort}
920 ntp_server: {get_param: NtpServer}
921 control_virtual_interface: {get_param: ControlVirtualInterface}
922 public_virtual_interface: {get_param: PublicVirtualInterface}
923 public_virtual_ip: {get_param: PublicVirtualIP}
926 type: OS::Heat::StructuredConfig
928 group: os-apply-config
931 ca_certificate: {get_input: ssl_ca_certificate}
933 cert: {get_input: ssl_certificate}
934 key: {get_input: ssl_key}
935 cacert: {get_input: ssl_ca_certificate}
940 connect_host: {get_input: controller_host}
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}
957 - name: 'swift-proxy'
960 connect_host: {get_input: controller_host}
964 connect_host: {get_input: controller_host}
968 connect_host: {get_input: controller_host}
970 ControllerSSLDeployment:
971 type: OS::Heat::StructuredDeployment
973 config: {get_resource: SSLConfig}
974 server: {get_resource: Controller}
975 signal_transport: NO_SIGNAL
977 controller_host: {get_attr: [Controller, networks, ctlplane, 0]}
978 ssl_certificate: {get_param: SSLCertificate}
979 ssl_key: {get_param: SSLKey}
980 ssl_ca_certificate: {get_param: SSLCACertificate}
982 ControllerPassthroughDeployment:
983 type: OS::Heat::StructuredDeployment
985 config: {get_resource: ControllerPassthroughConfig}
986 server: {get_resource: Controller}
987 signal_transport: NO_SIGNAL
989 passthrough_config: {get_param: ExtraConfig}
991 ControllerPassthroughSpecificDeployment:
992 depends_on: [ControllerPassthroughDeployment]
993 type: OS::Heat::StructuredDeployment
995 config: {get_resource: ControllerPassthroughConfigSpecific}
996 server: {get_resource: Controller}
997 signal_transport: NO_SIGNAL
999 passthrough_config_specific: {get_param: ControllerExtraConfig}
1002 type: OS::Heat::StructuredConfig
1004 group: os-apply-config
1007 hash: { get_input: swift_hash_suffix }
1008 part-power: { get_input: swift_part_power }
1009 mount-check: { get_input: swift_mount_check }
1010 min-part-hours: { get_input: swift_min_part_hours }
1011 replicas: {get_input: swift_replicas }
1012 service-password: { get_input: swift_password }
1015 type: OS::Heat::StructuredDeployment
1017 server: {get_resource: Controller}
1018 config: {get_resource: SwiftConfig}
1019 signal_transport: NO_SIGNAL
1021 swift_hash_suffix: {get_param: SwiftHashSuffix}
1022 swift_mount_check: {get_param: SwiftMountCheck}
1023 swift_password: {get_param: SwiftPassword}
1024 swift_min_part_hours: {get_param: SwiftMinPartHours}
1025 swift_part_power: {get_param: SwiftPartPower}
1026 swift_replicas: { get_param: SwiftReplicas}
1030 description: IP address of the server in the ctlplane network
1031 value: {get_attr: [Controller, networks, ctlplane, 0]}
1032 external_ip_address:
1033 description: IP address of the server in the external network
1034 value: {get_attr: [ExternalPort, ip_address]}
1035 internal_api_ip_address:
1036 description: IP address of the server in the internal_api network
1037 value: {get_attr: [InternalApiPort, ip_address]}
1039 description: IP address of the server in the storage network
1040 value: {get_attr: [StoragePort, ip_address]}
1041 storage_mgmt_ip_address:
1042 description: IP address of the server in the storage_mgmt network
1043 value: {get_attr: [StorageMgmtPort, ip_address]}
1045 description: IP address of the server in the tenant network
1046 value: {get_attr: [TenantPort, ip_address]}
1048 description: Hostname of the server
1049 value: {get_attr: [Controller, name]}
1052 Node object in the format {ip: ..., name: ...} format that the corosync
1055 ip: {get_attr: [Controller, networks, ctlplane, 0]}
1056 name: {get_attr: [Controller, name]}
1059 Server's IP address and hostname in the /etc/hosts format
1062 template: IP HOST CLOUDNAME
1064 IP: {get_attr: [Controller, networks, ctlplane, 0]}
1065 HOST: {get_attr: [Controller, name]}
1066 CLOUDNAME: {get_param: CloudName}
1067 nova_server_resource:
1068 description: Heat resource handle for the Nova compute server
1070 {get_resource: Controller}
1072 description: Swift device formatted for swift-ring-builder
1075 template: 'r1z1-IP:%PORT%/d1'
1077 IP: {get_attr: [Controller, networks, ctlplane, 0]}
1078 swift_proxy_memcache:
1079 description: Swift proxy-memcache value
1082 template: "IP:11211"
1084 IP: {get_attr: [Controller, networks, ctlplane, 0]}
1086 description: identifier which changes if the node configuration may need re-applying
1087 value: "None - NO_SIGNAL"