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
76 - custom_constraint: nova.flavor
79 default: '' # Has to be here because of the ignored empty value bug
82 description: Glance port.
86 description: Protocol to use when connecting to glance, set to https for SSL.
90 default: overcloud-compute
92 - custom_constraint: glance.image
94 default: 'REBUILD_PRESERVE_EPHEMERAL'
95 description: What policy to use when reconstructing instances. REBUILD for rebuilds, REBUILD_PRESERVE_EPHEMERAL to preserve /mnt.
98 description: Name of an existing EC2 KeyPair to enable SSH access to the instances
102 - custom_constraint: nova.keypair
106 NeutronBridgeMappings:
108 The OVS logical->physical bridge mappings to use. See the Neutron
109 documentation for details. Defaults to mapping br-ex - the external
110 bridge on hosts - to a physical name 'datacentre' which can be used
111 to create provider networks (and we use this for the default floating
112 network) - if changing this either use different post-install network
113 scripts or be sure to keep 'datacentre' as a mapping network name.
118 NeutronEnableTunnelling:
125 If set, flat networks to configure in neutron plugins.
128 default: '' # Has to be here because of the ignored empty value bug
131 description: The tenant network type for Neutron, either gre or vxlan.
133 NeutronNetworkVLANRanges:
134 default: 'datacentre'
136 The Neutron ML2 and OpenVSwitch vlan mapping range to support. See the
137 Neutron documentation for permitted values. Defaults to permitting any
138 VLAN on the 'datacentre' physical network (See NeutronBridgeMappings).
142 description: The password for the neutron service account, used by neutron agents.
145 NeutronPhysicalBridge:
147 description: An OVS bridge to create for accessing external networks.
149 NeutronPublicInterface:
151 description: A port to add to the NeutronPhysicalBridge.
156 The tunnel types for the Neutron tenant network. To specify multiple
157 values, use a comma separated string, like so: 'gre,vxlan'
159 NeutronPublicInterfaceRawDevice:
165 NeutronMetadataProxySharedSecret:
167 description: Shared secret to prevent spoofing
169 NeutronMechanismDrivers:
170 default: 'openvswitch'
172 The mechanism drivers for the Neutron tenant network. To specify multiple
173 values, use a comma separated string, like so: 'openvswitch,l2_population'
175 NeutronAllowL3AgentFailover:
177 description: Allow automatic l3-agent failover
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:
202 description: The password for the nova service account, used by nova-api.
207 default: '' # Has to be here because of the ignored empty value bug
213 default: '' # Has to be here because of the ignored empty value bug
216 description: The password for RabbitMQ
221 description: The username for RabbitMQ
223 SnmpdReadonlyUserName:
224 default: ro_snmp_user
225 description: The user name for SNMPd with readonly rights running on all Overcloud nodes
227 SnmpdReadonlyUserPassword:
229 description: The user password for SNMPd with readonly rights running on all Overcloud nodes
237 type: OS::Nova::Server
242 get_param: ImageUpdatePolicy
243 flavor: {get_param: Flavor}
244 key_name: {get_param: KeyName}
247 user_data_format: SOFTWARE_CONFIG
250 type: OS::TripleO::Net::SoftwareConfig
253 type: OS::TripleO::SoftwareDeployment
255 signal_transport: NO_SIGNAL
256 config: {get_attr: [NetworkConfig, config_id]}
257 server: {get_resource: NovaCompute}
259 bridge_name: {get_param: NeutronPhysicalBridge}
260 interface_name: {get_param: NeutronPublicInterface}
263 type: OS::TripleO::Compute::SoftwareConfig
265 NovaComputeDeployment:
266 type: OS::TripleO::SoftwareDeployment
268 signal_transport: NO_SIGNAL
269 config: {get_attr: [NovaComputeConfig, config_id]}
270 server: {get_resource: NovaCompute}
272 debug: {get_param: Debug}
273 nova_compute_driver: {get_param: NovaComputeDriver}
274 nova_compute_libvirt_type: {get_param: NovaComputeLibvirtType}
275 nova_dsn: {get_param: NovaDSN}
276 nova_public_ip: {get_param: NovaPublicIP}
277 nova_api_host: {get_param: NovaApiHost}
278 nova_password: {get_param: NovaPassword}
279 ceilometer_dsn: {get_param: CeilometerDSN}
280 ceilometer_metering_secret: {get_param: CeilometerMeteringSecret}
281 ceilometer_password: {get_param: CeilometerPassword}
282 ceilometer_compute_agent: {get_param: CeilometerComputeAgent}
283 snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName}
284 snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword}
285 glance_host: {get_param: GlanceHost}
286 glance_port: {get_param: GlancePort}
287 glance_protocol: {get_param: GlanceProtocol}
288 keystone_host: {get_param: KeystoneHost}
289 neutron_flat_networks: {get_param: NeutronFlatNetworks}
290 neutron_host: {get_param: NeutronHost}
291 neutron_dsn: {get_param: NeutronDSN}
292 neutron_local_ip: {get_attr: [NovaCompute, networks, ctlplane, 0]}
293 neutron_tenant_network_type: {get_param: NeutronNetworkType}
294 neutron_tunnel_types: {get_param: NeutronTunnelTypes}
295 neutron_network_vlan_ranges: {get_param: NeutronNetworkVLANRanges}
296 neutron_bridge_mappings: {get_param: NeutronBridgeMappings}
297 neutron_enable_tunneling: {get_param: NeutronEnableTunnelling}
298 neutron_physical_bridge: {get_param: NeutronPhysicalBridge}
299 neutron_public_interface: {get_param: NeutronPublicInterface}
300 neutron_password: {get_param: NeutronPassword}
301 neutron_agent_mode: {get_param: NeutronAgentMode}
302 neutron_router_distributed: {get_param: NeutronDVR}
303 neutron_metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
304 neutron_mechanism_drivers: {get_param: NeutronMechanismDrivers}
305 neutron_allow_l3agent_failover: {get_param: NeutronAllowL3AgentFailover}
306 neutron_public_interface_raw_device: {get_param: NeutronPublicInterfaceRawDevice}
307 admin_password: {get_param: AdminPassword}
308 rabbit_host: {get_param: RabbitHost}
309 rabbit_username: {get_param: RabbitUserName}
310 rabbit_password: {get_param: RabbitPassword}
311 ntp_server: {get_param: NtpServer}
313 NovaComputePassthrough:
314 type: OS::Heat::StructuredConfig
316 group: os-apply-config
317 config: {get_input: passthrough_config}
319 NovaComputePassthroughSpecific:
320 type: OS::Heat::StructuredConfig
322 group: os-apply-config
323 config: {get_input: passthrough_config_specific}
325 NovaComputePassthroughDeployment:
326 depends_on: [NovaComputeDeployment]
327 type: OS::Heat::StructuredDeployment
329 config: {get_resource: NovaComputePassthrough}
330 server: {get_resource: NovaCompute}
331 signal_transport: NO_SIGNAL
333 passthrough_config: {get_param: ExtraConfig}
335 NovaComputePassthroughDeploymentSpecific:
336 depends_on: [NovaComputePassthroughDeployment]
337 type: OS::Heat::StructuredDeployment
339 config: {get_resource: NovaComputePassthroughSpecific}
340 server: {get_resource: NovaCompute}
341 signal_transport: NO_SIGNAL
343 passthrough_config_specific: {get_param: NovaComputeExtraConfig}
347 description: IP address of the server in the ctlplane network
348 value: {get_attr: [NovaCompute, networks, ctlplane, 0]}
350 description: Hostname of the server
351 value: {get_attr: [NovaCompute, name]}
354 Server's IP address and hostname in the /etc/hosts format
357 template: "IP HOST HOST.novalocal"
359 IP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
360 HOST: {get_attr: [NovaCompute, name]}
361 nova_server_resource:
362 description: Heat resource handle for the Nova compute server
364 {get_resource: NovaCompute}