1 heat_template_version: 2014-10-16
4 OpenStack hypervisor node configured via Puppet.
9 description: The password for the keystone admin account, used for monitoring, querying neutron etc.
12 CeilometerComputeAgent:
13 description: Indicates whether the Compute agent is present and expects nova-compute to be configured accordingly
17 - allowed_values: ['', Present]
18 CeilometerMeteringSecret:
20 description: Secret shared by the ceilometer services.
25 description: The password for the ceilometer service account.
30 description: Set to True to enable debugging on all services.
35 Additional configuration to inject into the cluster. The JSON should have
36 the following structure:
39 [{"section": "SECTIONNAME",
41 [{"option": "OPTIONNAME",
52 [{"section": "default",
54 [{"option": "force_config_drive",
62 "value": "nova.cells.rpc_driver.CellsRPCDriver"
71 description: Flavor for the nova compute node
74 - custom_constraint: nova.flavor
77 default: '' # Has to be here because of the ignored empty value bug
80 description: Glance port.
84 description: Protocol to use when connecting to glance, set to https for SSL.
88 default: overcloud-compute
90 - custom_constraint: glance.image
92 default: 'REBUILD_PRESERVE_EPHEMERAL'
93 description: What policy to use when reconstructing instances. REBUILD for rebuilds, REBUILD_PRESERVE_EPHEMERAL to preserve /mnt.
96 description: Name of an existing EC2 KeyPair to enable SSH access to the instances
100 - custom_constraint: nova.keypair
104 NeutronBridgeMappings:
106 The OVS logical->physical bridge mappings to use. See the Neutron
107 documentation for details. Defaults to mapping br-ex - the external
108 bridge on hosts - to a physical name 'datacentre' which can be used
109 to create provider networks (and we use this for the default floating
110 network) - if changing this either use different post-install network
111 scripts or be sure to keep 'datacentre' as a mapping network name.
113 default: "datacentre:br-ex"
114 NeutronEnableTunnelling:
119 default: 'datacentre'
121 If set, flat networks to configure in neutron plugins.
124 default: '' # Has to be here because of the ignored empty value bug
127 description: The tenant network type for Neutron, either gre or vxlan.
129 NeutronNetworkVLANRanges:
130 default: 'datacentre'
132 The Neutron ML2 and OpenVSwitch vlan mapping range to support. See the
133 Neutron documentation for permitted values. Defaults to permitting any
134 VLAN on the 'datacentre' physical network (See NeutronBridgeMappings).
138 description: The password for the neutron service account, used by neutron agents.
141 NeutronPhysicalBridge:
143 description: An OVS bridge to create for accessing external networks.
145 NeutronPublicInterface:
147 description: A port to add to the NeutronPhysicalBridge.
152 The tunnel types for the Neutron tenant network. To specify multiple
153 values, use a comma separated string, like so: 'gre,vxlan'
155 NeutronPublicInterfaceRawDevice:
161 NeutronMetadataProxySharedSecret:
163 description: Shared secret to prevent spoofing
165 NeutronMechanismDrivers:
166 default: 'openvswitch'
168 The mechanism drivers for the Neutron tenant network. To specify multiple
169 values, use a comma separated string, like so: 'openvswitch,l2_population'
171 # Not relevant for Computes, should be removed
172 NeutronAllowL3AgentFailover:
174 description: Allow automatic l3-agent failover
176 # Not relevant for Computes, should be removed
179 description: Whether to enable l3-agent HA
183 description: Agent mode for the neutron-l3-agent on the controller hosts
187 default: '' # Has to be here because of the ignored empty value bug
190 default: libvirt.LibvirtDriver
191 NovaComputeExtraConfig:
194 NovaCompute specific configuration to inject into the cluster. Same
195 structure as ExtraConfig.
197 NovaComputeLibvirtType:
200 NovaEnableRbdBackend:
202 description: Whether to enable or not the Rbd backend for Nova
206 description: The password for the nova service account, used by nova-api.
211 default: '' # Has to be here because of the ignored empty value bug
217 default: '' # Has to be here because of the ignored empty value bug
220 description: The password for RabbitMQ
225 description: The username for RabbitMQ
230 Rabbit client subscriber parameter to specify
231 an SSL connection to the RabbitMQ host.
235 description: Set rabbit subscriber port, change this if using SSL
237 SnmpdReadonlyUserName:
238 default: ro_snmp_user
239 description: The user name for SNMPd with readonly rights running on all Overcloud nodes
241 SnmpdReadonlyUserPassword:
243 description: The user password for SNMPd with readonly rights running on all Overcloud nodes
246 EnablePackageInstall:
248 description: Set to true to enable package installation via Puppet
254 type: OS::Nova::Server
259 get_param: ImageUpdatePolicy
260 flavor: {get_param: Flavor}
261 key_name: {get_param: KeyName}
264 user_data_format: SOFTWARE_CONFIG
265 user_data: {get_resource: NodeUserData}
268 type: OS::TripleO::NodeUserData
271 type: OS::TripleO::Compute::Net::SoftwareConfig
274 type: OS::TripleO::SoftwareDeployment
276 signal_transport: NO_SIGNAL
277 config: {get_attr: [NetworkConfig, config_id]}
278 server: {get_resource: NovaCompute}
280 bridge_name: {get_param: NeutronPhysicalBridge}
281 interface_name: {get_param: NeutronPublicInterface}
284 type: OS::Heat::StructuredConfig
286 group: os-apply-config
290 - heat_config_%{::deploy_config_name}
292 - ceph_cluster # provided by CephClusterConfig
298 raw_data: {get_file: hieradata/common.yaml}
300 raw_data: {get_file: hieradata/ceph.yaml}
302 raw_data: {get_file: hieradata/compute.yaml}
304 nova::compute::vncserver_proxyclient_address: local-ipv4
306 nova::debug: {get_input: debug}
307 nova::rabbit_hosts: {get_input: rabbit_hosts}
308 nova::rabbit_userid: {get_input: rabbit_username}
309 nova::rabbit_password: {get_input: rabbit_password}
310 nova::rabbit_use_ssl: {get_input: rabbit_client_use_ssl}
311 nova::rabbit_port: {get_input: rabbit_client_port}
312 nova_compute_driver: {get_input: nova_compute_driver}
313 nova::compute::libvirt::libvirt_virt_type: {get_input: nova_compute_libvirt_type}
314 nova_api_host: {get_input: nova_api_host}
315 nova::compute::vncproxy_host: {get_input: nova_public_ip}
316 nova_enable_rbd_backend: {get_input: nova_enable_rbd_backend}
317 nova_password: {get_input: nova_password}
318 ceilometer::debug: {get_input: debug}
319 ceilometer::rabbit_hosts: {get_input: rabbit_hosts}
320 ceilometer::rabbit_userid: {get_input: rabbit_username}
321 ceilometer::rabbit_password: {get_input: rabbit_password}
322 ceilometer::rabbit_use_ssl: {get_input: rabbit_client_use_ssl}
323 ceilometer::rabbit_port: {get_input: rabbit_client_port}
324 ceilometer::metering_secret: {get_input: ceilometer_metering_secret}
325 ceilometer::agent::auth::auth_password: {get_input: ceilometer_password}
326 ceilometer::agent::auth::auth_url: {get_input: ceilometer_agent_auth_url}
327 ceilometer_compute_agent: {get_input: ceilometer_compute_agent}
328 snmpd_readonly_user_name: {get_input: snmpd_readonly_user_name}
329 snmpd_readonly_user_password: {get_input: snmpd_readonly_user_password}
330 nova::glance_api_servers: {get_input: glance_api_servers}
331 neutron::debug: {get_input: debug}
332 neutron::rabbit_hosts: {get_input: rabbit_hosts}
333 neutron::rabbit_password: {get_input: rabbit_password}
334 neutron::rabbit_user: {get_input: rabbit_user}
335 neutron::rabbit_use_ssl: {get_input: rabbit_client_use_ssl}
336 neutron::rabbit_port: {get_input: rabbit_client_port}
337 neutron_flat_networks: {get_input: neutron_flat_networks}
338 neutron_host: {get_input: neutron_host}
339 neutron::agents::ml2::ovs::local_ip: {get_input: neutron_local_ip}
340 neutron_tenant_network_type: {get_input: neutron_tenant_network_type}
341 neutron_tunnel_types: {get_input: neutron_tunnel_types}
342 neutron::network_vlan_ranges: {get_input: neutron_network_vlan_ranges}
343 neutron_bridge_mappings: {get_input: neutron_bridge_mappings}
344 neutron::agents::ml2::ovs::enable_tunneling: {get_input: neutron_enable_tunneling}
345 neutron_physical_bridge: {get_input: neutron_physical_bridge}
346 neutron_public_interface: {get_input: neutron_public_interface}
347 nova::network::neutron::neutron_admin_password: {get_input: neutron_password}
348 nova::network::neutron::neutron_url: {get_input: neutron_url}
349 nova::network::neutron::neutron_admin_auth_url: {get_input: neutron_admin_auth_url}
350 neutron_router_distributed: {get_input: neutron_router_distributed}
351 neutron_agent_mode: {get_input: neutron_agent_mode}
352 neutron_metadata_proxy_shared_secret: {get_input: neutron_metadata_proxy_shared_secret}
353 neutron_mechanism_drivers: {get_input: neutron_mechanism_drivers}
354 neutron_public_interface_raw_device: {get_input: neutron_public_interface_raw_device}
355 admin_password: {get_input: admin_password}
356 ntp::servers: {get_input: ntp_servers}
357 enable_package_install: {get_input: enable_package_install}
359 NovaComputeDeployment:
360 type: OS::TripleO::SoftwareDeployment
362 signal_transport: NO_SIGNAL
363 config: {get_resource: NovaComputeConfig}
364 server: {get_resource: NovaCompute}
366 debug: {get_param: Debug}
367 nova_compute_driver: {get_param: NovaComputeDriver}
368 nova_compute_libvirt_type: {get_param: NovaComputeLibvirtType}
369 nova_public_ip: {get_param: NovaPublicIP}
370 nova_api_host: {get_param: NovaApiHost}
371 nova_password: {get_param: NovaPassword}
372 nova_enable_rbd_backend: {get_param: NovaEnableRbdBackend}
373 ceilometer_metering_secret: {get_param: CeilometerMeteringSecret}
374 ceilometer_password: {get_param: CeilometerPassword}
375 ceilometer_compute_agent: {get_param: CeilometerComputeAgent}
376 ceilometer_agent_auth_url:
380 - {get_param: KeystoneHost}
382 snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName}
383 snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword}
387 - - {get_param: GlanceProtocol}
389 - {get_param: GlanceHost}
391 - {get_param: GlancePort}
392 neutron_flat_networks: {get_param: NeutronFlatNetworks}
393 neutron_host: {get_param: NeutronHost}
394 neutron_local_ip: {get_attr: [NovaCompute, networks, ctlplane, 0]}
395 neutron_tenant_network_type: {get_param: NeutronNetworkType}
396 neutron_tunnel_types: {get_param: NeutronTunnelTypes}
397 neutron_network_vlan_ranges: {get_param: NeutronNetworkVLANRanges}
398 neutron_bridge_mappings: {get_param: NeutronBridgeMappings}
399 neutron_enable_tunneling: {get_param: NeutronEnableTunnelling}
400 neutron_physical_bridge: {get_param: NeutronPhysicalBridge}
401 neutron_public_interface: {get_param: NeutronPublicInterface}
402 neutron_password: {get_param: NeutronPassword}
403 neutron_agent_mode: {get_param: NeutronAgentMode}
404 neutron_router_distributed: {get_param: NeutronDVR}
405 neutron_metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
406 neutron_mechanism_drivers: {get_param: NeutronMechanismDrivers}
407 neutron_public_interface_raw_device: {get_param: NeutronPublicInterfaceRawDevice}
412 - {get_param: NeutronHost}
414 neutron_admin_auth_url:
418 - {get_param: NeutronHost}
420 admin_password: {get_param: AdminPassword}
425 host: {get_param: RabbitHost}
426 rabbit_username: {get_param: RabbitUserName}
427 rabbit_password: {get_param: RabbitPassword}
428 rabbit_client_use_ssl: {get_param: RabbitClientUseSSL}
429 rabbit_client_port: {get_param: RabbitClientPort}
432 template: '["server"]'
434 server: {get_param: NtpServer}
435 enable_package_install: {get_param: EnablePackageInstall}
439 description: IP address of the server in the ctlplane network
440 value: {get_attr: [NovaCompute, networks, ctlplane, 0]}
442 description: Hostname of the server
443 value: {get_attr: [NovaCompute, name]}
446 Server's IP address and hostname in the /etc/hosts format
449 template: "IP HOST HOST.novalocal"
451 IP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
452 HOST: {get_attr: [NovaCompute, name]}
453 nova_server_resource:
454 description: Heat resource handle for the Nova compute server
456 {get_resource: NovaCompute}