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 ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]}
589 InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
590 StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
591 StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
592 TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
595 type: OS::TripleO::SoftwareDeployment
597 signal_transport: NO_SIGNAL
598 config: {get_resource: NetworkConfig}
599 server: {get_resource: Controller}
602 interface_name: {get_param: NeutronPublicInterface}
604 ControllerPassthroughConfig:
605 type: OS::Heat::StructuredConfig
607 group: os-apply-config
608 config: {get_input: passthrough_config}
610 ControllerPassthroughConfigSpecific:
611 type: OS::Heat::StructuredConfig
613 group: os-apply-config
614 config: {get_input: passthrough_config_specific}
617 type: OS::Heat::StructuredConfig
619 group: os-apply-config
621 admin-password: {get_input: admin_password}
622 admin-token: {get_input: admin_token}
624 public_interface_ip: {get_input: neutron_public_interface_ip}
626 nodeid: {get_input: bootstack_nodeid}
628 db: {get_input: cinder_dsn}
629 debug: {get_input: debug}
630 volume_size_mb: {get_input: cinder_lvm_loop_device_size}
631 service-password: {get_input: cinder_password}
632 iscsi-helper: {get_input: CinderISCSIHelper}
633 controller-address: {get_input: controller_host}
635 bindnetaddr: {get_input: controller_host}
638 stonith_enabled : false
640 quorum_policy : ignore
644 host: {get_input: controller_virtual_ip}
646 db: {get_input: glance_dsn}
647 debug: {get_input: debug}
648 host: {get_input: controller_virtual_ip}
649 port: {get_input: glance_port}
650 protocol: {get_input: glance_protocol}
651 service-password: {get_input: glance_password}
652 swift-store-user: service:glance
653 swift-store-key: {get_input: glance_password}
654 notifier-strategy: {get_input: glance_notifier_strategy}
655 log-file: {get_input: glance_log_file}
657 admin_password: {get_input: heat_password}
658 admin_tenant_name: service
660 auth_encryption_key: {get_input: heat_auth_encryption_key}
661 db: {get_input: heat_dsn}
662 debug: {get_input: debug}
663 stack_domain_admin_password: {get_input: heat_stack_domain_admin_password}
664 watch_server_url: {get_input: heat.watch_server_url}
665 metadata_server_url: {get_input: heat.metadata_server_url}
666 waitcondition_server_url: {get_input: heat.waitcondition_server_url}
668 db: {get_input: keystone_dsn}
669 debug: {get_input: debug}
670 host: {get_input: controller_virtual_ip}
671 ca_certificate: {get_input: keystone_ca_certificate}
672 signing_key: {get_input: keystone_signing_key}
673 signing_certificate: {get_input: keystone_signing_certificate}
675 certificate: {get_input: keystone_ssl_certificate}
676 certificate_key: {get_input: keystone_ssl_certificate_key}
678 innodb_buffer_pool_size: {get_input: mysql_innodb_buffer_pool_size}
680 root-password: {get_input: mysql_root_password}
681 cluster_name: {get_input: mysql_cluster_name}
683 debug: {get_input: debug}
684 flat-networks: {get_input: neutron_flat_networks}
685 host: {get_input: controller_virtual_ip}
686 metadata_proxy_shared_secret: {get_input: neutron_metadata_proxy_shared_secret}
687 agent_mode: {get_input: neutron_agent_mode}
688 router_distributed: {get_input: neutron_router_distributed}
689 mechanism_drivers: {get_input: neutron_mechanism_drivers}
690 allow_automatic_l3agent_failover: {get_input: neutron_allow_l3agent_failover}
691 l3_ha: {get_input: neutron_l3_ha}
692 dhcp_agents_per_network: {get_input: neutron_dhcp_agents_per_network}
694 enable_tunneling: {get_input: neutron_enable_tunneling}
695 local_ip: {get_input: controller_host}
696 network_vlan_ranges: {get_input: neutron_network_vlan_ranges}
697 bridge_mappings: {get_input: neutron_bridge_mappings}
698 public_interface: {get_input: neutron_public_interface}
699 public_interface_raw_device: {get_input: neutron_public_interface_raw_device}
700 public_interface_route: {get_input: neutron_public_interface_default_route}
701 public_interface_tag: {get_input: neutron_public_interface_tag}
702 physical_bridge: br-ex
703 tenant_network_type: {get_input: neutron_tenant_network_type}
704 tunnel_types: {get_input: neutron_tunnel_types}
705 tunnel_id_ranges: {get_input: neutron_tunnel_id_ranges}
706 vni_ranges: {get_input: neutron_vni_ranges}
707 ovs_db: {get_input: neutron_dsn}
708 service-password: {get_input: neutron_password}
709 dnsmasq-options: {get_input: neutron_dnsmasq_options}
711 db: {get_input: ceilometer_dsn}
712 debug: {get_input: debug}
713 metering_secret: {get_input: ceilometer_metering_secret}
714 service-password: {get_input: ceilometer_password}
716 export_MIB: UCD-SNMP-MIB
717 readonly_user_name: {get_input: snmpd_readonly_user_name}
718 readonly_user_password: {get_input: snmpd_readonly_user_password}
720 compute_driver: libvirt.LibvirtDriver
721 db: {get_input: nova_dsn}
722 default_floating_pool:
724 host: {get_input: controller_virtual_ip}
726 service-password: {get_input: nova_password}
728 nojournal: {get_input: mongodb_no_journal}
730 host: {get_input: controller_virtual_ip}
731 username: {get_input: rabbit_username}
732 password: {get_input: rabbit_password}
733 cookie: {get_input: rabbit_cookie}
734 rabbit_client_use_ssl: {get_input: rabbit_client_use_ssl}
735 rabbit_port: {get_input: rabbit_client_port}
738 - {server: {get_input: ntp_server}}
741 - vrrp_instance_name: VI_CONTROL
742 virtual_router_id: 51
743 keepalive_interface: {get_input: control_virtual_interface}
746 - ip: {get_input: controller_virtual_ip}
747 interface: {get_input: control_virtual_interface}
748 - vrrp_instance_name: VI_PUBLIC
749 virtual_router_id: 52
750 keepalive_interface: {get_input: public_virtual_interface}
753 - ip: {get_input: public_virtual_ip}
754 interface: {get_input: public_virtual_interface}
761 keepalive_interface: {get_input: public_virtual_interface}
765 ip: {get_input: controller_virtual_ip}
766 interface: {get_input: control_virtual_interface}
768 ip: {get_input: public_virtual_ip}
769 interface: {get_input: public_virtual_interface}
772 - ip: {get_input: controller_virtual_ip}
774 - option httpchk GET /
776 - name: keystone_admin
778 net_binds: &public_binds
779 - ip: {get_input: controller_virtual_ip}
780 - ip: {get_input: public_virtual_ip}
781 - name: keystone_public
783 net_binds: *public_binds
786 net_binds: *public_binds
789 net_binds: *public_binds
792 net_binds: *public_binds
795 net_binds: *public_binds
796 - name: glance_registry
798 net_binds: *public_binds
799 options: # overwrite options as glace_reg needs auth for http req
802 net_binds: *public_binds
803 - name: heat_cloudwatch
805 net_binds: *public_binds
808 net_binds: *public_binds
820 net_binds: *public_binds
821 - name: nova_metadata
823 net_binds: *public_binds
824 - name: nova_novncproxy
826 net_binds: *public_binds
829 net_binds: *public_binds
830 options: # overwrite options as ceil needs auth for http req
831 - name: swift_proxy_server
833 net_binds: *public_binds
835 - option httpchk GET /info
843 ControllerDeployment:
844 type: OS::TripleO::SoftwareDeployment
846 signal_transport: NO_SIGNAL
847 config: {get_resource: ControllerConfig}
848 server: {get_resource: Controller}
850 bootstack_nodeid: {get_attr: [Controller, name]}
851 controller_host: {get_attr: [Controller, networks, ctlplane, 0]}
852 controller_virtual_ip: {get_param: VirtualIP}
853 neutron_enable_tunneling: {get_param: NeutronEnableTunnelling}
854 heat.watch_server_url:
858 - {get_param: VirtualIP}
860 heat.metadata_server_url:
864 - {get_param: VirtualIP}
866 heat.waitcondition_server_url:
870 - {get_param: VirtualIP}
871 - ':8000/v1/waitcondition'
872 admin_password: {get_param: AdminPassword}
873 admin_token: {get_param: AdminToken}
874 neutron_public_interface_ip: {get_param: NeutronPublicInterfaceIP}
875 debug: {get_param: Debug}
876 cinder_lvm_loop_device_size: {get_param: CinderLVMLoopDeviceSize}
877 cinder_password: {get_param: CinderPassword}
878 cinder_iscsi_helper: {get_param: CinderISCSIHelper}
882 - - 'mysql://cinder:'
883 - {get_param: CinderPassword}
885 - {get_param: VirtualIP}
887 glance_port: {get_param: GlancePort}
888 glance_protocol: {get_param: GlanceProtocol}
889 glance_password: {get_param: GlancePassword}
890 glance_notifier_strategy: {get_param: GlanceNotifierStrategy}
891 glance_log_file: {get_param: GlanceLogFile}
895 - - 'mysql://glance:'
896 - {get_param: GlancePassword}
898 - {get_param: VirtualIP}
900 heat_password: {get_param: HeatPassword}
901 heat_stack_domain_admin_password: {get_param: HeatStackDomainAdminPassword}
902 heat_auth_encryption_key: {get_param: HeatAuthEncryptionKey}
907 - {get_param: HeatPassword}
909 - {get_param: VirtualIP}
911 keystone_ca_certificate: {get_param: KeystoneCACertificate}
912 keystone_signing_key: {get_param: KeystoneSigningKey}
913 keystone_signing_certificate: {get_param: KeystoneSigningCertificate}
914 keystone_ssl_certificate: {get_param: KeystoneSSLCertificate}
915 keystone_ssl_certificate_key: {get_param: KeystoneSSLCertificateKey}
919 - - 'mysql://keystone:'
920 - {get_param: AdminToken}
922 - {get_param: VirtualIP}
924 mongodb_no_journal: {get_param: MongoDbNoJournal}
925 mysql_innodb_buffer_pool_size: {get_param: MysqlInnodbBufferPoolSize}
926 mysql_root_password: {get_param: MysqlRootPassword}
929 template: tripleo-CLUSTER
931 CLUSTER: {get_param: MysqlClusterUniquePart}
932 neutron_flat_networks: {get_param: NeutronFlatNetworks}
933 neutron_metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
934 neutron_agent_mode: {get_param: NeutronAgentMode}
935 neutron_router_distributed: {get_param: NeutronDVR}
936 neutron_mechanism_drivers: {get_param: NeutronMechanismDrivers}
937 neutron_allow_l3agent_failover: {get_param: NeutronAllowL3AgentFailover}
938 neutron_l3_ha: {get_param: NeutronL3HA}
939 neutron_dhcp_agents_per_network: {get_param: NeutronDhcpAgentsPerNetwork}
940 neutron_network_vlan_ranges: {get_param: NeutronNetworkVLANRanges}
941 neutron_bridge_mappings: {get_param: NeutronBridgeMappings}
942 neutron_public_interface: {get_param: NeutronPublicInterface}
943 neutron_public_interface_raw_device: {get_param: NeutronPublicInterfaceRawDevice}
944 neutron_public_interface_default_route: {get_param: NeutronPublicInterfaceDefaultRoute}
945 neutron_public_interface_tag: {get_param: NeutronPublicInterfaceTag}
946 neutron_tenant_network_type: {get_param: NeutronNetworkType}
947 neutron_tunnel_types: {get_param: NeutronTunnelTypes}
948 neutron_tunnel_id_ranges:
950 template: "['RANGES']"
955 - {get_param: NeutronTunnelIdRanges}
958 template: "['RANGES']"
963 - {get_param: NeutronVniRanges}
964 neutron_password: {get_param: NeutronPassword}
965 neutron_dnsmasq_options: {get_param: NeutronDnsmasqOptions}
969 - - 'mysql://neutron:'
970 - {get_param: NeutronPassword}
972 - {get_param: VirtualIP}
973 - '/ovs_neutron?charset=utf8'
974 ceilometer_metering_secret: {get_param: CeilometerMeteringSecret}
975 ceilometer_password: {get_param: CeilometerPassword}
979 - - 'mysql://ceilometer:'
980 - {get_param: CeilometerPassword}
982 - {get_param: VirtualIP}
984 snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName}
985 snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword}
986 nova_password: {get_param: NovaPassword}
991 - {get_param: NovaPassword}
993 - {get_param: VirtualIP}
995 rabbit_username: {get_param: RabbitUserName}
996 rabbit_password: {get_param: RabbitPassword}
997 rabbit_cookie: {get_param: RabbitCookie}
998 rabbit_client_use_ssl: {get_param: RabbitClientUseSSL}
999 rabbit_client_port: {get_param: RabbitClientPort}
1000 ntp_server: {get_param: NtpServer}
1001 control_virtual_interface: {get_param: ControlVirtualInterface}
1002 public_virtual_interface: {get_param: PublicVirtualInterface}
1003 public_virtual_ip: {get_param: PublicVirtualIP}
1006 type: OS::Heat::StructuredConfig
1008 group: os-apply-config
1011 ca_certificate: {get_input: ssl_ca_certificate}
1013 cert: {get_input: ssl_certificate}
1014 key: {get_input: ssl_key}
1015 cacert: {get_input: ssl_ca_certificate}
1020 connect_host: {get_input: controller_host}
1024 connect_host: {get_input: controller_host}
1028 connect_host: {get_input: controller_host}
1032 connect_host: {get_input: controller_host}
1036 connect_host: {get_input: controller_host}
1037 - name: 'swift-proxy'
1040 connect_host: {get_input: controller_host}
1044 connect_host: {get_input: controller_host}
1045 - name: 'ceilometer'
1048 connect_host: {get_input: controller_host}
1050 ControllerSSLDeployment:
1051 type: OS::Heat::StructuredDeployment
1053 config: {get_resource: SSLConfig}
1054 server: {get_resource: Controller}
1055 signal_transport: NO_SIGNAL
1057 controller_host: {get_attr: [Controller, networks, ctlplane, 0]}
1058 ssl_certificate: {get_param: SSLCertificate}
1059 ssl_key: {get_param: SSLKey}
1060 ssl_ca_certificate: {get_param: SSLCACertificate}
1062 ControllerPassthroughDeployment:
1063 type: OS::Heat::StructuredDeployment
1065 config: {get_resource: ControllerPassthroughConfig}
1066 server: {get_resource: Controller}
1067 signal_transport: NO_SIGNAL
1069 passthrough_config: {get_param: ExtraConfig}
1071 ControllerPassthroughSpecificDeployment:
1072 depends_on: [ControllerPassthroughDeployment]
1073 type: OS::Heat::StructuredDeployment
1075 config: {get_resource: ControllerPassthroughConfigSpecific}
1076 server: {get_resource: Controller}
1077 signal_transport: NO_SIGNAL
1079 passthrough_config_specific: {get_param: ControllerExtraConfig}
1082 type: OS::Heat::StructuredConfig
1084 group: os-apply-config
1087 hash: { get_input: swift_hash_suffix }
1088 part-power: { get_input: swift_part_power }
1089 mount-check: { get_input: swift_mount_check }
1090 min-part-hours: { get_input: swift_min_part_hours }
1091 replicas: {get_input: swift_replicas }
1092 service-password: { get_input: swift_password }
1095 type: OS::Heat::StructuredDeployment
1097 server: {get_resource: Controller}
1098 config: {get_resource: SwiftConfig}
1099 signal_transport: NO_SIGNAL
1101 swift_hash_suffix: {get_param: SwiftHashSuffix}
1102 swift_mount_check: {get_param: SwiftMountCheck}
1103 swift_password: {get_param: SwiftPassword}
1104 swift_min_part_hours: {get_param: SwiftMinPartHours}
1105 swift_part_power: {get_param: SwiftPartPower}
1106 swift_replicas: { get_param: SwiftReplicas}
1110 description: IP address of the server in the ctlplane network
1111 value: {get_attr: [Controller, networks, ctlplane, 0]}
1112 external_ip_address:
1113 description: IP address of the server in the external network
1114 value: {get_attr: [ExternalPort, ip_address]}
1115 internal_api_ip_address:
1116 description: IP address of the server in the internal_api network
1117 value: {get_attr: [InternalApiPort, ip_address]}
1119 description: IP address of the server in the storage network
1120 value: {get_attr: [StoragePort, ip_address]}
1121 storage_mgmt_ip_address:
1122 description: IP address of the server in the storage_mgmt network
1123 value: {get_attr: [StorageMgmtPort, ip_address]}
1125 description: IP address of the server in the tenant network
1126 value: {get_attr: [TenantPort, ip_address]}
1128 description: Hostname of the server
1129 value: {get_attr: [Controller, name]}
1132 Node object in the format {ip: ..., name: ...} format that the corosync
1135 ip: {get_attr: [Controller, networks, ctlplane, 0]}
1136 name: {get_attr: [Controller, name]}
1139 Server's IP address and hostname in the /etc/hosts format
1142 template: IP HOST CLOUDNAME
1144 IP: {get_attr: [Controller, networks, ctlplane, 0]}
1145 HOST: {get_attr: [Controller, name]}
1146 CLOUDNAME: {get_param: CloudName}
1147 nova_server_resource:
1148 description: Heat resource handle for the Nova compute server
1150 {get_resource: Controller}
1152 description: Swift device formatted for swift-ring-builder
1155 template: 'r1z1-IP:%PORT%/d1'
1157 IP: {get_attr: [Controller, networks, ctlplane, 0]}
1158 swift_proxy_memcache:
1159 description: Swift proxy-memcache value
1162 template: "IP:11211"
1164 IP: {get_attr: [Controller, networks, ctlplane, 0]}
1166 description: identifier which changes if the node configuration may need re-applying
1167 value: "None - NO_SIGNAL"