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.
370 description: Should MongoDb journaling be disabled
377 description: The password for the 'pcsd' user.
378 PublicVirtualInterface:
381 Specifies the interface where the public-facing virtual ip will be assigned.
382 This should be int_public when a VLAN is being used.
386 default: '' # Has to be here because of the ignored empty value bug
389 default: '' # Has to be here because of the ignored empty value bug
393 description: The password for RabbitMQ
398 description: The username for RabbitMQ
403 Rabbit client subscriber parameter to specify
404 an SSL connection to the RabbitMQ host.
408 description: Set rabbit subscriber port, change this if using SSL
412 default: '' # Has to be here because of the ignored empty value bug
413 SnmpdReadonlyUserName:
414 default: ro_snmp_user
415 description: The user name for SNMPd with readonly rights running on all Overcloud nodes
417 SnmpdReadonlyUserPassword:
419 description: The user password for SNMPd with readonly rights running on all Overcloud nodes
424 description: If set, the contents of an SSL certificate authority file.
428 description: If set, the contents of an SSL certificate .crt file for encrypting SSL endpoints.
433 description: If set, the contents of an SSL certificate .key file for encrypting SSL endpoints.
438 description: A random string to be used as a salt when hashing to determine mappings
444 description: Value of mount_check in Swift account/container/object -server.conf
449 description: The minimum time (in hours) before a partition in a ring can be moved following a rebalance.
452 description: Partition Power to use when building Swift rings
456 description: The password for the swift service account, used by the swift proxy
463 description: How many replicas to use in the swift rings.
466 default: '' # Has to be here because of the ignored empty value bug
476 KeystonePublicApiVirtualIP:
484 description: Mapping of service_name -> network name. Typically set
485 via parameter_defaults in the resource registry.
491 Setting to a previously unused value during stack-update will trigger
492 package update on all nodes
495 default: '' # Defaults to Heat created hostname
500 type: OS::Nova::Server
502 image: {get_param: Image}
503 image_update_policy: {get_param: ImageUpdatePolicy}
504 flavor: {get_param: Flavor}
505 key_name: {get_param: KeyName}
508 user_data_format: SOFTWARE_CONFIG
509 user_data: {get_resource: NodeUserData}
510 name: {get_param: Hostname}
513 type: OS::TripleO::NodeUserData
516 type: OS::TripleO::Controller::Ports::ExternalPort
518 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
521 type: OS::TripleO::Controller::Ports::InternalApiPort
523 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
526 type: OS::TripleO::Controller::Ports::StoragePort
528 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
531 type: OS::TripleO::Controller::Ports::StorageMgmtPort
533 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
536 type: OS::TripleO::Controller::Ports::TenantPort
538 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
541 type: OS::TripleO::Controller::Net::SoftwareConfig
543 ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]}
544 InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
545 StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
546 StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
547 TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
550 type: OS::TripleO::SoftwareDeployment
552 signal_transport: NO_SIGNAL
553 config: {get_resource: NetworkConfig}
554 server: {get_resource: Controller}
557 interface_name: {get_param: NeutronPublicInterface}
559 ControllerPassthroughConfig:
560 type: OS::Heat::StructuredConfig
562 group: os-apply-config
563 config: {get_input: passthrough_config}
565 ControllerPassthroughConfigSpecific:
566 type: OS::Heat::StructuredConfig
568 group: os-apply-config
569 config: {get_input: passthrough_config_specific}
572 type: OS::Heat::StructuredConfig
574 group: os-apply-config
576 admin-password: {get_input: admin_password}
577 admin-token: {get_input: admin_token}
579 public_interface_ip: {get_input: neutron_public_interface_ip}
581 nodeid: {get_input: bootstack_nodeid}
583 db: {get_input: cinder_dsn}
584 debug: {get_input: debug}
585 volume_size_mb: {get_input: cinder_lvm_loop_device_size}
586 service-password: {get_input: cinder_password}
587 iscsi-helper: {get_input: CinderISCSIHelper}
588 controller-address: {get_input: controller_host}
590 bindnetaddr: {get_input: controller_host}
593 stonith_enabled : false
595 quorum_policy : ignore
599 host: {get_input: controller_virtual_ip}
601 db: {get_input: glance_dsn}
602 debug: {get_input: debug}
603 host: {get_input: controller_virtual_ip}
604 port: {get_input: glance_port}
605 protocol: {get_input: glance_protocol}
606 service-password: {get_input: glance_password}
607 swift-store-user: service:glance
608 swift-store-key: {get_input: glance_password}
609 notifier-strategy: {get_input: glance_notifier_strategy}
610 log-file: {get_input: glance_log_file}
612 admin_password: {get_input: heat_password}
613 admin_tenant_name: service
615 auth_encryption_key: {get_input: heat_auth_encryption_key}
616 db: {get_input: heat_dsn}
617 debug: {get_input: debug}
618 stack_domain_admin_password: {get_input: heat_stack_domain_admin_password}
619 watch_server_url: {get_input: heat.watch_server_url}
620 metadata_server_url: {get_input: heat.metadata_server_url}
621 waitcondition_server_url: {get_input: heat.waitcondition_server_url}
623 db: {get_input: keystone_dsn}
624 debug: {get_input: debug}
625 host: {get_input: controller_virtual_ip}
626 ca_certificate: {get_input: keystone_ca_certificate}
627 signing_key: {get_input: keystone_signing_key}
628 signing_certificate: {get_input: keystone_signing_certificate}
630 certificate: {get_input: keystone_ssl_certificate}
631 certificate_key: {get_input: keystone_ssl_certificate_key}
633 innodb_buffer_pool_size: {get_input: mysql_innodb_buffer_pool_size}
635 root-password: {get_input: mysql_root_password}
636 cluster_name: {get_input: mysql_cluster_name}
638 debug: {get_input: debug}
639 flat-networks: {get_input: neutron_flat_networks}
640 host: {get_input: controller_virtual_ip}
641 metadata_proxy_shared_secret: {get_input: neutron_metadata_proxy_shared_secret}
642 agent_mode: {get_input: neutron_agent_mode}
643 router_distributed: {get_input: neutron_router_distributed}
644 mechanism_drivers: {get_input: neutron_mechanism_drivers}
645 allow_automatic_l3agent_failover: {get_input: neutron_allow_l3agent_failover}
646 l3_ha: {get_input: neutron_l3_ha}
647 dhcp_agents_per_network: {get_input: neutron_dhcp_agents_per_network}
649 enable_tunneling: {get_input: neutron_enable_tunneling}
650 local_ip: {get_input: controller_host}
651 network_vlan_ranges: {get_input: neutron_network_vlan_ranges}
652 bridge_mappings: {get_input: neutron_bridge_mappings}
653 public_interface: {get_input: neutron_public_interface}
654 public_interface_raw_device: {get_input: neutron_public_interface_raw_device}
655 public_interface_route: {get_input: neutron_public_interface_default_route}
656 public_interface_tag: {get_input: neutron_public_interface_tag}
657 physical_bridge: br-ex
658 tenant_network_type: {get_input: neutron_tenant_network_type}
659 tunnel_types: {get_input: neutron_tunnel_types}
660 ovs_db: {get_input: neutron_dsn}
661 service-password: {get_input: neutron_password}
662 dnsmasq-options: {get_input: neutron_dnsmasq_options}
664 db: {get_input: ceilometer_dsn}
665 debug: {get_input: debug}
666 metering_secret: {get_input: ceilometer_metering_secret}
667 service-password: {get_input: ceilometer_password}
669 export_MIB: UCD-SNMP-MIB
670 readonly_user_name: {get_input: snmpd_readonly_user_name}
671 readonly_user_password: {get_input: snmpd_readonly_user_password}
673 compute_driver: libvirt.LibvirtDriver
674 db: {get_input: nova_dsn}
675 default_floating_pool:
677 host: {get_input: controller_virtual_ip}
679 service-password: {get_input: nova_password}
681 nojournal: {get_input: mongodb_no_journal}
683 host: {get_input: controller_virtual_ip}
684 username: {get_input: rabbit_username}
685 password: {get_input: rabbit_password}
686 cookie: {get_input: rabbit_cookie}
687 rabbit_client_use_ssl: {get_input: rabbit_client_use_ssl}
688 rabbit_port: {get_input: rabbit_client_port}
691 - {server: {get_input: ntp_server}}
694 - vrrp_instance_name: VI_CONTROL
695 virtual_router_id: 51
696 keepalive_interface: {get_input: control_virtual_interface}
699 - ip: {get_input: controller_virtual_ip}
700 interface: {get_input: control_virtual_interface}
701 - vrrp_instance_name: VI_PUBLIC
702 virtual_router_id: 52
703 keepalive_interface: {get_input: public_virtual_interface}
706 - ip: {get_input: public_virtual_ip}
707 interface: {get_input: public_virtual_interface}
714 keepalive_interface: {get_input: public_virtual_interface}
718 ip: {get_input: controller_virtual_ip}
719 interface: {get_input: control_virtual_interface}
721 ip: {get_input: public_virtual_ip}
722 interface: {get_input: public_virtual_interface}
725 - ip: {get_input: controller_virtual_ip}
727 - option httpchk GET /
729 - name: keystone_admin
731 net_binds: &public_binds
732 - ip: {get_input: controller_virtual_ip}
733 - ip: {get_input: public_virtual_ip}
734 - name: keystone_public
736 net_binds: *public_binds
739 net_binds: *public_binds
742 net_binds: *public_binds
745 net_binds: *public_binds
748 net_binds: *public_binds
749 - name: glance_registry
751 net_binds: *public_binds
752 options: # overwrite options as glace_reg needs auth for http req
755 net_binds: *public_binds
756 - name: heat_cloudwatch
758 net_binds: *public_binds
761 net_binds: *public_binds
773 net_binds: *public_binds
774 - name: nova_metadata
776 net_binds: *public_binds
777 - name: nova_novncproxy
779 net_binds: *public_binds
782 net_binds: *public_binds
783 options: # overwrite options as ceil needs auth for http req
784 - name: swift_proxy_server
786 net_binds: *public_binds
788 - option httpchk GET /info
796 ControllerDeployment:
797 type: OS::TripleO::SoftwareDeployment
799 signal_transport: NO_SIGNAL
800 config: {get_resource: ControllerConfig}
801 server: {get_resource: Controller}
803 bootstack_nodeid: {get_attr: [Controller, name]}
804 controller_host: {get_attr: [Controller, networks, ctlplane, 0]}
805 controller_virtual_ip: {get_param: VirtualIP}
806 neutron_enable_tunneling: {get_param: NeutronEnableTunnelling}
807 heat.watch_server_url:
811 - {get_param: VirtualIP}
813 heat.metadata_server_url:
817 - {get_param: VirtualIP}
819 heat.waitcondition_server_url:
823 - {get_param: VirtualIP}
824 - ':8000/v1/waitcondition'
825 admin_password: {get_param: AdminPassword}
826 admin_token: {get_param: AdminToken}
827 neutron_public_interface_ip: {get_param: NeutronPublicInterfaceIP}
828 debug: {get_param: Debug}
829 cinder_lvm_loop_device_size: {get_param: CinderLVMLoopDeviceSize}
830 cinder_password: {get_param: CinderPassword}
831 cinder_iscsi_helper: {get_param: CinderISCSIHelper}
835 - - 'mysql://cinder:'
836 - {get_param: CinderPassword}
838 - {get_param: VirtualIP}
840 glance_port: {get_param: GlancePort}
841 glance_protocol: {get_param: GlanceProtocol}
842 glance_password: {get_param: GlancePassword}
843 glance_notifier_strategy: {get_param: GlanceNotifierStrategy}
844 glance_log_file: {get_param: GlanceLogFile}
848 - - 'mysql://glance:'
849 - {get_param: GlancePassword}
851 - {get_param: VirtualIP}
853 heat_password: {get_param: HeatPassword}
854 heat_stack_domain_admin_password: {get_param: HeatStackDomainAdminPassword}
855 heat_auth_encryption_key: {get_param: HeatAuthEncryptionKey}
860 - {get_param: HeatPassword}
862 - {get_param: VirtualIP}
864 keystone_ca_certificate: {get_param: KeystoneCACertificate}
865 keystone_signing_key: {get_param: KeystoneSigningKey}
866 keystone_signing_certificate: {get_param: KeystoneSigningCertificate}
867 keystone_ssl_certificate: {get_param: KeystoneSSLCertificate}
868 keystone_ssl_certificate_key: {get_param: KeystoneSSLCertificateKey}
872 - - 'mysql://keystone:'
873 - {get_param: AdminToken}
875 - {get_param: VirtualIP}
877 mongodb_no_journal: {get_param: MongoDbNoJournal}
878 mysql_innodb_buffer_pool_size: {get_param: MysqlInnodbBufferPoolSize}
879 mysql_root_password: {get_param: MysqlRootPassword}
882 template: tripleo-CLUSTER
884 CLUSTER: {get_param: MysqlClusterUniquePart}
885 neutron_flat_networks: {get_param: NeutronFlatNetworks}
886 neutron_metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
887 neutron_agent_mode: {get_param: NeutronAgentMode}
888 neutron_router_distributed: {get_param: NeutronDVR}
889 neutron_mechanism_drivers: {get_param: NeutronMechanismDrivers}
890 neutron_allow_l3agent_failover: {get_param: NeutronAllowL3AgentFailover}
891 neutron_l3_ha: {get_param: NeutronL3HA}
892 neutron_dhcp_agents_per_network: {get_param: NeutronDhcpAgentsPerNetwork}
893 neutron_network_vlan_ranges: {get_param: NeutronNetworkVLANRanges}
894 neutron_bridge_mappings: {get_param: NeutronBridgeMappings}
895 neutron_public_interface: {get_param: NeutronPublicInterface}
896 neutron_public_interface_raw_device: {get_param: NeutronPublicInterfaceRawDevice}
897 neutron_public_interface_default_route: {get_param: NeutronPublicInterfaceDefaultRoute}
898 neutron_public_interface_tag: {get_param: NeutronPublicInterfaceTag}
899 neutron_tenant_network_type: {get_param: NeutronNetworkType}
900 neutron_tunnel_types: {get_param: NeutronTunnelTypes}
901 neutron_password: {get_param: NeutronPassword}
902 neutron_dnsmasq_options: {get_param: NeutronDnsmasqOptions}
906 - - 'mysql://neutron:'
907 - {get_param: NeutronPassword}
909 - {get_param: VirtualIP}
910 - '/ovs_neutron?charset=utf8'
911 ceilometer_metering_secret: {get_param: CeilometerMeteringSecret}
912 ceilometer_password: {get_param: CeilometerPassword}
916 - - 'mysql://ceilometer:'
917 - {get_param: CeilometerPassword}
919 - {get_param: VirtualIP}
921 snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName}
922 snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword}
923 nova_password: {get_param: NovaPassword}
928 - {get_param: NovaPassword}
930 - {get_param: VirtualIP}
932 rabbit_username: {get_param: RabbitUserName}
933 rabbit_password: {get_param: RabbitPassword}
934 rabbit_cookie: {get_param: RabbitCookie}
935 rabbit_client_use_ssl: {get_param: RabbitClientUseSSL}
936 rabbit_client_port: {get_param: RabbitClientPort}
937 ntp_server: {get_param: NtpServer}
938 control_virtual_interface: {get_param: ControlVirtualInterface}
939 public_virtual_interface: {get_param: PublicVirtualInterface}
940 public_virtual_ip: {get_param: PublicVirtualIP}
943 type: OS::Heat::StructuredConfig
945 group: os-apply-config
948 ca_certificate: {get_input: ssl_ca_certificate}
950 cert: {get_input: ssl_certificate}
951 key: {get_input: ssl_key}
952 cacert: {get_input: ssl_ca_certificate}
957 connect_host: {get_input: controller_host}
961 connect_host: {get_input: controller_host}
965 connect_host: {get_input: controller_host}
969 connect_host: {get_input: controller_host}
973 connect_host: {get_input: controller_host}
974 - name: 'swift-proxy'
977 connect_host: {get_input: controller_host}
981 connect_host: {get_input: controller_host}
985 connect_host: {get_input: controller_host}
987 ControllerSSLDeployment:
988 type: OS::Heat::StructuredDeployment
990 config: {get_resource: SSLConfig}
991 server: {get_resource: Controller}
992 signal_transport: NO_SIGNAL
994 controller_host: {get_attr: [Controller, networks, ctlplane, 0]}
995 ssl_certificate: {get_param: SSLCertificate}
996 ssl_key: {get_param: SSLKey}
997 ssl_ca_certificate: {get_param: SSLCACertificate}
999 ControllerPassthroughDeployment:
1000 type: OS::Heat::StructuredDeployment
1002 config: {get_resource: ControllerPassthroughConfig}
1003 server: {get_resource: Controller}
1004 signal_transport: NO_SIGNAL
1006 passthrough_config: {get_param: ExtraConfig}
1008 ControllerPassthroughSpecificDeployment:
1009 depends_on: [ControllerPassthroughDeployment]
1010 type: OS::Heat::StructuredDeployment
1012 config: {get_resource: ControllerPassthroughConfigSpecific}
1013 server: {get_resource: Controller}
1014 signal_transport: NO_SIGNAL
1016 passthrough_config_specific: {get_param: ControllerExtraConfig}
1019 type: OS::Heat::StructuredConfig
1021 group: os-apply-config
1024 hash: { get_input: swift_hash_suffix }
1025 part-power: { get_input: swift_part_power }
1026 mount-check: { get_input: swift_mount_check }
1027 min-part-hours: { get_input: swift_min_part_hours }
1028 replicas: {get_input: swift_replicas }
1029 service-password: { get_input: swift_password }
1032 type: OS::Heat::StructuredDeployment
1034 server: {get_resource: Controller}
1035 config: {get_resource: SwiftConfig}
1036 signal_transport: NO_SIGNAL
1038 swift_hash_suffix: {get_param: SwiftHashSuffix}
1039 swift_mount_check: {get_param: SwiftMountCheck}
1040 swift_password: {get_param: SwiftPassword}
1041 swift_min_part_hours: {get_param: SwiftMinPartHours}
1042 swift_part_power: {get_param: SwiftPartPower}
1043 swift_replicas: { get_param: SwiftReplicas}
1047 description: IP address of the server in the ctlplane network
1048 value: {get_attr: [Controller, networks, ctlplane, 0]}
1049 external_ip_address:
1050 description: IP address of the server in the external network
1051 value: {get_attr: [ExternalPort, ip_address]}
1052 internal_api_ip_address:
1053 description: IP address of the server in the internal_api network
1054 value: {get_attr: [InternalApiPort, ip_address]}
1056 description: IP address of the server in the storage network
1057 value: {get_attr: [StoragePort, ip_address]}
1058 storage_mgmt_ip_address:
1059 description: IP address of the server in the storage_mgmt network
1060 value: {get_attr: [StorageMgmtPort, ip_address]}
1062 description: IP address of the server in the tenant network
1063 value: {get_attr: [TenantPort, ip_address]}
1065 description: Hostname of the server
1066 value: {get_attr: [Controller, name]}
1069 Node object in the format {ip: ..., name: ...} format that the corosync
1072 ip: {get_attr: [Controller, networks, ctlplane, 0]}
1073 name: {get_attr: [Controller, name]}
1076 Server's IP address and hostname in the /etc/hosts format
1079 template: IP HOST CLOUDNAME
1081 IP: {get_attr: [Controller, networks, ctlplane, 0]}
1082 HOST: {get_attr: [Controller, name]}
1083 CLOUDNAME: {get_param: CloudName}
1084 nova_server_resource:
1085 description: Heat resource handle for the Nova compute server
1087 {get_resource: Controller}
1089 description: Swift device formatted for swift-ring-builder
1092 template: 'r1z1-IP:%PORT%/d1'
1094 IP: {get_attr: [Controller, networks, ctlplane, 0]}
1095 swift_proxy_memcache:
1096 description: Swift proxy-memcache value
1099 template: "IP:11211"
1101 IP: {get_attr: [Controller, networks, ctlplane, 0]}
1103 description: identifier which changes if the node configuration may need re-applying
1104 value: "None - NO_SIGNAL"