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 CinderEnableNfsBackend:
33 description: Whether to enable or not the NFS backend for Cinder
35 CinderEnableIscsiBackend:
37 description: Whether to enable or not the Iscsi backend for Cinder
39 CinderEnableRbdBackend:
41 description: Whether to enable or not the Rbd backend for Cinder
45 description: The iSCSI helper to use with cinder.
47 CinderLVMLoopDeviceSize:
49 description: The size of the loopback file used by the cinder LVM driver.
51 CinderNfsMountOptions:
54 Mount options for NFS mounts used by Cinder NFS backend. Effective
55 when CinderEnableNfsBackend is true.
60 NFS servers used by Cinder NFS backend. Effective when
61 CinderEnableNfsBackend is true.
62 type: comma_delimited_list
65 description: The password for the cinder service and db account, used by cinder-api.
70 description: The DNS name of this cloud. E.g. ci-overcloud.tripleo.org
72 ControllerExtraConfig:
75 Controller specific configuration to inject into the cluster. Same
76 structure as ExtraConfig.
78 ControlVirtualInterface:
80 description: Interface where virtual ip will be assigned.
84 description: Set to True to enable debugging on all services.
88 description: Whether to enable fencing in Pacemaker or not.
92 description: Whether to use Galera instead of regular MariaDB.
96 description: Whether to deploy Ceph Storage (OSD) on the Controller
100 description: Whether to enable Swift Storage on the Controller
105 Additional configuration to inject into the cluster. The JSON should have
106 the following structure:
109 [{"section": "SECTIONNAME",
111 [{"option": "OPTIONNAME",
122 [{"section": "default",
124 [{"option": "compute_manager",
125 "value": "ironic.nova.compute.manager.ClusterComputeManager"
131 [{"option": "driver",
132 "value": "nova.cells.rpc_driver.CellsRPCDriver"
143 Pacemaker fencing configuration. The JSON should have
144 the following structure:
148 "agent": "AGENT_NAME",
149 "host_mac": "HOST_MAC_ADDRESS",
150 "params": {"PARAM_NAME": "PARAM_VALUE"}
158 "agent": "fence_xvm",
159 "host_mac": "52:54:00:aa:bb:cc",
161 "multicast_address": "225.0.0.12",
162 "port": "baremetal_0",
164 "manage_key_file": true,
165 "key_file": "/etc/fence_xvm.key",
166 "key_file_password": "abcdef"
173 description: Flavor for control nodes to request when deploying.
176 - custom_constraint: nova.flavor
177 GlanceNotifierStrategy:
178 description: Strategy to use for Glance notification queue
182 description: The filepath of the file to use for logging messages from Glance.
187 description: The password for the glance service and db account, used by the glance services.
192 description: Glance port.
196 description: Protocol to use when connecting to glance, set to https for SSL.
200 description: The short name of the Glance backend to use. Should be one
201 of swift, rbd, or file
204 - allowed_values: ['swift', 'file', 'rbd']
207 description: The password for the Heat service and db account, used by the Heat services.
210 HeatStackDomainAdminPassword:
211 description: Password for heat_domain_admin user.
215 HeatAuthEncryptionKey:
216 description: Auth encryption key for heat-engine
219 description: Secret key for Django
223 default: overcloud-control
225 - custom_constraint: glance.image
227 default: 'REBUILD_PRESERVE_EPHEMERAL'
228 description: What policy to use when reconstructing instances. REBUILD for rebuilds, REBUILD_PRESERVE_EPHEMERAL to preserve /mnt.
232 description: Name of an existing EC2 KeyPair to enable SSH access to the instances
235 - custom_constraint: nova.keypair
236 KeystoneCACertificate:
238 description: Keystone self-signed certificate authority certificate.
240 KeystoneSigningCertificate:
242 description: Keystone certificate for verifying token validity.
246 description: Keystone key for signing tokens.
249 KeystoneSSLCertificate:
251 description: Keystone certificate for verifying token validity.
253 KeystoneSSLCertificateKey:
255 description: Keystone key for signing tokens.
258 KeystoneNotificationDriver:
259 description: Comma-separated list of Oslo notification drivers used by Keystone
260 default: ['messaging']
261 type: comma_delimited_list
262 KeystoneNotificationFormat:
263 description: The Keystone notification format
267 - allowed_values: [ 'basic', 'cadf' ]
268 MysqlClusterUniquePart:
269 description: A unique identifier of the MySQL cluster the controller is in.
271 default: 'unset' # Has to be here because of the ignored empty value bug
272 # Drop the validation: https://bugs.launchpad.net/tripleo/+bug/1405446
274 # - length: {min: 4, max: 10}
275 MysqlInnodbBufferPoolSize:
277 Specifies the size of the buffer pool in megabytes. Setting to
278 zero should be interpreted as "no value" and will defer to the
283 description: Configures MySQL max_connections config setting
289 default: '' # Has to be here because of the ignored empty value bug
290 NeutronExternalNetworkBridge:
291 description: Name of bridge used for external network traffic.
294 NeutronBridgeMappings:
296 The OVS logical->physical bridge mappings to use. See the Neutron
297 documentation for details. Defaults to mapping br-ex - the external
298 bridge on hosts - to a physical name 'datacentre' which can be used
299 to create provider networks (and we use this for the default floating
300 network) - if changing this either use different post-install network
301 scripts or be sure to keep 'datacentre' as a mapping network name.
303 default: "datacentre:br-ex"
304 NeutronDnsmasqOptions:
305 default: 'dhcp-option-force=26,1400'
306 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.
310 description: Agent mode for the neutron-l3-agent on the controller hosts
314 description: Whether to configure Neutron Distributed Virtual Routers
316 NeutronMetadataProxySharedSecret:
318 description: Shared secret to prevent spoofing
320 NeutronMechanismDrivers:
321 default: 'openvswitch'
323 The mechanism drivers for the Neutron tenant network. To specify multiple
324 values, use a comma separated string, like so: 'openvswitch,l2_population'
326 NeutronAllowL3AgentFailover:
328 description: Allow automatic l3-agent failover
332 description: Whether to enable l3-agent HA
334 NeutronDhcpAgentsPerNetwork:
337 description: The number of neutron dhcp agents to schedule per network
338 NeutronEnableTunnelling:
343 default: 'datacentre'
344 description: If set, flat networks to configure in neutron plugins.
347 description: The tenant network type for Neutron, either gre or vxlan.
349 NeutronNetworkVLANRanges:
350 default: 'datacentre'
352 The Neutron ML2 and OpenVSwitch vlan mapping range to support. See the
353 Neutron documentation for permitted values. Defaults to permitting any
354 VLAN on the 'datacentre' physical network (See NeutronBridgeMappings).
355 type: comma_delimited_list
358 description: The password for the neutron service and db account, used by neutron agents.
361 NeutronPublicInterface:
363 description: What interface to bridge onto br-ex for network nodes.
365 NeutronPublicInterfaceTag:
368 VLAN tag for creating a public VLAN. The tag will be used to
369 create an access port on the exterior bridge for each control plane node,
370 and that port will be given the IP address returned by neutron from the
371 public network. Set CONTROLEXTRA=overcloud-vlan-port.yaml when compiling
372 overcloud.yaml to include the deployment of VLAN ports to the control
375 NeutronPublicInterfaceDefaultRoute:
377 description: A custom default route for the NeutronPublicInterface.
379 NeutronPublicInterfaceIP:
381 description: A custom IP address to put onto the NeutronPublicInterface.
383 NeutronPublicInterfaceRawDevice:
385 description: If set, the public interface is a vlan with this device as the raw device.
390 The tunnel types for the Neutron tenant network. To specify multiple
391 values, use a comma separated string, like so: 'gre,vxlan'
393 NeutronTunnelIdRanges:
395 Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges
396 of GRE tunnel IDs that are available for tenant network allocation
397 default: ["1:1000", ]
398 type: comma_delimited_list
401 Comma-separated list of <vni_min>:<vni_max> tuples enumerating ranges
402 of VXLAN VNI IDs that are available for tenant network allocation
403 default: ["1:1000", ]
404 type: comma_delimited_list
407 description: The password for the nova service and db account, used by nova-api.
412 description: Should MongoDb journaling be disabled
419 description: The password for the 'pcsd' user.
420 PublicVirtualInterface:
423 Specifies the interface where the public-facing virtual ip will be assigned.
424 This should be int_public when a VLAN is being used.
428 default: '' # Has to be here because of the ignored empty value bug
431 default: '' # Has to be here because of the ignored empty value bug
435 description: The password for RabbitMQ
440 description: The username for RabbitMQ
445 Rabbit client subscriber parameter to specify
446 an SSL connection to the RabbitMQ host.
450 description: Set rabbit subscriber port, change this if using SSL
454 default: '' # Has to be here because of the ignored empty value bug
455 SnmpdReadonlyUserName:
456 default: ro_snmp_user
457 description: The user name for SNMPd with readonly rights running on all Overcloud nodes
459 SnmpdReadonlyUserPassword:
461 description: The user password for SNMPd with readonly rights running on all Overcloud nodes
466 description: If set, the contents of an SSL certificate authority file.
470 description: If set, the contents of an SSL certificate .crt file for encrypting SSL endpoints.
475 description: If set, the contents of an SSL certificate .key file for encrypting SSL endpoints.
480 description: A random string to be used as a salt when hashing to determine mappings
486 description: Value of mount_check in Swift account/container/object -server.conf
491 description: The minimum time (in hours) before a partition in a ring can be moved following a rebalance.
494 description: Partition Power to use when building Swift rings
498 description: The password for the swift service account, used by the swift proxy
505 description: How many replicas to use in the swift rings.
508 default: '' # Has to be here because of the ignored empty value bug
518 KeystoneAdminApiVirtualIP:
521 KeystonePublicApiVirtualIP:
529 description: Mapping of service_name -> network name. Typically set
530 via parameter_defaults in the resource registry.
536 Setting to a previously unused value during stack-update will trigger
537 package update on all nodes
540 default: '' # Defaults to Heat created hostname
545 type: OS::Nova::Server
547 image: {get_param: Image}
548 image_update_policy: {get_param: ImageUpdatePolicy}
549 flavor: {get_param: Flavor}
550 key_name: {get_param: KeyName}
553 user_data_format: SOFTWARE_CONFIG
554 user_data: {get_resource: NodeUserData}
555 name: {get_param: Hostname}
558 type: OS::TripleO::NodeUserData
561 type: OS::TripleO::Controller::Ports::ExternalPort
563 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
566 type: OS::TripleO::Controller::Ports::InternalApiPort
568 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
571 type: OS::TripleO::Controller::Ports::StoragePort
573 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
576 type: OS::TripleO::Controller::Ports::StorageMgmtPort
578 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
581 type: OS::TripleO::Controller::Ports::TenantPort
583 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
586 type: OS::TripleO::Controller::Net::SoftwareConfig
588 ControlPlaneIp: {get_attr: [Controller, networks, ctlplane, 0]}
589 ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]}
590 InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
591 StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
592 StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
593 TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
596 type: OS::TripleO::SoftwareDeployment
598 signal_transport: NO_SIGNAL
599 config: {get_resource: NetworkConfig}
600 server: {get_resource: Controller}
603 interface_name: {get_param: NeutronPublicInterface}
605 ControllerPassthroughConfig:
606 type: OS::Heat::StructuredConfig
608 group: os-apply-config
609 config: {get_input: passthrough_config}
611 ControllerPassthroughConfigSpecific:
612 type: OS::Heat::StructuredConfig
614 group: os-apply-config
615 config: {get_input: passthrough_config_specific}
618 type: OS::Heat::StructuredConfig
620 group: os-apply-config
622 admin-password: {get_input: admin_password}
623 admin-token: {get_input: admin_token}
625 public_interface_ip: {get_input: neutron_public_interface_ip}
627 nodeid: {get_input: bootstack_nodeid}
629 db: {get_input: cinder_dsn}
630 debug: {get_input: debug}
631 volume_size_mb: {get_input: cinder_lvm_loop_device_size}
632 service-password: {get_input: cinder_password}
633 iscsi-helper: {get_input: CinderISCSIHelper}
634 controller-address: {get_input: controller_host}
636 bindnetaddr: {get_input: controller_host}
639 stonith_enabled : false
641 quorum_policy : ignore
645 host: {get_input: controller_virtual_ip}
647 db: {get_input: glance_dsn}
648 debug: {get_input: debug}
649 host: {get_input: controller_virtual_ip}
650 port: {get_input: glance_port}
651 protocol: {get_input: glance_protocol}
652 service-password: {get_input: glance_password}
653 swift-store-user: service:glance
654 swift-store-key: {get_input: glance_password}
655 notifier-strategy: {get_input: glance_notifier_strategy}
656 log-file: {get_input: glance_log_file}
658 admin_password: {get_input: heat_password}
659 admin_tenant_name: service
661 auth_encryption_key: {get_input: heat_auth_encryption_key}
662 db: {get_input: heat_dsn}
663 debug: {get_input: debug}
664 stack_domain_admin_password: {get_input: heat_stack_domain_admin_password}
665 watch_server_url: {get_input: heat.watch_server_url}
666 metadata_server_url: {get_input: heat.metadata_server_url}
667 waitcondition_server_url: {get_input: heat.waitcondition_server_url}
669 db: {get_input: keystone_dsn}
670 debug: {get_input: debug}
671 host: {get_input: controller_virtual_ip}
672 ca_certificate: {get_input: keystone_ca_certificate}
673 signing_key: {get_input: keystone_signing_key}
674 signing_certificate: {get_input: keystone_signing_certificate}
676 certificate: {get_input: keystone_ssl_certificate}
677 certificate_key: {get_input: keystone_ssl_certificate_key}
679 innodb_buffer_pool_size: {get_input: mysql_innodb_buffer_pool_size}
681 root-password: {get_input: mysql_root_password}
682 cluster_name: {get_input: mysql_cluster_name}
684 debug: {get_input: debug}
685 flat-networks: {get_input: neutron_flat_networks}
686 host: {get_input: controller_virtual_ip}
687 metadata_proxy_shared_secret: {get_input: neutron_metadata_proxy_shared_secret}
688 agent_mode: {get_input: neutron_agent_mode}
689 router_distributed: {get_input: neutron_router_distributed}
690 mechanism_drivers: {get_input: neutron_mechanism_drivers}
691 allow_automatic_l3agent_failover: {get_input: neutron_allow_l3agent_failover}
692 l3_ha: {get_input: neutron_l3_ha}
693 dhcp_agents_per_network: {get_input: neutron_dhcp_agents_per_network}
695 enable_tunneling: {get_input: neutron_enable_tunneling}
696 local_ip: {get_input: controller_host}
697 network_vlan_ranges: {get_input: neutron_network_vlan_ranges}
698 bridge_mappings: {get_input: neutron_bridge_mappings}
699 public_interface: {get_input: neutron_public_interface}
700 public_interface_raw_device: {get_input: neutron_public_interface_raw_device}
701 public_interface_route: {get_input: neutron_public_interface_default_route}
702 public_interface_tag: {get_input: neutron_public_interface_tag}
703 physical_bridge: br-ex
704 tenant_network_type: {get_input: neutron_tenant_network_type}
705 tunnel_types: {get_input: neutron_tunnel_types}
706 tunnel_id_ranges: {get_input: neutron_tunnel_id_ranges}
707 vni_ranges: {get_input: neutron_vni_ranges}
708 ovs_db: {get_input: neutron_dsn}
709 service-password: {get_input: neutron_password}
710 dnsmasq-options: {get_input: neutron_dnsmasq_options}
712 db: {get_input: ceilometer_dsn}
713 debug: {get_input: debug}
714 metering_secret: {get_input: ceilometer_metering_secret}
715 service-password: {get_input: ceilometer_password}
717 export_MIB: UCD-SNMP-MIB
718 readonly_user_name: {get_input: snmpd_readonly_user_name}
719 readonly_user_password: {get_input: snmpd_readonly_user_password}
721 compute_driver: libvirt.LibvirtDriver
722 db: {get_input: nova_dsn}
723 default_floating_pool:
725 host: {get_input: controller_virtual_ip}
727 service-password: {get_input: nova_password}
729 nojournal: {get_input: mongodb_no_journal}
731 host: {get_input: controller_virtual_ip}
732 username: {get_input: rabbit_username}
733 password: {get_input: rabbit_password}
734 cookie: {get_input: rabbit_cookie}
735 rabbit_client_use_ssl: {get_input: rabbit_client_use_ssl}
736 rabbit_port: {get_input: rabbit_client_port}
739 - {server: {get_input: ntp_server}}
742 - vrrp_instance_name: VI_CONTROL
743 virtual_router_id: 51
744 keepalive_interface: {get_input: control_virtual_interface}
747 - ip: {get_input: controller_virtual_ip}
748 interface: {get_input: control_virtual_interface}
749 - vrrp_instance_name: VI_PUBLIC
750 virtual_router_id: 52
751 keepalive_interface: {get_input: public_virtual_interface}
754 - ip: {get_input: public_virtual_ip}
755 interface: {get_input: public_virtual_interface}
762 keepalive_interface: {get_input: public_virtual_interface}
766 ip: {get_input: controller_virtual_ip}
767 interface: {get_input: control_virtual_interface}
769 ip: {get_input: public_virtual_ip}
770 interface: {get_input: public_virtual_interface}
773 - ip: {get_input: controller_virtual_ip}
775 - option httpchk GET /
777 - name: keystone_admin
779 net_binds: &public_binds
780 - ip: {get_input: controller_virtual_ip}
781 - ip: {get_input: public_virtual_ip}
782 - name: keystone_public
784 net_binds: *public_binds
787 net_binds: *public_binds
790 net_binds: *public_binds
793 net_binds: *public_binds
796 net_binds: *public_binds
797 - name: glance_registry
799 net_binds: *public_binds
800 options: # overwrite options as glace_reg needs auth for http req
803 net_binds: *public_binds
804 - name: heat_cloudwatch
806 net_binds: *public_binds
809 net_binds: *public_binds
821 net_binds: *public_binds
822 - name: nova_metadata
824 net_binds: *public_binds
825 - name: nova_novncproxy
827 net_binds: *public_binds
830 net_binds: *public_binds
831 options: # overwrite options as ceil needs auth for http req
832 - name: swift_proxy_server
834 net_binds: *public_binds
836 - option httpchk GET /info
844 ControllerDeployment:
845 type: OS::TripleO::SoftwareDeployment
847 signal_transport: NO_SIGNAL
848 config: {get_resource: ControllerConfig}
849 server: {get_resource: Controller}
851 bootstack_nodeid: {get_attr: [Controller, name]}
852 controller_host: {get_attr: [Controller, networks, ctlplane, 0]}
853 controller_virtual_ip: {get_param: VirtualIP}
854 neutron_enable_tunneling: {get_param: NeutronEnableTunnelling}
855 heat.watch_server_url:
859 - {get_param: VirtualIP}
861 heat.metadata_server_url:
865 - {get_param: VirtualIP}
867 heat.waitcondition_server_url:
871 - {get_param: VirtualIP}
872 - ':8000/v1/waitcondition'
873 admin_password: {get_param: AdminPassword}
874 admin_token: {get_param: AdminToken}
875 neutron_public_interface_ip: {get_param: NeutronPublicInterfaceIP}
876 debug: {get_param: Debug}
877 cinder_lvm_loop_device_size: {get_param: CinderLVMLoopDeviceSize}
878 cinder_password: {get_param: CinderPassword}
879 cinder_iscsi_helper: {get_param: CinderISCSIHelper}
883 - - 'mysql://cinder:'
884 - {get_param: CinderPassword}
886 - {get_param: VirtualIP}
888 glance_port: {get_param: GlancePort}
889 glance_protocol: {get_param: GlanceProtocol}
890 glance_password: {get_param: GlancePassword}
891 glance_notifier_strategy: {get_param: GlanceNotifierStrategy}
892 glance_log_file: {get_param: GlanceLogFile}
896 - - 'mysql://glance:'
897 - {get_param: GlancePassword}
899 - {get_param: VirtualIP}
901 heat_password: {get_param: HeatPassword}
902 heat_stack_domain_admin_password: {get_param: HeatStackDomainAdminPassword}
903 heat_auth_encryption_key: {get_param: HeatAuthEncryptionKey}
908 - {get_param: HeatPassword}
910 - {get_param: VirtualIP}
912 keystone_ca_certificate: {get_param: KeystoneCACertificate}
913 keystone_signing_key: {get_param: KeystoneSigningKey}
914 keystone_signing_certificate: {get_param: KeystoneSigningCertificate}
915 keystone_ssl_certificate: {get_param: KeystoneSSLCertificate}
916 keystone_ssl_certificate_key: {get_param: KeystoneSSLCertificateKey}
920 - - 'mysql://keystone:'
921 - {get_param: AdminToken}
923 - {get_param: VirtualIP}
925 mongodb_no_journal: {get_param: MongoDbNoJournal}
926 mysql_innodb_buffer_pool_size: {get_param: MysqlInnodbBufferPoolSize}
927 mysql_root_password: {get_param: MysqlRootPassword}
930 template: tripleo-CLUSTER
932 CLUSTER: {get_param: MysqlClusterUniquePart}
933 neutron_flat_networks: {get_param: NeutronFlatNetworks}
934 neutron_metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
935 neutron_agent_mode: {get_param: NeutronAgentMode}
936 neutron_router_distributed: {get_param: NeutronDVR}
937 neutron_mechanism_drivers: {get_param: NeutronMechanismDrivers}
938 neutron_allow_l3agent_failover: {get_param: NeutronAllowL3AgentFailover}
939 neutron_l3_ha: {get_param: NeutronL3HA}
940 neutron_dhcp_agents_per_network: {get_param: NeutronDhcpAgentsPerNetwork}
941 neutron_network_vlan_ranges: {get_param: NeutronNetworkVLANRanges}
942 neutron_bridge_mappings: {get_param: NeutronBridgeMappings}
943 neutron_public_interface: {get_param: NeutronPublicInterface}
944 neutron_public_interface_raw_device: {get_param: NeutronPublicInterfaceRawDevice}
945 neutron_public_interface_default_route: {get_param: NeutronPublicInterfaceDefaultRoute}
946 neutron_public_interface_tag: {get_param: NeutronPublicInterfaceTag}
947 neutron_tenant_network_type: {get_param: NeutronNetworkType}
948 neutron_tunnel_types: {get_param: NeutronTunnelTypes}
949 neutron_tunnel_id_ranges:
951 template: "['RANGES']"
956 - {get_param: NeutronTunnelIdRanges}
959 template: "['RANGES']"
964 - {get_param: NeutronVniRanges}
965 neutron_password: {get_param: NeutronPassword}
966 neutron_dnsmasq_options: {get_param: NeutronDnsmasqOptions}
970 - - 'mysql://neutron:'
971 - {get_param: NeutronPassword}
973 - {get_param: VirtualIP}
974 - '/ovs_neutron?charset=utf8'
975 ceilometer_metering_secret: {get_param: CeilometerMeteringSecret}
976 ceilometer_password: {get_param: CeilometerPassword}
980 - - 'mysql://ceilometer:'
981 - {get_param: CeilometerPassword}
983 - {get_param: VirtualIP}
985 snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName}
986 snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword}
987 nova_password: {get_param: NovaPassword}
992 - {get_param: NovaPassword}
994 - {get_param: VirtualIP}
996 rabbit_username: {get_param: RabbitUserName}
997 rabbit_password: {get_param: RabbitPassword}
998 rabbit_cookie: {get_param: RabbitCookie}
999 rabbit_client_use_ssl: {get_param: RabbitClientUseSSL}
1000 rabbit_client_port: {get_param: RabbitClientPort}
1001 ntp_server: {get_param: NtpServer}
1002 control_virtual_interface: {get_param: ControlVirtualInterface}
1003 public_virtual_interface: {get_param: PublicVirtualInterface}
1004 public_virtual_ip: {get_param: PublicVirtualIP}
1007 type: OS::Heat::StructuredConfig
1009 group: os-apply-config
1012 ca_certificate: {get_input: ssl_ca_certificate}
1014 cert: {get_input: ssl_certificate}
1015 key: {get_input: ssl_key}
1016 cacert: {get_input: ssl_ca_certificate}
1021 connect_host: {get_input: controller_host}
1025 connect_host: {get_input: controller_host}
1029 connect_host: {get_input: controller_host}
1033 connect_host: {get_input: controller_host}
1037 connect_host: {get_input: controller_host}
1038 - name: 'swift-proxy'
1041 connect_host: {get_input: controller_host}
1045 connect_host: {get_input: controller_host}
1046 - name: 'ceilometer'
1049 connect_host: {get_input: controller_host}
1051 ControllerSSLDeployment:
1052 type: OS::Heat::StructuredDeployment
1054 config: {get_resource: SSLConfig}
1055 server: {get_resource: Controller}
1056 signal_transport: NO_SIGNAL
1058 controller_host: {get_attr: [Controller, networks, ctlplane, 0]}
1059 ssl_certificate: {get_param: SSLCertificate}
1060 ssl_key: {get_param: SSLKey}
1061 ssl_ca_certificate: {get_param: SSLCACertificate}
1063 ControllerPassthroughDeployment:
1064 type: OS::Heat::StructuredDeployment
1066 config: {get_resource: ControllerPassthroughConfig}
1067 server: {get_resource: Controller}
1068 signal_transport: NO_SIGNAL
1070 passthrough_config: {get_param: ExtraConfig}
1072 ControllerPassthroughSpecificDeployment:
1073 depends_on: [ControllerPassthroughDeployment]
1074 type: OS::Heat::StructuredDeployment
1076 config: {get_resource: ControllerPassthroughConfigSpecific}
1077 server: {get_resource: Controller}
1078 signal_transport: NO_SIGNAL
1080 passthrough_config_specific: {get_param: ControllerExtraConfig}
1083 type: OS::Heat::StructuredConfig
1085 group: os-apply-config
1088 hash: { get_input: swift_hash_suffix }
1089 part-power: { get_input: swift_part_power }
1090 mount-check: { get_input: swift_mount_check }
1091 min-part-hours: { get_input: swift_min_part_hours }
1092 replicas: {get_input: swift_replicas }
1093 service-password: { get_input: swift_password }
1096 type: OS::Heat::StructuredDeployment
1098 server: {get_resource: Controller}
1099 config: {get_resource: SwiftConfig}
1100 signal_transport: NO_SIGNAL
1102 swift_hash_suffix: {get_param: SwiftHashSuffix}
1103 swift_mount_check: {get_param: SwiftMountCheck}
1104 swift_password: {get_param: SwiftPassword}
1105 swift_min_part_hours: {get_param: SwiftMinPartHours}
1106 swift_part_power: {get_param: SwiftPartPower}
1107 swift_replicas: { get_param: SwiftReplicas}
1111 description: IP address of the server in the ctlplane network
1112 value: {get_attr: [Controller, networks, ctlplane, 0]}
1113 external_ip_address:
1114 description: IP address of the server in the external network
1115 value: {get_attr: [ExternalPort, ip_address]}
1116 internal_api_ip_address:
1117 description: IP address of the server in the internal_api network
1118 value: {get_attr: [InternalApiPort, ip_address]}
1120 description: IP address of the server in the storage network
1121 value: {get_attr: [StoragePort, ip_address]}
1122 storage_mgmt_ip_address:
1123 description: IP address of the server in the storage_mgmt network
1124 value: {get_attr: [StorageMgmtPort, ip_address]}
1126 description: IP address of the server in the tenant network
1127 value: {get_attr: [TenantPort, ip_address]}
1129 description: Hostname of the server
1130 value: {get_attr: [Controller, name]}
1133 Node object in the format {ip: ..., name: ...} format that the corosync
1136 ip: {get_attr: [Controller, networks, ctlplane, 0]}
1137 name: {get_attr: [Controller, name]}
1140 Server's IP address and hostname in the /etc/hosts format
1143 template: IP HOST CLOUDNAME
1145 IP: {get_attr: [Controller, networks, ctlplane, 0]}
1146 HOST: {get_attr: [Controller, name]}
1147 CLOUDNAME: {get_param: CloudName}
1148 nova_server_resource:
1149 description: Heat resource handle for the Nova compute server
1151 {get_resource: Controller}
1153 description: Swift device formatted for swift-ring-builder
1156 template: 'r1z1-IP:%PORT%/d1'
1158 IP: {get_attr: [Controller, networks, ctlplane, 0]}
1159 swift_proxy_memcache:
1160 description: Swift proxy-memcache value
1163 template: "IP:11211"
1165 IP: {get_attr: [Controller, networks, ctlplane, 0]}
1167 description: identifier which changes if the node configuration may need re-applying
1168 value: "None - NO_SIGNAL"