1 heat_template_version: 2014-10-16
4 OpenStack hypervisor node. Can be wrapped in a ResourceGroup for scaling.
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
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
235 type: OS::Nova::Server
240 get_param: ImageUpdatePolicy
241 flavor: {get_param: Flavor}
242 key_name: {get_param: KeyName}
245 user_data_format: SOFTWARE_CONFIG
248 type: OS::TripleO::Net::SoftwareConfig
251 type: OS::TripleO::SoftwareDeployment
253 signal_transport: NO_SIGNAL
254 config: {get_attr: [NetworkConfig, config_id]}
255 server: {get_resource: NovaCompute}
257 bridge_name: {get_param: NeutronPhysicalBridge}
258 interface_name: {get_param: NeutronPublicInterface}
261 type: OS::TripleO::Compute::SoftwareConfig
263 # allow configs to create sub-resources attached to the server
264 server_id: {get_resource: NovaCompute}
266 NovaComputeDeployment:
267 type: OS::TripleO::SoftwareDeployment
269 signal_transport: NO_SIGNAL
270 config: {get_attr: [NovaComputeConfig, config_id]}
271 server: {get_resource: NovaCompute}
273 debug: {get_param: Debug}
274 nova_compute_driver: {get_param: NovaComputeDriver}
275 nova_compute_libvirt_type: {get_param: NovaComputeLibvirtType}
276 nova_public_ip: {get_param: NovaPublicIP}
277 nova_api_host: {get_param: NovaApiHost}
278 nova_password: {get_param: NovaPassword}
279 ceilometer_metering_secret: {get_param: CeilometerMeteringSecret}
280 ceilometer_password: {get_param: CeilometerPassword}
281 ceilometer_compute_agent: {get_param: CeilometerComputeAgent}
282 snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName}
283 snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword}
284 glance_host: {get_param: GlanceHost}
285 glance_port: {get_param: GlancePort}
286 glance_protocol: {get_param: GlanceProtocol}
287 keystone_host: {get_param: KeystoneHost}
288 neutron_flat_networks: {get_param: NeutronFlatNetworks}
289 neutron_host: {get_param: NeutronHost}
290 neutron_local_ip: {get_attr: [NovaCompute, networks, ctlplane, 0]}
291 neutron_tenant_network_type: {get_param: NeutronNetworkType}
292 neutron_tunnel_types: {get_param: NeutronTunnelTypes}
293 neutron_network_vlan_ranges: {get_param: NeutronNetworkVLANRanges}
294 neutron_bridge_mappings: {get_param: NeutronBridgeMappings}
295 neutron_enable_tunneling: {get_param: NeutronEnableTunnelling}
296 neutron_physical_bridge: {get_param: NeutronPhysicalBridge}
297 neutron_public_interface: {get_param: NeutronPublicInterface}
298 neutron_password: {get_param: NeutronPassword}
299 neutron_agent_mode: {get_param: NeutronAgentMode}
300 neutron_router_distributed: {get_param: NeutronDVR}
301 neutron_metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
302 neutron_mechanism_drivers: {get_param: NeutronMechanismDrivers}
303 neutron_allow_l3agent_failover: {get_param: NeutronAllowL3AgentFailover}
304 neutron_l3_ha: {get_param: NeutronL3HA}
305 neutron_public_interface_raw_device: {get_param: NeutronPublicInterfaceRawDevice}
306 admin_password: {get_param: AdminPassword}
307 rabbit_host: {get_param: RabbitHost}
308 rabbit_username: {get_param: RabbitUserName}
309 rabbit_password: {get_param: RabbitPassword}
310 ntp_server: {get_param: NtpServer}
312 NovaComputePassthrough:
313 type: OS::Heat::StructuredConfig
315 group: os-apply-config
316 config: {get_input: passthrough_config}
318 NovaComputePassthroughSpecific:
319 type: OS::Heat::StructuredConfig
321 group: os-apply-config
322 config: {get_input: passthrough_config_specific}
324 NovaComputePassthroughDeployment:
325 depends_on: [NovaComputeDeployment]
326 type: OS::Heat::StructuredDeployment
328 config: {get_resource: NovaComputePassthrough}
329 server: {get_resource: NovaCompute}
330 signal_transport: NO_SIGNAL
332 passthrough_config: {get_param: ExtraConfig}
334 NovaComputePassthroughDeploymentSpecific:
335 depends_on: [NovaComputePassthroughDeployment]
336 type: OS::Heat::StructuredDeployment
338 config: {get_resource: NovaComputePassthroughSpecific}
339 server: {get_resource: NovaCompute}
340 signal_transport: NO_SIGNAL
342 passthrough_config_specific: {get_param: NovaComputeExtraConfig}
346 description: IP address of the server in the ctlplane network
347 value: {get_attr: [NovaCompute, networks, ctlplane, 0]}
349 description: Hostname of the server
350 value: {get_attr: [NovaCompute, name]}
353 Server's IP address and hostname in the /etc/hosts format
356 template: "IP HOST HOST.novalocal"
358 IP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
359 HOST: {get_attr: [NovaCompute, name]}
360 nova_server_resource:
361 description: Heat resource handle for the Nova compute server
363 {get_resource: NovaCompute}