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: Agent mode for the neutron-l3-agent on the controller hosts
181 default: '' # Has to be here because of the ignored empty value bug
184 default: libvirt.LibvirtDriver
185 NovaComputeExtraConfig:
188 NovaCompute specific configuration to inject into the cluster. Same
189 structure as ExtraConfig.
191 NovaComputeLibvirtType:
196 description: The password for the nova service account, used by nova-api.
201 default: '' # Has to be here because of the ignored empty value bug
207 default: '' # Has to be here because of the ignored empty value bug
210 description: The password for RabbitMQ
215 description: The username for RabbitMQ
217 SnmpdReadonlyUserName:
218 default: ro_snmp_user
219 description: The user name for SNMPd with readonly rights running on all Overcloud nodes
221 SnmpdReadonlyUserPassword:
223 description: The user password for SNMPd with readonly rights running on all Overcloud nodes
231 type: OS::Nova::Server
236 get_param: ImageUpdatePolicy
237 flavor: {get_param: Flavor}
238 key_name: {get_param: KeyName}
241 user_data_format: SOFTWARE_CONFIG
244 type: OS::TripleO::Net::SoftwareConfig
247 type: OS::TripleO::SoftwareDeployment
249 signal_transport: NO_SIGNAL
250 config: {get_attr: [NetworkConfig, config_id]}
251 server: {get_resource: NovaCompute}
253 bridge_name: {get_param: NeutronPhysicalBridge}
254 interface_name: {get_param: NeutronPublicInterface}
257 type: OS::TripleO::Compute::SoftwareConfig
259 # allow configs to create sub-resources attached to the server
260 server_id: {get_resource: NovaCompute}
262 NovaComputeDeployment:
263 type: OS::TripleO::SoftwareDeployment
265 signal_transport: NO_SIGNAL
266 config: {get_attr: [NovaComputeConfig, config_id]}
267 server: {get_resource: NovaCompute}
269 debug: {get_param: Debug}
270 nova_compute_driver: {get_param: NovaComputeDriver}
271 nova_compute_libvirt_type: {get_param: NovaComputeLibvirtType}
272 nova_public_ip: {get_param: NovaPublicIP}
273 nova_api_host: {get_param: NovaApiHost}
274 nova_password: {get_param: NovaPassword}
275 ceilometer_metering_secret: {get_param: CeilometerMeteringSecret}
276 ceilometer_password: {get_param: CeilometerPassword}
277 ceilometer_compute_agent: {get_param: CeilometerComputeAgent}
278 snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName}
279 snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword}
280 glance_host: {get_param: GlanceHost}
281 glance_port: {get_param: GlancePort}
282 glance_protocol: {get_param: GlanceProtocol}
283 keystone_host: {get_param: KeystoneHost}
284 neutron_flat_networks: {get_param: NeutronFlatNetworks}
285 neutron_host: {get_param: NeutronHost}
286 neutron_local_ip: {get_attr: [NovaCompute, networks, ctlplane, 0]}
287 neutron_tenant_network_type: {get_param: NeutronNetworkType}
288 neutron_tunnel_types: {get_param: NeutronTunnelTypes}
289 neutron_network_vlan_ranges: {get_param: NeutronNetworkVLANRanges}
290 neutron_bridge_mappings: {get_param: NeutronBridgeMappings}
291 neutron_enable_tunneling: {get_param: NeutronEnableTunnelling}
292 neutron_physical_bridge: {get_param: NeutronPhysicalBridge}
293 neutron_public_interface: {get_param: NeutronPublicInterface}
294 neutron_password: {get_param: NeutronPassword}
295 neutron_agent_mode: {get_param: NeutronAgentMode}
296 neutron_router_distributed: {get_param: NeutronDVR}
297 neutron_metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
298 neutron_mechanism_drivers: {get_param: NeutronMechanismDrivers}
299 neutron_allow_l3agent_failover: {get_param: NeutronAllowL3AgentFailover}
300 neutron_public_interface_raw_device: {get_param: NeutronPublicInterfaceRawDevice}
301 admin_password: {get_param: AdminPassword}
302 rabbit_host: {get_param: RabbitHost}
303 rabbit_username: {get_param: RabbitUserName}
304 rabbit_password: {get_param: RabbitPassword}
305 ntp_server: {get_param: NtpServer}
307 NovaComputePassthrough:
308 type: OS::Heat::StructuredConfig
310 group: os-apply-config
311 config: {get_input: passthrough_config}
313 NovaComputePassthroughSpecific:
314 type: OS::Heat::StructuredConfig
316 group: os-apply-config
317 config: {get_input: passthrough_config_specific}
319 NovaComputePassthroughDeployment:
320 depends_on: [NovaComputeDeployment]
321 type: OS::Heat::StructuredDeployment
323 config: {get_resource: NovaComputePassthrough}
324 server: {get_resource: NovaCompute}
325 signal_transport: NO_SIGNAL
327 passthrough_config: {get_param: ExtraConfig}
329 NovaComputePassthroughDeploymentSpecific:
330 depends_on: [NovaComputePassthroughDeployment]
331 type: OS::Heat::StructuredDeployment
333 config: {get_resource: NovaComputePassthroughSpecific}
334 server: {get_resource: NovaCompute}
335 signal_transport: NO_SIGNAL
337 passthrough_config_specific: {get_param: NovaComputeExtraConfig}
341 description: IP address of the server in the ctlplane network
342 value: {get_attr: [NovaCompute, networks, ctlplane, 0]}
344 description: Hostname of the server
345 value: {get_attr: [NovaCompute, name]}
348 Server's IP address and hostname in the /etc/hosts format
351 template: "IP HOST HOST.novalocal"
353 IP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
354 HOST: {get_attr: [NovaCompute, name]}
355 nova_server_resource:
356 description: Heat resource handle for the Nova compute server
358 {get_resource: NovaCompute}