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
220 description: Secret key for Django
225 default: overcloud-control
227 - custom_constraint: glance.image
229 default: 'REBUILD_PRESERVE_EPHEMERAL'
230 description: What policy to use when reconstructing instances. REBUILD for rebuilds, REBUILD_PRESERVE_EPHEMERAL to preserve /mnt.
234 description: Name of an existing EC2 KeyPair to enable SSH access to the instances
237 - custom_constraint: nova.keypair
238 KeystoneCACertificate:
240 description: Keystone self-signed certificate authority certificate.
242 KeystoneSigningCertificate:
244 description: Keystone certificate for verifying token validity.
248 description: Keystone key for signing tokens.
251 KeystoneSSLCertificate:
253 description: Keystone certificate for verifying token validity.
255 KeystoneSSLCertificateKey:
257 description: Keystone key for signing tokens.
260 KeystoneNotificationDriver:
261 description: Comma-separated list of Oslo notification drivers used by Keystone
262 default: ['messaging']
263 type: comma_delimited_list
264 KeystoneNotificationFormat:
265 description: The Keystone notification format
269 - allowed_values: [ 'basic', 'cadf' ]
270 MysqlClusterUniquePart:
271 description: A unique identifier of the MySQL cluster the controller is in.
273 default: 'unset' # Has to be here because of the ignored empty value bug
274 # Drop the validation: https://bugs.launchpad.net/tripleo/+bug/1405446
276 # - length: {min: 4, max: 10}
277 MysqlInnodbBufferPoolSize:
279 Specifies the size of the buffer pool in megabytes. Setting to
280 zero should be interpreted as "no value" and will defer to the
285 description: Configures MySQL max_connections config setting
291 default: '' # Has to be here because of the ignored empty value bug
292 NeutronExternalNetworkBridge:
293 description: Name of bridge used for external network traffic.
296 NeutronBridgeMappings:
298 The OVS logical->physical bridge mappings to use. See the Neutron
299 documentation for details. Defaults to mapping br-ex - the external
300 bridge on hosts - to a physical name 'datacentre' which can be used
301 to create provider networks (and we use this for the default floating
302 network) - if changing this either use different post-install network
303 scripts or be sure to keep 'datacentre' as a mapping network name.
305 default: "datacentre:br-ex"
306 NeutronDnsmasqOptions:
307 default: 'dhcp-option-force=26,1400'
308 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.
312 description: Agent mode for the neutron-l3-agent on the controller hosts
316 description: Whether to configure Neutron Distributed Virtual Routers
318 NeutronMetadataProxySharedSecret:
320 description: Shared secret to prevent spoofing
326 The core plugin for Neutron. The value should be the entrypoint to be loaded
327 from neutron.core_plugins namespace.
329 NeutronServicePlugins:
332 Comma-separated list of service plugin entrypoints to be loaded from the
333 neutron.service_plugins namespace.
334 type: comma_delimited_list
336 default: "vxlan,vlan,flat,gre"
338 Comma-separated list of network type driver entrypoints to be loaded.
339 type: comma_delimited_list
340 NeutronMechanismDrivers:
341 default: 'openvswitch'
343 The mechanism drivers for the Neutron tenant network. To specify multiple
344 values, use a comma separated string, like so: 'openvswitch,l2_population'
346 NeutronAllowL3AgentFailover:
348 description: Allow automatic l3-agent failover
352 description: Whether to enable l3-agent HA
354 NeutronDhcpAgentsPerNetwork:
357 description: The number of neutron dhcp agents to schedule per network
358 NeutronEnableTunnelling:
363 default: 'datacentre'
364 description: If set, flat networks to configure in neutron plugins.
367 description: The tenant network type for Neutron, either gre or vxlan.
369 NeutronNetworkVLANRanges:
370 default: 'datacentre'
372 The Neutron ML2 and OpenVSwitch vlan mapping range to support. See the
373 Neutron documentation for permitted values. Defaults to permitting any
374 VLAN on the 'datacentre' physical network (See NeutronBridgeMappings).
375 type: comma_delimited_list
378 description: The password for the neutron service and db account, used by neutron agents.
381 NeutronPublicInterface:
383 description: What interface to bridge onto br-ex for network nodes.
385 NeutronPublicInterfaceTag:
388 VLAN tag for creating a public VLAN. The tag will be used to
389 create an access port on the exterior bridge for each control plane node,
390 and that port will be given the IP address returned by neutron from the
391 public network. Set CONTROLEXTRA=overcloud-vlan-port.yaml when compiling
392 overcloud.yaml to include the deployment of VLAN ports to the control
395 NeutronPublicInterfaceDefaultRoute:
397 description: A custom default route for the NeutronPublicInterface.
399 NeutronPublicInterfaceIP:
401 description: A custom IP address to put onto the NeutronPublicInterface.
403 NeutronPublicInterfaceRawDevice:
405 description: If set, the public interface is a vlan with this device as the raw device.
410 The tunnel types for the Neutron tenant network. To specify multiple
411 values, use a comma separated string, like so: 'gre,vxlan'
413 NeutronTunnelIdRanges:
415 Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges
416 of GRE tunnel IDs that are available for tenant network allocation
417 default: ["1:1000", ]
418 type: comma_delimited_list
421 Comma-separated list of <vni_min>:<vni_max> tuples enumerating ranges
422 of VXLAN VNI IDs that are available for tenant network allocation
423 default: ["1:1000", ]
424 type: comma_delimited_list
427 description: The password for the nova service and db account, used by nova-api.
432 description: Should MongoDb journaling be disabled
439 description: The password for the 'pcsd' user.
441 PublicVirtualInterface:
444 Specifies the interface where the public-facing virtual ip will be assigned.
445 This should be int_public when a VLAN is being used.
449 default: '' # Has to be here because of the ignored empty value bug
452 default: '' # Has to be here because of the ignored empty value bug
456 description: The password for RabbitMQ
461 description: The username for RabbitMQ
466 Rabbit client subscriber parameter to specify
467 an SSL connection to the RabbitMQ host.
471 description: Set rabbit subscriber port, change this if using SSL
475 description: Configures RabbitMQ FD limit
479 default: '' # Has to be here because of the ignored empty value bug
480 SnmpdReadonlyUserName:
481 default: ro_snmp_user
482 description: The user name for SNMPd with readonly rights running on all Overcloud nodes
484 SnmpdReadonlyUserPassword:
486 description: The user password for SNMPd with readonly rights running on all Overcloud nodes
491 description: If set, the contents of an SSL certificate authority file.
495 description: If set, the contents of an SSL certificate .crt file for encrypting SSL endpoints.
500 description: If set, the contents of an SSL certificate .key file for encrypting SSL endpoints.
505 description: A random string to be used as a salt when hashing to determine mappings
511 description: Value of mount_check in Swift account/container/object -server.conf
516 description: The minimum time (in hours) before a partition in a ring can be moved following a rebalance.
519 description: Partition Power to use when building Swift rings
523 description: The password for the swift service account, used by the swift proxy
530 description: How many replicas to use in the swift rings.
533 default: '' # Has to be here because of the ignored empty value bug
543 KeystoneAdminApiVirtualIP:
546 KeystonePublicApiVirtualIP:
554 description: Mapping of service_name -> network name. Typically set
555 via parameter_defaults in the resource registry.
561 Setting to a previously unused value during stack-update will trigger
562 package update on all nodes
565 default: '' # Defaults to Heat created hostname
570 type: OS::Nova::Server
572 image: {get_param: Image}
573 image_update_policy: {get_param: ImageUpdatePolicy}
574 flavor: {get_param: Flavor}
575 key_name: {get_param: KeyName}
578 user_data_format: SOFTWARE_CONFIG
579 user_data: {get_resource: NodeUserData}
580 name: {get_param: Hostname}
583 type: OS::TripleO::NodeUserData
586 type: OS::TripleO::Controller::Ports::ExternalPort
588 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
591 type: OS::TripleO::Controller::Ports::InternalApiPort
593 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
596 type: OS::TripleO::Controller::Ports::StoragePort
598 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
601 type: OS::TripleO::Controller::Ports::StorageMgmtPort
603 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
606 type: OS::TripleO::Controller::Ports::TenantPort
608 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
611 type: OS::TripleO::Controller::Net::SoftwareConfig
613 ControlPlaneIp: {get_attr: [Controller, networks, ctlplane, 0]}
614 ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]}
615 InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
616 StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
617 StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
618 TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
621 type: OS::TripleO::SoftwareDeployment
623 signal_transport: NO_SIGNAL
624 config: {get_resource: NetworkConfig}
625 server: {get_resource: Controller}
628 interface_name: {get_param: NeutronPublicInterface}
630 ControllerPassthroughConfig:
631 type: OS::Heat::StructuredConfig
633 group: os-apply-config
634 config: {get_input: passthrough_config}
636 ControllerPassthroughConfigSpecific:
637 type: OS::Heat::StructuredConfig
639 group: os-apply-config
640 config: {get_input: passthrough_config_specific}
643 type: OS::Heat::StructuredConfig
645 group: os-apply-config
647 admin-password: {get_input: admin_password}
648 admin-token: {get_input: admin_token}
650 public_interface_ip: {get_input: neutron_public_interface_ip}
652 nodeid: {get_input: bootstack_nodeid}
654 db: {get_input: cinder_dsn}
655 debug: {get_input: debug}
656 volume_size_mb: {get_input: cinder_lvm_loop_device_size}
657 service-password: {get_input: cinder_password}
658 iscsi-helper: {get_input: CinderISCSIHelper}
659 controller-address: {get_input: controller_host}
661 bindnetaddr: {get_input: controller_host}
664 stonith_enabled : false
666 quorum_policy : ignore
670 host: {get_input: controller_virtual_ip}
672 db: {get_input: glance_dsn}
673 debug: {get_input: debug}
674 host: {get_input: controller_virtual_ip}
675 port: {get_input: glance_port}
676 protocol: {get_input: glance_protocol}
677 service-password: {get_input: glance_password}
678 swift-store-user: service:glance
679 swift-store-key: {get_input: glance_password}
680 notifier-strategy: {get_input: glance_notifier_strategy}
681 log-file: {get_input: glance_log_file}
683 admin_password: {get_input: heat_password}
684 admin_tenant_name: service
686 auth_encryption_key: {get_input: heat_auth_encryption_key}
687 db: {get_input: heat_dsn}
688 debug: {get_input: debug}
689 stack_domain_admin_password: {get_input: heat_stack_domain_admin_password}
690 watch_server_url: {get_input: heat.watch_server_url}
691 metadata_server_url: {get_input: heat.metadata_server_url}
692 waitcondition_server_url: {get_input: heat.waitcondition_server_url}
694 db: {get_input: keystone_dsn}
695 debug: {get_input: debug}
696 host: {get_input: controller_virtual_ip}
697 ca_certificate: {get_input: keystone_ca_certificate}
698 signing_key: {get_input: keystone_signing_key}
699 signing_certificate: {get_input: keystone_signing_certificate}
701 certificate: {get_input: keystone_ssl_certificate}
702 certificate_key: {get_input: keystone_ssl_certificate_key}
704 innodb_buffer_pool_size: {get_input: mysql_innodb_buffer_pool_size}
706 root-password: {get_input: mysql_root_password}
707 cluster_name: {get_input: mysql_cluster_name}
709 debug: {get_input: debug}
710 flat-networks: {get_input: neutron_flat_networks}
711 host: {get_input: controller_virtual_ip}
712 metadata_proxy_shared_secret: {get_input: neutron_metadata_proxy_shared_secret}
713 agent_mode: {get_input: neutron_agent_mode}
714 router_distributed: {get_input: neutron_router_distributed}
715 core_plugin: {get_input: neutron_core_plugin}
716 service_plugins: {get_input: neutron_service_plugins}
717 type_drivers: {get_input: neutron_type_drivers}
718 mechanism_drivers: {get_input: neutron_mechanism_drivers}
719 allow_automatic_l3agent_failover: {get_input: neutron_allow_l3agent_failover}
720 l3_ha: {get_input: neutron_l3_ha}
721 dhcp_agents_per_network: {get_input: neutron_dhcp_agents_per_network}
723 enable_tunneling: {get_input: neutron_enable_tunneling}
724 local_ip: {get_input: controller_host}
725 network_vlan_ranges: {get_input: neutron_network_vlan_ranges}
726 bridge_mappings: {get_input: neutron_bridge_mappings}
727 public_interface: {get_input: neutron_public_interface}
728 public_interface_raw_device: {get_input: neutron_public_interface_raw_device}
729 public_interface_route: {get_input: neutron_public_interface_default_route}
730 public_interface_tag: {get_input: neutron_public_interface_tag}
731 physical_bridge: br-ex
732 tenant_network_type: {get_input: neutron_tenant_network_type}
733 tunnel_types: {get_input: neutron_tunnel_types}
734 tunnel_id_ranges: {get_input: neutron_tunnel_id_ranges}
735 vni_ranges: {get_input: neutron_vni_ranges}
736 ovs_db: {get_input: neutron_dsn}
737 service-password: {get_input: neutron_password}
738 dnsmasq-options: {get_input: neutron_dnsmasq_options}
740 db: {get_input: ceilometer_dsn}
741 debug: {get_input: debug}
742 metering_secret: {get_input: ceilometer_metering_secret}
743 service-password: {get_input: ceilometer_password}
745 export_MIB: UCD-SNMP-MIB
746 readonly_user_name: {get_input: snmpd_readonly_user_name}
747 readonly_user_password: {get_input: snmpd_readonly_user_password}
749 compute_driver: libvirt.LibvirtDriver
750 db: {get_input: nova_dsn}
751 default_floating_pool:
753 host: {get_input: controller_virtual_ip}
755 service-password: {get_input: nova_password}
757 nojournal: {get_input: mongodb_no_journal}
759 host: {get_input: controller_virtual_ip}
760 username: {get_input: rabbit_username}
761 password: {get_input: rabbit_password}
762 cookie: {get_input: rabbit_cookie}
763 rabbit_client_use_ssl: {get_input: rabbit_client_use_ssl}
764 rabbit_port: {get_input: rabbit_client_port}
767 - {server: {get_input: ntp_server}}
770 - vrrp_instance_name: VI_CONTROL
771 virtual_router_id: 51
772 keepalive_interface: {get_input: control_virtual_interface}
775 - ip: {get_input: controller_virtual_ip}
776 interface: {get_input: control_virtual_interface}
777 - vrrp_instance_name: VI_PUBLIC
778 virtual_router_id: 52
779 keepalive_interface: {get_input: public_virtual_interface}
782 - ip: {get_input: public_virtual_ip}
783 interface: {get_input: public_virtual_interface}
790 keepalive_interface: {get_input: public_virtual_interface}
794 ip: {get_input: controller_virtual_ip}
795 interface: {get_input: control_virtual_interface}
797 ip: {get_input: public_virtual_ip}
798 interface: {get_input: public_virtual_interface}
801 - ip: {get_input: controller_virtual_ip}
803 - option httpchk GET /
805 - name: keystone_admin
807 net_binds: &public_binds
808 - ip: {get_input: controller_virtual_ip}
809 - ip: {get_input: public_virtual_ip}
810 - name: keystone_public
812 net_binds: *public_binds
815 net_binds: *public_binds
818 net_binds: *public_binds
821 net_binds: *public_binds
824 net_binds: *public_binds
825 - name: glance_registry
827 net_binds: *public_binds
828 options: # overwrite options as glace_reg needs auth for http req
831 net_binds: *public_binds
832 - name: heat_cloudwatch
834 net_binds: *public_binds
837 net_binds: *public_binds
849 net_binds: *public_binds
850 - name: nova_metadata
852 net_binds: *public_binds
853 - name: nova_novncproxy
855 net_binds: *public_binds
858 net_binds: *public_binds
859 options: # overwrite options as ceil needs auth for http req
860 - name: swift_proxy_server
862 net_binds: *public_binds
864 - option httpchk GET /info
872 ControllerDeployment:
873 type: OS::TripleO::SoftwareDeployment
875 signal_transport: NO_SIGNAL
876 config: {get_resource: ControllerConfig}
877 server: {get_resource: Controller}
879 bootstack_nodeid: {get_attr: [Controller, name]}
880 controller_host: {get_attr: [Controller, networks, ctlplane, 0]}
881 controller_virtual_ip: {get_param: VirtualIP}
882 neutron_enable_tunneling: {get_param: NeutronEnableTunnelling}
883 heat.watch_server_url:
887 - {get_param: VirtualIP}
889 heat.metadata_server_url:
893 - {get_param: VirtualIP}
895 heat.waitcondition_server_url:
899 - {get_param: VirtualIP}
900 - ':8000/v1/waitcondition'
901 admin_password: {get_param: AdminPassword}
902 admin_token: {get_param: AdminToken}
903 neutron_public_interface_ip: {get_param: NeutronPublicInterfaceIP}
904 debug: {get_param: Debug}
905 cinder_lvm_loop_device_size: {get_param: CinderLVMLoopDeviceSize}
906 cinder_password: {get_param: CinderPassword}
907 cinder_iscsi_helper: {get_param: CinderISCSIHelper}
911 - - 'mysql://cinder:'
912 - {get_param: CinderPassword}
914 - {get_param: VirtualIP}
916 glance_port: {get_param: GlancePort}
917 glance_protocol: {get_param: GlanceProtocol}
918 glance_password: {get_param: GlancePassword}
919 glance_notifier_strategy: {get_param: GlanceNotifierStrategy}
920 glance_log_file: {get_param: GlanceLogFile}
924 - - 'mysql://glance:'
925 - {get_param: GlancePassword}
927 - {get_param: VirtualIP}
929 heat_password: {get_param: HeatPassword}
930 heat_stack_domain_admin_password: {get_param: HeatStackDomainAdminPassword}
931 heat_auth_encryption_key: {get_param: HeatAuthEncryptionKey}
936 - {get_param: HeatPassword}
938 - {get_param: VirtualIP}
940 keystone_ca_certificate: {get_param: KeystoneCACertificate}
941 keystone_signing_key: {get_param: KeystoneSigningKey}
942 keystone_signing_certificate: {get_param: KeystoneSigningCertificate}
943 keystone_ssl_certificate: {get_param: KeystoneSSLCertificate}
944 keystone_ssl_certificate_key: {get_param: KeystoneSSLCertificateKey}
948 - - 'mysql://keystone:'
949 - {get_param: AdminToken}
951 - {get_param: VirtualIP}
953 mongodb_no_journal: {get_param: MongoDbNoJournal}
954 mysql_innodb_buffer_pool_size: {get_param: MysqlInnodbBufferPoolSize}
955 mysql_root_password: {get_param: MysqlRootPassword}
958 template: tripleo-CLUSTER
960 CLUSTER: {get_param: MysqlClusterUniquePart}
961 neutron_flat_networks: {get_param: NeutronFlatNetworks}
962 neutron_metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
963 neutron_agent_mode: {get_param: NeutronAgentMode}
964 neutron_router_distributed: {get_param: NeutronDVR}
965 neutron_core_plugin: {get_param: NeutronCorePlugin}
966 neutron_service_plugins:
968 template: "['PLUGINS']"
973 - {get_param: NeutronServicePlugins}
974 neutron_type_drivers:
976 template: "['DRIVERS']"
981 - {get_param: NeutronTypeDrivers}
982 neutron_mechanism_drivers: {get_param: NeutronMechanismDrivers}
983 neutron_allow_l3agent_failover: {get_param: NeutronAllowL3AgentFailover}
984 neutron_l3_ha: {get_param: NeutronL3HA}
985 neutron_dhcp_agents_per_network: {get_param: NeutronDhcpAgentsPerNetwork}
986 neutron_network_vlan_ranges: {get_param: NeutronNetworkVLANRanges}
987 neutron_bridge_mappings: {get_param: NeutronBridgeMappings}
988 neutron_public_interface: {get_param: NeutronPublicInterface}
989 neutron_public_interface_raw_device: {get_param: NeutronPublicInterfaceRawDevice}
990 neutron_public_interface_default_route: {get_param: NeutronPublicInterfaceDefaultRoute}
991 neutron_public_interface_tag: {get_param: NeutronPublicInterfaceTag}
992 neutron_tenant_network_type: {get_param: NeutronNetworkType}
993 neutron_tunnel_types: {get_param: NeutronTunnelTypes}
994 neutron_tunnel_id_ranges:
996 template: "['RANGES']"
1001 - {get_param: NeutronTunnelIdRanges}
1004 template: "['RANGES']"
1009 - {get_param: NeutronVniRanges}
1010 neutron_password: {get_param: NeutronPassword}
1011 neutron_dnsmasq_options: {get_param: NeutronDnsmasqOptions}
1015 - - 'mysql://neutron:'
1016 - {get_param: NeutronPassword}
1018 - {get_param: VirtualIP}
1019 - '/ovs_neutron?charset=utf8'
1020 ceilometer_metering_secret: {get_param: CeilometerMeteringSecret}
1021 ceilometer_password: {get_param: CeilometerPassword}
1025 - - 'mysql://ceilometer:'
1026 - {get_param: CeilometerPassword}
1028 - {get_param: VirtualIP}
1030 snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName}
1031 snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword}
1032 nova_password: {get_param: NovaPassword}
1037 - {get_param: NovaPassword}
1039 - {get_param: VirtualIP}
1041 rabbit_username: {get_param: RabbitUserName}
1042 rabbit_password: {get_param: RabbitPassword}
1043 rabbit_cookie: {get_param: RabbitCookie}
1044 rabbit_client_use_ssl: {get_param: RabbitClientUseSSL}
1045 rabbit_client_port: {get_param: RabbitClientPort}
1046 ntp_server: {get_param: NtpServer}
1047 control_virtual_interface: {get_param: ControlVirtualInterface}
1048 public_virtual_interface: {get_param: PublicVirtualInterface}
1049 public_virtual_ip: {get_param: PublicVirtualIP}
1052 type: OS::Heat::StructuredConfig
1054 group: os-apply-config
1057 ca_certificate: {get_input: ssl_ca_certificate}
1059 cert: {get_input: ssl_certificate}
1060 key: {get_input: ssl_key}
1061 cacert: {get_input: ssl_ca_certificate}
1066 connect_host: {get_input: controller_host}
1070 connect_host: {get_input: controller_host}
1074 connect_host: {get_input: controller_host}
1078 connect_host: {get_input: controller_host}
1082 connect_host: {get_input: controller_host}
1083 - name: 'swift-proxy'
1086 connect_host: {get_input: controller_host}
1090 connect_host: {get_input: controller_host}
1091 - name: 'ceilometer'
1094 connect_host: {get_input: controller_host}
1096 ControllerSSLDeployment:
1097 type: OS::Heat::StructuredDeployment
1099 config: {get_resource: SSLConfig}
1100 server: {get_resource: Controller}
1101 signal_transport: NO_SIGNAL
1103 controller_host: {get_attr: [Controller, networks, ctlplane, 0]}
1104 ssl_certificate: {get_param: SSLCertificate}
1105 ssl_key: {get_param: SSLKey}
1106 ssl_ca_certificate: {get_param: SSLCACertificate}
1108 ControllerPassthroughDeployment:
1109 type: OS::Heat::StructuredDeployment
1111 config: {get_resource: ControllerPassthroughConfig}
1112 server: {get_resource: Controller}
1113 signal_transport: NO_SIGNAL
1115 passthrough_config: {get_param: ExtraConfig}
1117 ControllerPassthroughSpecificDeployment:
1118 depends_on: [ControllerPassthroughDeployment]
1119 type: OS::Heat::StructuredDeployment
1121 config: {get_resource: ControllerPassthroughConfigSpecific}
1122 server: {get_resource: Controller}
1123 signal_transport: NO_SIGNAL
1125 passthrough_config_specific: {get_param: ControllerExtraConfig}
1128 type: OS::Heat::StructuredConfig
1130 group: os-apply-config
1133 hash: { get_input: swift_hash_suffix }
1134 part-power: { get_input: swift_part_power }
1135 mount-check: { get_input: swift_mount_check }
1136 min-part-hours: { get_input: swift_min_part_hours }
1137 replicas: {get_input: swift_replicas }
1138 service-password: { get_input: swift_password }
1141 type: OS::Heat::StructuredDeployment
1143 server: {get_resource: Controller}
1144 config: {get_resource: SwiftConfig}
1145 signal_transport: NO_SIGNAL
1147 swift_hash_suffix: {get_param: SwiftHashSuffix}
1148 swift_mount_check: {get_param: SwiftMountCheck}
1149 swift_password: {get_param: SwiftPassword}
1150 swift_min_part_hours: {get_param: SwiftMinPartHours}
1151 swift_part_power: {get_param: SwiftPartPower}
1152 swift_replicas: { get_param: SwiftReplicas}
1156 description: IP address of the server in the ctlplane network
1157 value: {get_attr: [Controller, networks, ctlplane, 0]}
1158 external_ip_address:
1159 description: IP address of the server in the external network
1160 value: {get_attr: [ExternalPort, ip_address]}
1161 internal_api_ip_address:
1162 description: IP address of the server in the internal_api network
1163 value: {get_attr: [InternalApiPort, ip_address]}
1165 description: IP address of the server in the storage network
1166 value: {get_attr: [StoragePort, ip_address]}
1167 storage_mgmt_ip_address:
1168 description: IP address of the server in the storage_mgmt network
1169 value: {get_attr: [StorageMgmtPort, ip_address]}
1171 description: IP address of the server in the tenant network
1172 value: {get_attr: [TenantPort, ip_address]}
1174 description: Hostname of the server
1175 value: {get_attr: [Controller, name]}
1178 Node object in the format {ip: ..., name: ...} format that the corosync
1181 ip: {get_attr: [Controller, networks, ctlplane, 0]}
1182 name: {get_attr: [Controller, name]}
1185 Server's IP address and hostname in the /etc/hosts format
1188 template: IP HOST CLOUDNAME
1190 IP: {get_attr: [Controller, networks, ctlplane, 0]}
1191 HOST: {get_attr: [Controller, name]}
1192 CLOUDNAME: {get_param: CloudName}
1193 nova_server_resource:
1194 description: Heat resource handle for the Nova compute server
1196 {get_resource: Controller}
1198 description: Swift device formatted for swift-ring-builder
1201 template: 'r1z1-IP:%PORT%/d1'
1203 IP: {get_attr: [Controller, networks, ctlplane, 0]}
1204 swift_proxy_memcache:
1205 description: Swift proxy-memcache value
1208 template: "IP:11211"
1210 IP: {get_attr: [Controller, networks, ctlplane, 0]}
1212 description: identifier which changes if the node configuration may need re-applying
1213 value: "None - NO_SIGNAL"