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]
20 CeilometerMeteringSecret:
22 description: Secret shared by the ceilometer services.
27 description: The password for the ceilometer service account.
32 description: Set to True to enable debugging on all services.
37 Additional configuration to inject into the cluster. The JSON should have
38 the following structure:
41 [{"section": "SECTIONNAME",
43 [{"option": "OPTIONNAME",
54 [{"section": "default",
56 [{"option": "force_config_drive",
64 "value": "nova.cells.rpc_driver.CellsRPCDriver"
73 description: Flavor for the nova compute node
77 - custom_constraint: nova.flavor
80 default: '' # Has to be here because of the ignored empty value bug
83 description: Glance port.
87 description: Protocol to use when connecting to glance, set to https for SSL.
91 default: overcloud-compute
93 - custom_constraint: glance.image
95 default: 'REBUILD_PRESERVE_EPHEMERAL'
96 description: What policy to use when reconstructing instances. REBUILD for rebuilds, REBUILD_PRESERVE_EPHEMERAL to preserve /mnt.
99 description: Name of an existing EC2 KeyPair to enable SSH access to the instances
103 - custom_constraint: nova.keypair
107 NeutronBridgeMappings:
109 The OVS logical->physical bridge mappings to use. See the Neutron
110 documentation for details. Defaults to mapping br-ex - the external
111 bridge on hosts - to a physical name 'datacentre' which can be used
112 to create provider networks (and we use this for the default floating
113 network) - if changing this either use different post-install network
114 scripts or be sure to keep 'datacentre' as a mapping network name.
119 NeutronEnableTunnelling:
126 If set, flat networks to configure in neutron plugins.
129 default: '' # Has to be here because of the ignored empty value bug
132 description: The tenant network type for Neutron, either gre or vxlan.
134 NeutronNetworkVLANRanges:
135 default: 'datacentre'
137 The Neutron ML2 and OpenVSwitch vlan mapping range to support. See the
138 Neutron documentation for permitted values. Defaults to permitting any
139 VLAN on the 'datacentre' physical network (See NeutronBridgeMappings).
143 description: The password for the neutron service account, used by neutron agents.
146 NeutronPhysicalBridge:
148 description: An OVS bridge to create for accessing external networks.
150 NeutronPublicInterface:
152 description: A port to add to the NeutronPhysicalBridge.
157 The tunnel types for the Neutron tenant network. To specify multiple
158 values, use a comma separated string, like so: 'gre,vxlan'
160 NeutronPublicInterfaceRawDevice:
166 NeutronMetadataProxySharedSecret:
168 description: Shared secret to prevent spoofing
170 NeutronMechanismDrivers:
171 default: 'openvswitch'
173 The mechanism drivers for the Neutron tenant network. To specify multiple
174 values, use a comma separated string, like so: 'openvswitch,l2_population'
176 NeutronAllowL3AgentFailover:
178 description: Allow automatic l3-agent failover
182 description: Agent mode for the neutron-l3-agent on the controller hosts
186 default: '' # Has to be here because of the ignored empty value bug
189 default: libvirt.LibvirtDriver
190 NovaComputeExtraConfig:
193 NovaCompute specific configuration to inject into the cluster. Same
194 structure as ExtraConfig.
196 NovaComputeLibvirtType:
203 description: The password for the nova service account, used by nova-api.
208 default: '' # Has to be here because of the ignored empty value bug
214 default: '' # Has to be here because of the ignored empty value bug
217 description: The password for RabbitMQ
222 description: The username for RabbitMQ
224 SnmpdReadonlyUserName:
225 default: ro_snmp_user
226 description: The user name for SNMPd with readonly rights running on all Overcloud nodes
228 SnmpdReadonlyUserPassword:
230 description: The user password for SNMPd with readonly rights running on all Overcloud nodes
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::Compute::SoftwareConfig
253 NovaComputeDeployment:
254 type: OS::TripleO::SoftwareDeployment
256 signal_transport: NO_SIGNAL
257 config: {get_attr: [NovaComputeConfig, config_id]}
258 server: {get_resource: NovaCompute}
260 debug: {get_param: Debug}
261 nova_compute_driver: {get_param: NovaComputeDriver}
262 nova_compute_libvirt_type: {get_param: NovaComputeLibvirtType}
263 nova_dsn: {get_param: NovaDSN}
264 nova_public_ip: {get_param: NovaPublicIP}
265 nova_api_host: {get_param: NovaApiHost}
266 nova_password: {get_param: NovaPassword}
267 ceilometer_dsn: {get_param: CeilometerDSN}
268 ceilometer_metering_secret: {get_param: CeilometerMeteringSecret}
269 ceilometer_password: {get_param: CeilometerPassword}
270 ceilometer_compute_agent: {get_param: CeilometerComputeAgent}
271 snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName}
272 snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword}
273 glance_host: {get_param: GlanceHost}
274 glance_port: {get_param: GlancePort}
275 glance_protocol: {get_param: GlanceProtocol}
276 keystone_host: {get_param: KeystoneHost}
277 neutron_flat_networks: {get_param: NeutronFlatNetworks}
278 neutron_host: {get_param: NeutronHost}
279 neutron_dsn: {get_param: NeutronDSN}
280 neutron_local_ip: {get_attr: [NovaCompute, networks, ctlplane, 0]}
281 neutron_tenant_network_type: {get_param: NeutronNetworkType}
282 neutron_tunnel_types: {get_param: NeutronTunnelTypes}
283 neutron_network_vlan_ranges: {get_param: NeutronNetworkVLANRanges}
284 neutron_bridge_mappings: {get_param: NeutronBridgeMappings}
285 neutron_enable_tunneling: {get_param: NeutronEnableTunnelling}
286 neutron_physical_bridge: {get_param: NeutronPhysicalBridge}
287 neutron_public_interface: {get_param: NeutronPublicInterface}
288 neutron_password: {get_param: NeutronPassword}
289 neutron_agent_mode: {get_param: NeutronAgentMode}
290 neutron_router_distributed: {get_param: NeutronDVR}
291 neutron_metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
292 neutron_mechanism_drivers: {get_param: NeutronMechanismDrivers}
293 neutron_allow_l3agent_failover: {get_param: NeutronAllowL3AgentFailover}
294 neutron_public_interface_raw_device: {get_param: NeutronPublicInterfaceRawDevice}
295 admin_password: {get_param: AdminPassword}
296 rabbit_host: {get_param: RabbitHost}
297 rabbit_username: {get_param: RabbitUserName}
298 rabbit_password: {get_param: RabbitPassword}
299 ntp_server: {get_param: NtpServer}
301 NovaComputePassthrough:
302 type: OS::Heat::StructuredConfig
304 group: os-apply-config
305 config: {get_input: passthrough_config}
307 NovaComputePassthroughSpecific:
308 type: OS::Heat::StructuredConfig
310 group: os-apply-config
311 config: {get_input: passthrough_config_specific}
313 NovaComputePassthroughDeployment:
314 depends_on: [NovaComputeDeployment]
315 type: OS::Heat::StructuredDeployment
317 config: {get_resource: NovaComputePassthrough}
318 server: {get_resource: NovaCompute}
319 signal_transport: NO_SIGNAL
321 passthrough_config: {get_param: ExtraConfig}
323 NovaComputePassthroughDeploymentSpecific:
324 depends_on: [NovaComputePassthroughDeployment]
325 type: OS::Heat::StructuredDeployment
327 config: {get_resource: NovaComputePassthroughSpecific}
328 server: {get_resource: NovaCompute}
329 signal_transport: NO_SIGNAL
331 passthrough_config_specific: {get_param: NovaComputeExtraConfig}
335 description: IP address of the server in the ctlplane network
336 value: {get_attr: [NovaCompute, networks, ctlplane, 0]}
338 description: Hostname of the server
339 value: {get_attr: [NovaCompute, name]}
342 Server's IP address and hostname in the /etc/hosts format
345 template: "IP HOST HOST.novalocal"
347 IP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
348 HOST: {get_attr: [NovaCompute, name]}
349 nova_server_resource:
350 description: Heat resource handle for the Nova compute server
352 {get_resource: NovaCompute}