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 NeutronDhcpAgentsPerNetwork:
307 description: The number of neutron dhcp agents to schedule per network
308 NeutronEnableTunnelling:
313 default: 'datacentre'
314 description: If set, flat networks to configure in neutron plugins.
317 description: The tenant network type for Neutron, either gre or vxlan.
319 NeutronNetworkVLANRanges:
320 default: 'datacentre'
322 The Neutron ML2 and OpenVSwitch vlan mapping range to support. See the
323 Neutron documentation for permitted values. Defaults to permitting any
324 VLAN on the 'datacentre' physical network (See NeutronBridgeMappings).
325 type: comma_delimited_list
328 description: The password for the neutron service and db account, used by neutron agents.
331 NeutronPublicInterface:
333 description: What interface to bridge onto br-ex for network nodes.
335 NeutronPublicInterfaceTag:
338 VLAN tag for creating a public VLAN. The tag will be used to
339 create an access port on the exterior bridge for each control plane node,
340 and that port will be given the IP address returned by neutron from the
341 public network. Set CONTROLEXTRA=overcloud-vlan-port.yaml when compiling
342 overcloud.yaml to include the deployment of VLAN ports to the control
345 NeutronPublicInterfaceDefaultRoute:
347 description: A custom default route for the NeutronPublicInterface.
349 NeutronPublicInterfaceIP:
351 description: A custom IP address to put onto the NeutronPublicInterface.
353 NeutronPublicInterfaceRawDevice:
355 description: If set, the public interface is a vlan with this device as the raw device.
360 The tunnel types for the Neutron tenant network. To specify multiple
361 values, use a comma separated string, like so: 'gre,vxlan'
365 description: The password for the nova service and db account, used by nova-api.
373 description: The password for the 'pcsd' user.
374 PublicVirtualInterface:
377 Specifies the interface where the public-facing virtual ip will be assigned.
378 This should be int_public when a VLAN is being used.
382 default: '' # Has to be here because of the ignored empty value bug
385 default: '' # Has to be here because of the ignored empty value bug
389 description: The password for RabbitMQ
394 description: The username for RabbitMQ
399 Rabbit client subscriber parameter to specify
400 an SSL connection to the RabbitMQ host.
404 description: Set rabbit subscriber port, change this if using SSL
408 default: '' # Has to be here because of the ignored empty value bug
409 SnmpdReadonlyUserName:
410 default: ro_snmp_user
411 description: The user name for SNMPd with readonly rights running on all Overcloud nodes
413 SnmpdReadonlyUserPassword:
415 description: The user password for SNMPd with readonly rights running on all Overcloud nodes
420 description: If set, the contents of an SSL certificate authority file.
424 description: If set, the contents of an SSL certificate .crt file for encrypting SSL endpoints.
429 description: If set, the contents of an SSL certificate .key file for encrypting SSL endpoints.
434 description: A random string to be used as a salt when hashing to determine mappings
440 description: Value of mount_check in Swift account/container/object -server.conf
445 description: The minimum time (in hours) before a partition in a ring can be moved following a rebalance.
448 description: Partition Power to use when building Swift rings
452 description: The password for the swift service account, used by the swift proxy
459 description: How many replicas to use in the swift rings.
462 default: '' # Has to be here because of the ignored empty value bug
472 KeystonePublicApiVirtualIP:
480 description: Mapping of service_name -> network name. Typically set
481 via parameter_defaults in the resource registry.
487 Setting to a previously unused value during stack-update will trigger
488 package update on all nodes
491 default: '' # Defaults to Heat created hostname
496 type: OS::Nova::Server
498 image: {get_param: Image}
499 image_update_policy: {get_param: ImageUpdatePolicy}
500 flavor: {get_param: Flavor}
501 key_name: {get_param: KeyName}
504 user_data_format: SOFTWARE_CONFIG
505 user_data: {get_resource: NodeUserData}
506 name: {get_param: Hostname}
509 type: OS::TripleO::NodeUserData
512 type: OS::TripleO::Controller::Ports::ExternalPort
514 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
517 type: OS::TripleO::Controller::Ports::InternalApiPort
519 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
522 type: OS::TripleO::Controller::Ports::StoragePort
524 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
527 type: OS::TripleO::Controller::Ports::StorageMgmtPort
529 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
532 type: OS::TripleO::Controller::Ports::TenantPort
534 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
537 type: OS::TripleO::Controller::Net::SoftwareConfig
539 ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]}
540 InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
541 StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
542 StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
543 TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
546 type: OS::TripleO::SoftwareDeployment
548 signal_transport: NO_SIGNAL
549 config: {get_resource: NetworkConfig}
550 server: {get_resource: Controller}
553 interface_name: {get_param: NeutronPublicInterface}
555 ControllerPassthroughConfig:
556 type: OS::Heat::StructuredConfig
558 group: os-apply-config
559 config: {get_input: passthrough_config}
561 ControllerPassthroughConfigSpecific:
562 type: OS::Heat::StructuredConfig
564 group: os-apply-config
565 config: {get_input: passthrough_config_specific}
568 type: OS::Heat::StructuredConfig
570 group: os-apply-config
572 admin-password: {get_input: admin_password}
573 admin-token: {get_input: admin_token}
575 public_interface_ip: {get_input: neutron_public_interface_ip}
577 nodeid: {get_input: bootstack_nodeid}
579 db: {get_input: cinder_dsn}
580 debug: {get_input: debug}
581 volume_size_mb: {get_input: cinder_lvm_loop_device_size}
582 service-password: {get_input: cinder_password}
583 iscsi-helper: {get_input: CinderISCSIHelper}
584 controller-address: {get_input: controller_host}
586 bindnetaddr: {get_input: controller_host}
589 stonith_enabled : false
591 quorum_policy : ignore
595 host: {get_input: controller_virtual_ip}
597 db: {get_input: glance_dsn}
598 debug: {get_input: debug}
599 host: {get_input: controller_virtual_ip}
600 port: {get_input: glance_port}
601 protocol: {get_input: glance_protocol}
602 service-password: {get_input: glance_password}
603 swift-store-user: service:glance
604 swift-store-key: {get_input: glance_password}
605 notifier-strategy: {get_input: glance_notifier_strategy}
606 log-file: {get_input: glance_log_file}
608 admin_password: {get_input: heat_password}
609 admin_tenant_name: service
611 auth_encryption_key: {get_input: heat_auth_encryption_key}
612 db: {get_input: heat_dsn}
613 debug: {get_input: debug}
614 stack_domain_admin_password: {get_input: heat_stack_domain_admin_password}
615 watch_server_url: {get_input: heat.watch_server_url}
616 metadata_server_url: {get_input: heat.metadata_server_url}
617 waitcondition_server_url: {get_input: heat.waitcondition_server_url}
619 db: {get_input: keystone_dsn}
620 debug: {get_input: debug}
621 host: {get_input: controller_virtual_ip}
622 ca_certificate: {get_input: keystone_ca_certificate}
623 signing_key: {get_input: keystone_signing_key}
624 signing_certificate: {get_input: keystone_signing_certificate}
626 certificate: {get_input: keystone_ssl_certificate}
627 certificate_key: {get_input: keystone_ssl_certificate_key}
629 innodb_buffer_pool_size: {get_input: mysql_innodb_buffer_pool_size}
631 root-password: {get_input: mysql_root_password}
632 cluster_name: {get_input: mysql_cluster_name}
634 debug: {get_input: debug}
635 flat-networks: {get_input: neutron_flat_networks}
636 host: {get_input: controller_virtual_ip}
637 metadata_proxy_shared_secret: {get_input: neutron_metadata_proxy_shared_secret}
638 agent_mode: {get_input: neutron_agent_mode}
639 router_distributed: {get_input: neutron_router_distributed}
640 mechanism_drivers: {get_input: neutron_mechanism_drivers}
641 allow_automatic_l3agent_failover: {get_input: neutron_allow_l3agent_failover}
642 l3_ha: {get_input: neutron_l3_ha}
643 dhcp_agents_per_network: {get_input: neutron_dhcp_agents_per_network}
645 enable_tunneling: {get_input: neutron_enable_tunneling}
646 local_ip: {get_input: controller_host}
647 network_vlan_ranges: {get_input: neutron_network_vlan_ranges}
648 bridge_mappings: {get_input: neutron_bridge_mappings}
649 public_interface: {get_input: neutron_public_interface}
650 public_interface_raw_device: {get_input: neutron_public_interface_raw_device}
651 public_interface_route: {get_input: neutron_public_interface_default_route}
652 public_interface_tag: {get_input: neutron_public_interface_tag}
653 physical_bridge: br-ex
654 tenant_network_type: {get_input: neutron_tenant_network_type}
655 tunnel_types: {get_input: neutron_tunnel_types}
656 ovs_db: {get_input: neutron_dsn}
657 service-password: {get_input: neutron_password}
658 dnsmasq-options: {get_input: neutron_dnsmasq_options}
660 db: {get_input: ceilometer_dsn}
661 debug: {get_input: debug}
662 metering_secret: {get_input: ceilometer_metering_secret}
663 service-password: {get_input: ceilometer_password}
665 export_MIB: UCD-SNMP-MIB
666 readonly_user_name: {get_input: snmpd_readonly_user_name}
667 readonly_user_password: {get_input: snmpd_readonly_user_password}
669 compute_driver: libvirt.LibvirtDriver
670 db: {get_input: nova_dsn}
671 default_floating_pool:
673 host: {get_input: controller_virtual_ip}
675 service-password: {get_input: nova_password}
677 host: {get_input: controller_virtual_ip}
678 username: {get_input: rabbit_username}
679 password: {get_input: rabbit_password}
680 cookie: {get_input: rabbit_cookie}
681 rabbit_client_use_ssl: {get_input: rabbit_client_use_ssl}
682 rabbit_port: {get_input: rabbit_client_port}
685 - {server: {get_input: ntp_server}}
688 - vrrp_instance_name: VI_CONTROL
689 virtual_router_id: 51
690 keepalive_interface: {get_input: control_virtual_interface}
693 - ip: {get_input: controller_virtual_ip}
694 interface: {get_input: control_virtual_interface}
695 - vrrp_instance_name: VI_PUBLIC
696 virtual_router_id: 52
697 keepalive_interface: {get_input: public_virtual_interface}
700 - ip: {get_input: public_virtual_ip}
701 interface: {get_input: public_virtual_interface}
708 keepalive_interface: {get_input: public_virtual_interface}
712 ip: {get_input: controller_virtual_ip}
713 interface: {get_input: control_virtual_interface}
715 ip: {get_input: public_virtual_ip}
716 interface: {get_input: public_virtual_interface}
719 - ip: {get_input: controller_virtual_ip}
721 - option httpchk GET /
723 - name: keystone_admin
725 net_binds: &public_binds
726 - ip: {get_input: controller_virtual_ip}
727 - ip: {get_input: public_virtual_ip}
728 - name: keystone_public
730 net_binds: *public_binds
733 net_binds: *public_binds
736 net_binds: *public_binds
739 net_binds: *public_binds
742 net_binds: *public_binds
743 - name: glance_registry
745 net_binds: *public_binds
746 options: # overwrite options as glace_reg needs auth for http req
749 net_binds: *public_binds
750 - name: heat_cloudwatch
752 net_binds: *public_binds
755 net_binds: *public_binds
767 net_binds: *public_binds
768 - name: nova_metadata
770 net_binds: *public_binds
771 - name: nova_novncproxy
773 net_binds: *public_binds
776 net_binds: *public_binds
777 options: # overwrite options as ceil needs auth for http req
778 - name: swift_proxy_server
780 net_binds: *public_binds
782 - option httpchk GET /info
790 ControllerDeployment:
791 type: OS::TripleO::SoftwareDeployment
793 signal_transport: NO_SIGNAL
794 config: {get_resource: ControllerConfig}
795 server: {get_resource: Controller}
797 bootstack_nodeid: {get_attr: [Controller, name]}
798 controller_host: {get_attr: [Controller, networks, ctlplane, 0]}
799 controller_virtual_ip: {get_param: VirtualIP}
800 neutron_enable_tunneling: {get_param: NeutronEnableTunnelling}
801 heat.watch_server_url:
805 - {get_param: VirtualIP}
807 heat.metadata_server_url:
811 - {get_param: VirtualIP}
813 heat.waitcondition_server_url:
817 - {get_param: VirtualIP}
818 - ':8000/v1/waitcondition'
819 admin_password: {get_param: AdminPassword}
820 admin_token: {get_param: AdminToken}
821 neutron_public_interface_ip: {get_param: NeutronPublicInterfaceIP}
822 debug: {get_param: Debug}
823 cinder_lvm_loop_device_size: {get_param: CinderLVMLoopDeviceSize}
824 cinder_password: {get_param: CinderPassword}
825 cinder_iscsi_helper: {get_param: CinderISCSIHelper}
829 - - 'mysql://cinder:'
830 - {get_param: CinderPassword}
832 - {get_param: VirtualIP}
834 glance_port: {get_param: GlancePort}
835 glance_protocol: {get_param: GlanceProtocol}
836 glance_password: {get_param: GlancePassword}
837 glance_notifier_strategy: {get_param: GlanceNotifierStrategy}
838 glance_log_file: {get_param: GlanceLogFile}
842 - - 'mysql://glance:'
843 - {get_param: GlancePassword}
845 - {get_param: VirtualIP}
847 heat_password: {get_param: HeatPassword}
848 heat_stack_domain_admin_password: {get_param: HeatStackDomainAdminPassword}
849 heat_auth_encryption_key: {get_param: HeatAuthEncryptionKey}
854 - {get_param: HeatPassword}
856 - {get_param: VirtualIP}
858 keystone_ca_certificate: {get_param: KeystoneCACertificate}
859 keystone_signing_key: {get_param: KeystoneSigningKey}
860 keystone_signing_certificate: {get_param: KeystoneSigningCertificate}
861 keystone_ssl_certificate: {get_param: KeystoneSSLCertificate}
862 keystone_ssl_certificate_key: {get_param: KeystoneSSLCertificateKey}
866 - - 'mysql://keystone:'
867 - {get_param: AdminToken}
869 - {get_param: VirtualIP}
871 mysql_innodb_buffer_pool_size: {get_param: MysqlInnodbBufferPoolSize}
872 mysql_root_password: {get_param: MysqlRootPassword}
875 template: tripleo-CLUSTER
877 CLUSTER: {get_param: MysqlClusterUniquePart}
878 neutron_flat_networks: {get_param: NeutronFlatNetworks}
879 neutron_metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
880 neutron_agent_mode: {get_param: NeutronAgentMode}
881 neutron_router_distributed: {get_param: NeutronDVR}
882 neutron_mechanism_drivers: {get_param: NeutronMechanismDrivers}
883 neutron_allow_l3agent_failover: {get_param: NeutronAllowL3AgentFailover}
884 neutron_l3_ha: {get_param: NeutronL3HA}
885 neutron_dhcp_agents_per_network: {get_param: NeutronDhcpAgentsPerNetwork}
886 neutron_network_vlan_ranges: {get_param: NeutronNetworkVLANRanges}
887 neutron_bridge_mappings: {get_param: NeutronBridgeMappings}
888 neutron_public_interface: {get_param: NeutronPublicInterface}
889 neutron_public_interface_raw_device: {get_param: NeutronPublicInterfaceRawDevice}
890 neutron_public_interface_default_route: {get_param: NeutronPublicInterfaceDefaultRoute}
891 neutron_public_interface_tag: {get_param: NeutronPublicInterfaceTag}
892 neutron_tenant_network_type: {get_param: NeutronNetworkType}
893 neutron_tunnel_types: {get_param: NeutronTunnelTypes}
894 neutron_password: {get_param: NeutronPassword}
895 neutron_dnsmasq_options: {get_param: NeutronDnsmasqOptions}
899 - - 'mysql://neutron:'
900 - {get_param: NeutronPassword}
902 - {get_param: VirtualIP}
903 - '/ovs_neutron?charset=utf8'
904 ceilometer_metering_secret: {get_param: CeilometerMeteringSecret}
905 ceilometer_password: {get_param: CeilometerPassword}
909 - - 'mysql://ceilometer:'
910 - {get_param: CeilometerPassword}
912 - {get_param: VirtualIP}
914 snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName}
915 snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword}
916 nova_password: {get_param: NovaPassword}
921 - {get_param: NovaPassword}
923 - {get_param: VirtualIP}
925 rabbit_username: {get_param: RabbitUserName}
926 rabbit_password: {get_param: RabbitPassword}
927 rabbit_cookie: {get_param: RabbitCookie}
928 rabbit_client_use_ssl: {get_param: RabbitClientUseSSL}
929 rabbit_client_port: {get_param: RabbitClientPort}
930 ntp_server: {get_param: NtpServer}
931 control_virtual_interface: {get_param: ControlVirtualInterface}
932 public_virtual_interface: {get_param: PublicVirtualInterface}
933 public_virtual_ip: {get_param: PublicVirtualIP}
936 type: OS::Heat::StructuredConfig
938 group: os-apply-config
941 ca_certificate: {get_input: ssl_ca_certificate}
943 cert: {get_input: ssl_certificate}
944 key: {get_input: ssl_key}
945 cacert: {get_input: ssl_ca_certificate}
950 connect_host: {get_input: controller_host}
954 connect_host: {get_input: controller_host}
958 connect_host: {get_input: controller_host}
962 connect_host: {get_input: controller_host}
966 connect_host: {get_input: controller_host}
967 - name: 'swift-proxy'
970 connect_host: {get_input: controller_host}
974 connect_host: {get_input: controller_host}
978 connect_host: {get_input: controller_host}
980 ControllerSSLDeployment:
981 type: OS::Heat::StructuredDeployment
983 config: {get_resource: SSLConfig}
984 server: {get_resource: Controller}
985 signal_transport: NO_SIGNAL
987 controller_host: {get_attr: [Controller, networks, ctlplane, 0]}
988 ssl_certificate: {get_param: SSLCertificate}
989 ssl_key: {get_param: SSLKey}
990 ssl_ca_certificate: {get_param: SSLCACertificate}
992 ControllerPassthroughDeployment:
993 type: OS::Heat::StructuredDeployment
995 config: {get_resource: ControllerPassthroughConfig}
996 server: {get_resource: Controller}
997 signal_transport: NO_SIGNAL
999 passthrough_config: {get_param: ExtraConfig}
1001 ControllerPassthroughSpecificDeployment:
1002 depends_on: [ControllerPassthroughDeployment]
1003 type: OS::Heat::StructuredDeployment
1005 config: {get_resource: ControllerPassthroughConfigSpecific}
1006 server: {get_resource: Controller}
1007 signal_transport: NO_SIGNAL
1009 passthrough_config_specific: {get_param: ControllerExtraConfig}
1012 type: OS::Heat::StructuredConfig
1014 group: os-apply-config
1017 hash: { get_input: swift_hash_suffix }
1018 part-power: { get_input: swift_part_power }
1019 mount-check: { get_input: swift_mount_check }
1020 min-part-hours: { get_input: swift_min_part_hours }
1021 replicas: {get_input: swift_replicas }
1022 service-password: { get_input: swift_password }
1025 type: OS::Heat::StructuredDeployment
1027 server: {get_resource: Controller}
1028 config: {get_resource: SwiftConfig}
1029 signal_transport: NO_SIGNAL
1031 swift_hash_suffix: {get_param: SwiftHashSuffix}
1032 swift_mount_check: {get_param: SwiftMountCheck}
1033 swift_password: {get_param: SwiftPassword}
1034 swift_min_part_hours: {get_param: SwiftMinPartHours}
1035 swift_part_power: {get_param: SwiftPartPower}
1036 swift_replicas: { get_param: SwiftReplicas}
1040 description: IP address of the server in the ctlplane network
1041 value: {get_attr: [Controller, networks, ctlplane, 0]}
1042 external_ip_address:
1043 description: IP address of the server in the external network
1044 value: {get_attr: [ExternalPort, ip_address]}
1045 internal_api_ip_address:
1046 description: IP address of the server in the internal_api network
1047 value: {get_attr: [InternalApiPort, ip_address]}
1049 description: IP address of the server in the storage network
1050 value: {get_attr: [StoragePort, ip_address]}
1051 storage_mgmt_ip_address:
1052 description: IP address of the server in the storage_mgmt network
1053 value: {get_attr: [StorageMgmtPort, ip_address]}
1055 description: IP address of the server in the tenant network
1056 value: {get_attr: [TenantPort, ip_address]}
1058 description: Hostname of the server
1059 value: {get_attr: [Controller, name]}
1062 Node object in the format {ip: ..., name: ...} format that the corosync
1065 ip: {get_attr: [Controller, networks, ctlplane, 0]}
1066 name: {get_attr: [Controller, name]}
1069 Server's IP address and hostname in the /etc/hosts format
1072 template: IP HOST CLOUDNAME
1074 IP: {get_attr: [Controller, networks, ctlplane, 0]}
1075 HOST: {get_attr: [Controller, name]}
1076 CLOUDNAME: {get_param: CloudName}
1077 nova_server_resource:
1078 description: Heat resource handle for the Nova compute server
1080 {get_resource: Controller}
1082 description: Swift device formatted for swift-ring-builder
1085 template: 'r1z1-IP:%PORT%/d1'
1087 IP: {get_attr: [Controller, networks, ctlplane, 0]}
1088 swift_proxy_memcache:
1089 description: Swift proxy-memcache value
1092 template: "IP:11211"
1094 IP: {get_attr: [Controller, networks, ctlplane, 0]}
1096 description: identifier which changes if the node configuration may need re-applying
1097 value: "None - NO_SIGNAL"