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
257 description: Configures MySQL max_connections config setting
263 default: '' # Has to be here because of the ignored empty value bug
264 NeutronExternalNetworkBridge:
265 description: Name of bridge used for external network traffic.
268 NeutronBridgeMappings:
270 The OVS logical->physical bridge mappings to use. See the Neutron
271 documentation for details. Defaults to mapping br-ex - the external
272 bridge on hosts - to a physical name 'datacentre' which can be used
273 to create provider networks (and we use this for the default floating
274 network) - if changing this either use different post-install network
275 scripts or be sure to keep 'datacentre' as a mapping network name.
277 default: "datacentre:br-ex"
278 NeutronDnsmasqOptions:
279 default: 'dhcp-option-force=26,1400'
280 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.
284 description: Agent mode for the neutron-l3-agent on the controller hosts
288 description: Whether to configure Neutron Distributed Virtual Routers
290 NeutronMetadataProxySharedSecret:
292 description: Shared secret to prevent spoofing
294 NeutronMechanismDrivers:
295 default: 'openvswitch'
297 The mechanism drivers for the Neutron tenant network. To specify multiple
298 values, use a comma separated string, like so: 'openvswitch,l2_population'
300 NeutronAllowL3AgentFailover:
302 description: Allow automatic l3-agent failover
306 description: Whether to enable l3-agent HA
308 NeutronDhcpAgentsPerNetwork:
311 description: The number of neutron dhcp agents to schedule per network
312 NeutronEnableTunnelling:
317 default: 'datacentre'
318 description: If set, flat networks to configure in neutron plugins.
321 description: The tenant network type for Neutron, either gre or vxlan.
323 NeutronNetworkVLANRanges:
324 default: 'datacentre'
326 The Neutron ML2 and OpenVSwitch vlan mapping range to support. See the
327 Neutron documentation for permitted values. Defaults to permitting any
328 VLAN on the 'datacentre' physical network (See NeutronBridgeMappings).
329 type: comma_delimited_list
332 description: The password for the neutron service and db account, used by neutron agents.
335 NeutronPublicInterface:
337 description: What interface to bridge onto br-ex for network nodes.
339 NeutronPublicInterfaceTag:
342 VLAN tag for creating a public VLAN. The tag will be used to
343 create an access port on the exterior bridge for each control plane node,
344 and that port will be given the IP address returned by neutron from the
345 public network. Set CONTROLEXTRA=overcloud-vlan-port.yaml when compiling
346 overcloud.yaml to include the deployment of VLAN ports to the control
349 NeutronPublicInterfaceDefaultRoute:
351 description: A custom default route for the NeutronPublicInterface.
353 NeutronPublicInterfaceIP:
355 description: A custom IP address to put onto the NeutronPublicInterface.
357 NeutronPublicInterfaceRawDevice:
359 description: If set, the public interface is a vlan with this device as the raw device.
364 The tunnel types for the Neutron tenant network. To specify multiple
365 values, use a comma separated string, like so: 'gre,vxlan'
369 description: The password for the nova service and db account, used by nova-api.
374 description: Should MongoDb journaling be disabled
381 description: The password for the 'pcsd' user.
382 PublicVirtualInterface:
385 Specifies the interface where the public-facing virtual ip will be assigned.
386 This should be int_public when a VLAN is being used.
390 default: '' # Has to be here because of the ignored empty value bug
393 default: '' # Has to be here because of the ignored empty value bug
397 description: The password for RabbitMQ
402 description: The username for RabbitMQ
407 Rabbit client subscriber parameter to specify
408 an SSL connection to the RabbitMQ host.
412 description: Set rabbit subscriber port, change this if using SSL
416 default: '' # Has to be here because of the ignored empty value bug
417 SnmpdReadonlyUserName:
418 default: ro_snmp_user
419 description: The user name for SNMPd with readonly rights running on all Overcloud nodes
421 SnmpdReadonlyUserPassword:
423 description: The user password for SNMPd with readonly rights running on all Overcloud nodes
428 description: If set, the contents of an SSL certificate authority file.
432 description: If set, the contents of an SSL certificate .crt file for encrypting SSL endpoints.
437 description: If set, the contents of an SSL certificate .key file for encrypting SSL endpoints.
442 description: A random string to be used as a salt when hashing to determine mappings
448 description: Value of mount_check in Swift account/container/object -server.conf
453 description: The minimum time (in hours) before a partition in a ring can be moved following a rebalance.
456 description: Partition Power to use when building Swift rings
460 description: The password for the swift service account, used by the swift proxy
467 description: How many replicas to use in the swift rings.
470 default: '' # Has to be here because of the ignored empty value bug
480 KeystonePublicApiVirtualIP:
488 description: Mapping of service_name -> network name. Typically set
489 via parameter_defaults in the resource registry.
495 Setting to a previously unused value during stack-update will trigger
496 package update on all nodes
499 default: '' # Defaults to Heat created hostname
504 type: OS::Nova::Server
506 image: {get_param: Image}
507 image_update_policy: {get_param: ImageUpdatePolicy}
508 flavor: {get_param: Flavor}
509 key_name: {get_param: KeyName}
512 user_data_format: SOFTWARE_CONFIG
513 user_data: {get_resource: NodeUserData}
514 name: {get_param: Hostname}
517 type: OS::TripleO::NodeUserData
520 type: OS::TripleO::Controller::Ports::ExternalPort
522 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
525 type: OS::TripleO::Controller::Ports::InternalApiPort
527 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
530 type: OS::TripleO::Controller::Ports::StoragePort
532 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
535 type: OS::TripleO::Controller::Ports::StorageMgmtPort
537 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
540 type: OS::TripleO::Controller::Ports::TenantPort
542 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
545 type: OS::TripleO::Controller::Net::SoftwareConfig
547 ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]}
548 InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
549 StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
550 StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
551 TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
554 type: OS::TripleO::SoftwareDeployment
556 signal_transport: NO_SIGNAL
557 config: {get_resource: NetworkConfig}
558 server: {get_resource: Controller}
561 interface_name: {get_param: NeutronPublicInterface}
563 ControllerPassthroughConfig:
564 type: OS::Heat::StructuredConfig
566 group: os-apply-config
567 config: {get_input: passthrough_config}
569 ControllerPassthroughConfigSpecific:
570 type: OS::Heat::StructuredConfig
572 group: os-apply-config
573 config: {get_input: passthrough_config_specific}
576 type: OS::Heat::StructuredConfig
578 group: os-apply-config
580 admin-password: {get_input: admin_password}
581 admin-token: {get_input: admin_token}
583 public_interface_ip: {get_input: neutron_public_interface_ip}
585 nodeid: {get_input: bootstack_nodeid}
587 db: {get_input: cinder_dsn}
588 debug: {get_input: debug}
589 volume_size_mb: {get_input: cinder_lvm_loop_device_size}
590 service-password: {get_input: cinder_password}
591 iscsi-helper: {get_input: CinderISCSIHelper}
592 controller-address: {get_input: controller_host}
594 bindnetaddr: {get_input: controller_host}
597 stonith_enabled : false
599 quorum_policy : ignore
603 host: {get_input: controller_virtual_ip}
605 db: {get_input: glance_dsn}
606 debug: {get_input: debug}
607 host: {get_input: controller_virtual_ip}
608 port: {get_input: glance_port}
609 protocol: {get_input: glance_protocol}
610 service-password: {get_input: glance_password}
611 swift-store-user: service:glance
612 swift-store-key: {get_input: glance_password}
613 notifier-strategy: {get_input: glance_notifier_strategy}
614 log-file: {get_input: glance_log_file}
616 admin_password: {get_input: heat_password}
617 admin_tenant_name: service
619 auth_encryption_key: {get_input: heat_auth_encryption_key}
620 db: {get_input: heat_dsn}
621 debug: {get_input: debug}
622 stack_domain_admin_password: {get_input: heat_stack_domain_admin_password}
623 watch_server_url: {get_input: heat.watch_server_url}
624 metadata_server_url: {get_input: heat.metadata_server_url}
625 waitcondition_server_url: {get_input: heat.waitcondition_server_url}
627 db: {get_input: keystone_dsn}
628 debug: {get_input: debug}
629 host: {get_input: controller_virtual_ip}
630 ca_certificate: {get_input: keystone_ca_certificate}
631 signing_key: {get_input: keystone_signing_key}
632 signing_certificate: {get_input: keystone_signing_certificate}
634 certificate: {get_input: keystone_ssl_certificate}
635 certificate_key: {get_input: keystone_ssl_certificate_key}
637 innodb_buffer_pool_size: {get_input: mysql_innodb_buffer_pool_size}
639 root-password: {get_input: mysql_root_password}
640 cluster_name: {get_input: mysql_cluster_name}
642 debug: {get_input: debug}
643 flat-networks: {get_input: neutron_flat_networks}
644 host: {get_input: controller_virtual_ip}
645 metadata_proxy_shared_secret: {get_input: neutron_metadata_proxy_shared_secret}
646 agent_mode: {get_input: neutron_agent_mode}
647 router_distributed: {get_input: neutron_router_distributed}
648 mechanism_drivers: {get_input: neutron_mechanism_drivers}
649 allow_automatic_l3agent_failover: {get_input: neutron_allow_l3agent_failover}
650 l3_ha: {get_input: neutron_l3_ha}
651 dhcp_agents_per_network: {get_input: neutron_dhcp_agents_per_network}
653 enable_tunneling: {get_input: neutron_enable_tunneling}
654 local_ip: {get_input: controller_host}
655 network_vlan_ranges: {get_input: neutron_network_vlan_ranges}
656 bridge_mappings: {get_input: neutron_bridge_mappings}
657 public_interface: {get_input: neutron_public_interface}
658 public_interface_raw_device: {get_input: neutron_public_interface_raw_device}
659 public_interface_route: {get_input: neutron_public_interface_default_route}
660 public_interface_tag: {get_input: neutron_public_interface_tag}
661 physical_bridge: br-ex
662 tenant_network_type: {get_input: neutron_tenant_network_type}
663 tunnel_types: {get_input: neutron_tunnel_types}
664 ovs_db: {get_input: neutron_dsn}
665 service-password: {get_input: neutron_password}
666 dnsmasq-options: {get_input: neutron_dnsmasq_options}
668 db: {get_input: ceilometer_dsn}
669 debug: {get_input: debug}
670 metering_secret: {get_input: ceilometer_metering_secret}
671 service-password: {get_input: ceilometer_password}
673 export_MIB: UCD-SNMP-MIB
674 readonly_user_name: {get_input: snmpd_readonly_user_name}
675 readonly_user_password: {get_input: snmpd_readonly_user_password}
677 compute_driver: libvirt.LibvirtDriver
678 db: {get_input: nova_dsn}
679 default_floating_pool:
681 host: {get_input: controller_virtual_ip}
683 service-password: {get_input: nova_password}
685 nojournal: {get_input: mongodb_no_journal}
687 host: {get_input: controller_virtual_ip}
688 username: {get_input: rabbit_username}
689 password: {get_input: rabbit_password}
690 cookie: {get_input: rabbit_cookie}
691 rabbit_client_use_ssl: {get_input: rabbit_client_use_ssl}
692 rabbit_port: {get_input: rabbit_client_port}
695 - {server: {get_input: ntp_server}}
698 - vrrp_instance_name: VI_CONTROL
699 virtual_router_id: 51
700 keepalive_interface: {get_input: control_virtual_interface}
703 - ip: {get_input: controller_virtual_ip}
704 interface: {get_input: control_virtual_interface}
705 - vrrp_instance_name: VI_PUBLIC
706 virtual_router_id: 52
707 keepalive_interface: {get_input: public_virtual_interface}
710 - ip: {get_input: public_virtual_ip}
711 interface: {get_input: public_virtual_interface}
718 keepalive_interface: {get_input: public_virtual_interface}
722 ip: {get_input: controller_virtual_ip}
723 interface: {get_input: control_virtual_interface}
725 ip: {get_input: public_virtual_ip}
726 interface: {get_input: public_virtual_interface}
729 - ip: {get_input: controller_virtual_ip}
731 - option httpchk GET /
733 - name: keystone_admin
735 net_binds: &public_binds
736 - ip: {get_input: controller_virtual_ip}
737 - ip: {get_input: public_virtual_ip}
738 - name: keystone_public
740 net_binds: *public_binds
743 net_binds: *public_binds
746 net_binds: *public_binds
749 net_binds: *public_binds
752 net_binds: *public_binds
753 - name: glance_registry
755 net_binds: *public_binds
756 options: # overwrite options as glace_reg needs auth for http req
759 net_binds: *public_binds
760 - name: heat_cloudwatch
762 net_binds: *public_binds
765 net_binds: *public_binds
777 net_binds: *public_binds
778 - name: nova_metadata
780 net_binds: *public_binds
781 - name: nova_novncproxy
783 net_binds: *public_binds
786 net_binds: *public_binds
787 options: # overwrite options as ceil needs auth for http req
788 - name: swift_proxy_server
790 net_binds: *public_binds
792 - option httpchk GET /info
800 ControllerDeployment:
801 type: OS::TripleO::SoftwareDeployment
803 signal_transport: NO_SIGNAL
804 config: {get_resource: ControllerConfig}
805 server: {get_resource: Controller}
807 bootstack_nodeid: {get_attr: [Controller, name]}
808 controller_host: {get_attr: [Controller, networks, ctlplane, 0]}
809 controller_virtual_ip: {get_param: VirtualIP}
810 neutron_enable_tunneling: {get_param: NeutronEnableTunnelling}
811 heat.watch_server_url:
815 - {get_param: VirtualIP}
817 heat.metadata_server_url:
821 - {get_param: VirtualIP}
823 heat.waitcondition_server_url:
827 - {get_param: VirtualIP}
828 - ':8000/v1/waitcondition'
829 admin_password: {get_param: AdminPassword}
830 admin_token: {get_param: AdminToken}
831 neutron_public_interface_ip: {get_param: NeutronPublicInterfaceIP}
832 debug: {get_param: Debug}
833 cinder_lvm_loop_device_size: {get_param: CinderLVMLoopDeviceSize}
834 cinder_password: {get_param: CinderPassword}
835 cinder_iscsi_helper: {get_param: CinderISCSIHelper}
839 - - 'mysql://cinder:'
840 - {get_param: CinderPassword}
842 - {get_param: VirtualIP}
844 glance_port: {get_param: GlancePort}
845 glance_protocol: {get_param: GlanceProtocol}
846 glance_password: {get_param: GlancePassword}
847 glance_notifier_strategy: {get_param: GlanceNotifierStrategy}
848 glance_log_file: {get_param: GlanceLogFile}
852 - - 'mysql://glance:'
853 - {get_param: GlancePassword}
855 - {get_param: VirtualIP}
857 heat_password: {get_param: HeatPassword}
858 heat_stack_domain_admin_password: {get_param: HeatStackDomainAdminPassword}
859 heat_auth_encryption_key: {get_param: HeatAuthEncryptionKey}
864 - {get_param: HeatPassword}
866 - {get_param: VirtualIP}
868 keystone_ca_certificate: {get_param: KeystoneCACertificate}
869 keystone_signing_key: {get_param: KeystoneSigningKey}
870 keystone_signing_certificate: {get_param: KeystoneSigningCertificate}
871 keystone_ssl_certificate: {get_param: KeystoneSSLCertificate}
872 keystone_ssl_certificate_key: {get_param: KeystoneSSLCertificateKey}
876 - - 'mysql://keystone:'
877 - {get_param: AdminToken}
879 - {get_param: VirtualIP}
881 mongodb_no_journal: {get_param: MongoDbNoJournal}
882 mysql_innodb_buffer_pool_size: {get_param: MysqlInnodbBufferPoolSize}
883 mysql_root_password: {get_param: MysqlRootPassword}
886 template: tripleo-CLUSTER
888 CLUSTER: {get_param: MysqlClusterUniquePart}
889 neutron_flat_networks: {get_param: NeutronFlatNetworks}
890 neutron_metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
891 neutron_agent_mode: {get_param: NeutronAgentMode}
892 neutron_router_distributed: {get_param: NeutronDVR}
893 neutron_mechanism_drivers: {get_param: NeutronMechanismDrivers}
894 neutron_allow_l3agent_failover: {get_param: NeutronAllowL3AgentFailover}
895 neutron_l3_ha: {get_param: NeutronL3HA}
896 neutron_dhcp_agents_per_network: {get_param: NeutronDhcpAgentsPerNetwork}
897 neutron_network_vlan_ranges: {get_param: NeutronNetworkVLANRanges}
898 neutron_bridge_mappings: {get_param: NeutronBridgeMappings}
899 neutron_public_interface: {get_param: NeutronPublicInterface}
900 neutron_public_interface_raw_device: {get_param: NeutronPublicInterfaceRawDevice}
901 neutron_public_interface_default_route: {get_param: NeutronPublicInterfaceDefaultRoute}
902 neutron_public_interface_tag: {get_param: NeutronPublicInterfaceTag}
903 neutron_tenant_network_type: {get_param: NeutronNetworkType}
904 neutron_tunnel_types: {get_param: NeutronTunnelTypes}
905 neutron_password: {get_param: NeutronPassword}
906 neutron_dnsmasq_options: {get_param: NeutronDnsmasqOptions}
910 - - 'mysql://neutron:'
911 - {get_param: NeutronPassword}
913 - {get_param: VirtualIP}
914 - '/ovs_neutron?charset=utf8'
915 ceilometer_metering_secret: {get_param: CeilometerMeteringSecret}
916 ceilometer_password: {get_param: CeilometerPassword}
920 - - 'mysql://ceilometer:'
921 - {get_param: CeilometerPassword}
923 - {get_param: VirtualIP}
925 snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName}
926 snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword}
927 nova_password: {get_param: NovaPassword}
932 - {get_param: NovaPassword}
934 - {get_param: VirtualIP}
936 rabbit_username: {get_param: RabbitUserName}
937 rabbit_password: {get_param: RabbitPassword}
938 rabbit_cookie: {get_param: RabbitCookie}
939 rabbit_client_use_ssl: {get_param: RabbitClientUseSSL}
940 rabbit_client_port: {get_param: RabbitClientPort}
941 ntp_server: {get_param: NtpServer}
942 control_virtual_interface: {get_param: ControlVirtualInterface}
943 public_virtual_interface: {get_param: PublicVirtualInterface}
944 public_virtual_ip: {get_param: PublicVirtualIP}
947 type: OS::Heat::StructuredConfig
949 group: os-apply-config
952 ca_certificate: {get_input: ssl_ca_certificate}
954 cert: {get_input: ssl_certificate}
955 key: {get_input: ssl_key}
956 cacert: {get_input: ssl_ca_certificate}
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}
977 connect_host: {get_input: controller_host}
978 - name: 'swift-proxy'
981 connect_host: {get_input: controller_host}
985 connect_host: {get_input: controller_host}
989 connect_host: {get_input: controller_host}
991 ControllerSSLDeployment:
992 type: OS::Heat::StructuredDeployment
994 config: {get_resource: SSLConfig}
995 server: {get_resource: Controller}
996 signal_transport: NO_SIGNAL
998 controller_host: {get_attr: [Controller, networks, ctlplane, 0]}
999 ssl_certificate: {get_param: SSLCertificate}
1000 ssl_key: {get_param: SSLKey}
1001 ssl_ca_certificate: {get_param: SSLCACertificate}
1003 ControllerPassthroughDeployment:
1004 type: OS::Heat::StructuredDeployment
1006 config: {get_resource: ControllerPassthroughConfig}
1007 server: {get_resource: Controller}
1008 signal_transport: NO_SIGNAL
1010 passthrough_config: {get_param: ExtraConfig}
1012 ControllerPassthroughSpecificDeployment:
1013 depends_on: [ControllerPassthroughDeployment]
1014 type: OS::Heat::StructuredDeployment
1016 config: {get_resource: ControllerPassthroughConfigSpecific}
1017 server: {get_resource: Controller}
1018 signal_transport: NO_SIGNAL
1020 passthrough_config_specific: {get_param: ControllerExtraConfig}
1023 type: OS::Heat::StructuredConfig
1025 group: os-apply-config
1028 hash: { get_input: swift_hash_suffix }
1029 part-power: { get_input: swift_part_power }
1030 mount-check: { get_input: swift_mount_check }
1031 min-part-hours: { get_input: swift_min_part_hours }
1032 replicas: {get_input: swift_replicas }
1033 service-password: { get_input: swift_password }
1036 type: OS::Heat::StructuredDeployment
1038 server: {get_resource: Controller}
1039 config: {get_resource: SwiftConfig}
1040 signal_transport: NO_SIGNAL
1042 swift_hash_suffix: {get_param: SwiftHashSuffix}
1043 swift_mount_check: {get_param: SwiftMountCheck}
1044 swift_password: {get_param: SwiftPassword}
1045 swift_min_part_hours: {get_param: SwiftMinPartHours}
1046 swift_part_power: {get_param: SwiftPartPower}
1047 swift_replicas: { get_param: SwiftReplicas}
1051 description: IP address of the server in the ctlplane network
1052 value: {get_attr: [Controller, networks, ctlplane, 0]}
1053 external_ip_address:
1054 description: IP address of the server in the external network
1055 value: {get_attr: [ExternalPort, ip_address]}
1056 internal_api_ip_address:
1057 description: IP address of the server in the internal_api network
1058 value: {get_attr: [InternalApiPort, ip_address]}
1060 description: IP address of the server in the storage network
1061 value: {get_attr: [StoragePort, ip_address]}
1062 storage_mgmt_ip_address:
1063 description: IP address of the server in the storage_mgmt network
1064 value: {get_attr: [StorageMgmtPort, ip_address]}
1066 description: IP address of the server in the tenant network
1067 value: {get_attr: [TenantPort, ip_address]}
1069 description: Hostname of the server
1070 value: {get_attr: [Controller, name]}
1073 Node object in the format {ip: ..., name: ...} format that the corosync
1076 ip: {get_attr: [Controller, networks, ctlplane, 0]}
1077 name: {get_attr: [Controller, name]}
1080 Server's IP address and hostname in the /etc/hosts format
1083 template: IP HOST CLOUDNAME
1085 IP: {get_attr: [Controller, networks, ctlplane, 0]}
1086 HOST: {get_attr: [Controller, name]}
1087 CLOUDNAME: {get_param: CloudName}
1088 nova_server_resource:
1089 description: Heat resource handle for the Nova compute server
1091 {get_resource: Controller}
1093 description: Swift device formatted for swift-ring-builder
1096 template: 'r1z1-IP:%PORT%/d1'
1098 IP: {get_attr: [Controller, networks, ctlplane, 0]}
1099 swift_proxy_memcache:
1100 description: Swift proxy-memcache value
1103 template: "IP:11211"
1105 IP: {get_attr: [Controller, networks, ctlplane, 0]}
1107 description: identifier which changes if the node configuration may need re-applying
1108 value: "None - NO_SIGNAL"