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.
114 NeutronEnableTunnelling:
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 NeutronAllowL3AgentFailover:
173 description: Allow automatic l3-agent failover
175 NeutronL3HA: #FIXME this isn't wired in
177 description: Whether to enable l3-agent HA
181 description: Agent mode for the neutron-l3-agent on the controller hosts
185 default: '' # Has to be here because of the ignored empty value bug
188 default: libvirt.LibvirtDriver
189 NovaComputeExtraConfig:
192 NovaCompute specific configuration to inject into the cluster. Same
193 structure as ExtraConfig.
195 NovaComputeLibvirtType:
200 description: The password for the nova service account, used by nova-api.
205 default: '' # Has to be here because of the ignored empty value bug
211 default: '' # Has to be here because of the ignored empty value bug
214 description: The password for RabbitMQ
219 description: The username for RabbitMQ
221 SnmpdReadonlyUserName:
222 default: ro_snmp_user
223 description: The user name for SNMPd with readonly rights running on all Overcloud nodes
225 SnmpdReadonlyUserPassword:
227 description: The user password for SNMPd with readonly rights running on all Overcloud nodes
230 EnablePackageInstall:
232 description: Set to true to enable package installation via Puppet
238 type: OS::Nova::Server
243 get_param: ImageUpdatePolicy
244 flavor: {get_param: Flavor}
245 key_name: {get_param: KeyName}
248 user_data_format: SOFTWARE_CONFIG
251 type: OS::TripleO::Net::SoftwareConfig
254 type: OS::TripleO::SoftwareDeployment
256 signal_transport: NO_SIGNAL
257 config: {get_attr: [NetworkConfig, config_id]}
258 server: {get_resource: NovaCompute}
260 bridge_name: {get_param: NeutronPhysicalBridge}
261 interface_name: {get_param: NeutronPublicInterface}
264 type: OS::Heat::StructuredConfig
266 group: os-apply-config
270 - heat_config_%{::deploy_config_name}
275 raw_data: {get_file: hieradata/common.yaml}
277 raw_data: {get_file: hieradata/compute.yaml}
279 nova::compute::vncserver_proxyclient_address: local-ipv4
281 #nova::debug: {get_input: debug}
282 nova_compute_driver: {get_input: nova_compute_driver}
283 nova::compute::libvirt::libvirt_virt_type: {get_input: nova_compute_libvirt_type}
284 nova_api_host: {get_input: nova_api_host}
285 nova::compute::vncproxy_host: {get_input: nova_public_ip}
286 nova_password: {get_input: nova_password}
287 #ceilometer::debug: {get_input: debug}
288 ceilometer::metering_secret: {get_input: ceilometer_metering_secret}
289 ceilometer::agent::auth::auth_password: {get_input: ceilometer_password}
290 ceilometer_compute_agent: {get_input: ceilometer_compute_agent}
291 snmpd_readonly_user_name: {get_input: snmpd_readonly_user_name}
292 snmpd_readonly_user_password: {get_input: snmpd_readonly_user_password}
293 glance_host: {get_input: glance_host}
294 glance_port: {get_input: glance_port}
295 glance_protocol: {get_input: glance_protocol}
296 keystone_host: {get_input: keystone_host}
297 #neutron::debug: {get_input: debug}
298 neutron_flat_networks: {get_input: neutron_flat_networks}
299 neutron_host: {get_input: neutron_host}
300 neutron::agents::ml2::ovs::local_ip: {get_input: neutron_local_ip}
301 neutron_tenant_network_type: {get_input: neutron_tenant_network_type}
302 neutron_tunnel_types: {get_input: neutron_tunnel_types}
303 neutron::network_vlan_ranges: {get_input: neutron_network_vlan_ranges}
304 neutron_bridge_mappings: {get_input: neutron_bridge_mappings}
305 neutron::agents::ml2::ovs::enable_tunneling: {get_input: neutron_enable_tunneling}
306 neutron_physical_bridge: {get_input: neutron_physical_bridge}
307 neutron_public_interface: {get_input: neutron_public_interface}
308 nova::network::neutron::neutron_admin_password: {get_input: neutron_password}
309 nova::network::neutron::neutron_url: {get_input: neutron_url}
310 nova::network::neutron::neutron_admin_auth_url: {get_input: neutron_admin_auth_url}
311 neutron_router_distributed: {get_input: neutron_router_distributed}
312 neutron_agent_mode: {get_input: neutron_agent_mode}
313 neutron_metadata_proxy_shared_secret: {get_input: neutron_metadata_proxy_shared_secret}
314 neutron_mechanism_drivers: {get_input: neutron_mechanism_drivers}
315 neutron_allow_l3agent_failover: {get_input: neutron_allow_l3agent_failover}
316 neutron_allow_l3agent_failover: {get_input: neutron_allow_l3agent_failover}
317 neutron_public_interface_raw_device: {get_input: neutron_public_interface_raw_device}
318 admin_password: {get_input: admin_password}
319 nova::rabbit_host: {get_input: rabbit_host}
320 neutron::rabbit_host: {get_input: rabbit_host}
321 ceilometer::rabbit_host: {get_input: rabbit_host}
322 nova::rabbit_userid: {get_input: rabbit_username}
323 neutron::rabbit_user: {get_input: rabbit_username}
324 ceilometer::rabbit_userid: {get_input: rabbit_username}
325 nova::rabbit_password: {get_input: rabbit_password}
326 neutron::rabbit_password: {get_input: rabbit_password}
327 ceilometer::rabbit_password: {get_input: rabbit_password}
328 ntp::servers: {get_input: ntp_servers}
329 enable_package_install: {get_input: enable_package_install}
331 NovaComputeDeployment:
332 type: OS::TripleO::SoftwareDeployment
334 signal_transport: NO_SIGNAL
335 config: {get_resource: NovaComputeConfig}
336 server: {get_resource: NovaCompute}
338 debug: {get_param: Debug}
339 nova_compute_driver: {get_param: NovaComputeDriver}
340 nova_compute_libvirt_type: {get_param: NovaComputeLibvirtType}
341 nova_public_ip: {get_param: NovaPublicIP}
342 nova_api_host: {get_param: NovaApiHost}
343 nova_password: {get_param: NovaPassword}
344 ceilometer_metering_secret: {get_param: CeilometerMeteringSecret}
345 ceilometer_password: {get_param: CeilometerPassword}
346 ceilometer_compute_agent: {get_param: CeilometerComputeAgent}
347 snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName}
348 snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword}
349 glance_host: {get_param: GlanceHost}
350 glance_port: {get_param: GlancePort}
351 glance_protocol: {get_param: GlanceProtocol}
352 keystone_host: {get_param: KeystoneHost}
353 neutron_flat_networks: {get_param: NeutronFlatNetworks}
354 neutron_host: {get_param: NeutronHost}
355 neutron_local_ip: {get_attr: [NovaCompute, networks, ctlplane, 0]}
356 neutron_tenant_network_type: {get_param: NeutronNetworkType}
357 neutron_tunnel_types: {get_param: NeutronTunnelTypes}
358 neutron_network_vlan_ranges: {get_param: NeutronNetworkVLANRanges}
359 neutron_bridge_mappings: {get_param: NeutronBridgeMappings}
360 neutron_enable_tunneling: {get_param: NeutronEnableTunnelling}
361 neutron_physical_bridge: {get_param: NeutronPhysicalBridge}
362 neutron_public_interface: {get_param: NeutronPublicInterface}
363 neutron_password: {get_param: NeutronPassword}
364 neutron_agent_mode: {get_param: NeutronAgentMode}
365 neutron_router_distributed: {get_param: NeutronDVR}
366 neutron_metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
367 neutron_mechanism_drivers: {get_param: NeutronMechanismDrivers}
368 neutron_allow_l3agent_failover: {get_param: NeutronAllowL3AgentFailover}
369 neutron_public_interface_raw_device: {get_param: NeutronPublicInterfaceRawDevice}
374 - {get_param: NeutronHost}
376 neutron_admin_auth_url:
380 - {get_param: NeutronHost}
382 admin_password: {get_param: AdminPassword}
383 rabbit_host: {get_param: RabbitHost}
384 rabbit_username: {get_param: RabbitUserName}
385 rabbit_password: {get_param: RabbitPassword}
388 template: '["server"]'
390 server: {get_param: NtpServer}
391 enable_package_install: {get_param: EnablePackageInstall}
395 description: IP address of the server in the ctlplane network
396 value: {get_attr: [NovaCompute, networks, ctlplane, 0]}
398 description: Hostname of the server
399 value: {get_attr: [NovaCompute, name]}
402 Server's IP address and hostname in the /etc/hosts format
405 template: "IP HOST HOST.novalocal"
407 IP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
408 HOST: {get_attr: [NovaCompute, name]}
409 nova_server_resource:
410 description: Heat resource handle for the Nova compute server
412 {get_resource: NovaCompute}