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:
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 NovaComputeDeployment:
264 type: OS::TripleO::SoftwareDeployment
266 signal_transport: NO_SIGNAL
267 config: {get_attr: [NovaComputeConfig, config_id]}
268 server: {get_resource: NovaCompute}
270 debug: {get_param: Debug}
271 nova_compute_driver: {get_param: NovaComputeDriver}
272 nova_compute_libvirt_type: {get_param: NovaComputeLibvirtType}
273 nova_public_ip: {get_param: NovaPublicIP}
274 nova_api_host: {get_param: NovaApiHost}
275 nova_password: {get_param: NovaPassword}
276 ceilometer_dsn: {get_param: CeilometerDSN}
277 ceilometer_metering_secret: {get_param: CeilometerMeteringSecret}
278 ceilometer_password: {get_param: CeilometerPassword}
279 ceilometer_compute_agent: {get_param: CeilometerComputeAgent}
280 snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName}
281 snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword}
282 glance_host: {get_param: GlanceHost}
283 glance_port: {get_param: GlancePort}
284 glance_protocol: {get_param: GlanceProtocol}
285 keystone_host: {get_param: KeystoneHost}
286 neutron_flat_networks: {get_param: NeutronFlatNetworks}
287 neutron_host: {get_param: NeutronHost}
288 neutron_dsn: {get_param: NeutronDSN}
289 neutron_local_ip: {get_attr: [NovaCompute, networks, ctlplane, 0]}
290 neutron_tenant_network_type: {get_param: NeutronNetworkType}
291 neutron_tunnel_types: {get_param: NeutronTunnelTypes}
292 neutron_network_vlan_ranges: {get_param: NeutronNetworkVLANRanges}
293 neutron_bridge_mappings: {get_param: NeutronBridgeMappings}
294 neutron_enable_tunneling: {get_param: NeutronEnableTunnelling}
295 neutron_physical_bridge: {get_param: NeutronPhysicalBridge}
296 neutron_public_interface: {get_param: NeutronPublicInterface}
297 neutron_password: {get_param: NeutronPassword}
298 neutron_agent_mode: {get_param: NeutronAgentMode}
299 neutron_router_distributed: {get_param: NeutronDVR}
300 neutron_metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
301 neutron_mechanism_drivers: {get_param: NeutronMechanismDrivers}
302 neutron_allow_l3agent_failover: {get_param: NeutronAllowL3AgentFailover}
303 neutron_public_interface_raw_device: {get_param: NeutronPublicInterfaceRawDevice}
304 admin_password: {get_param: AdminPassword}
305 rabbit_host: {get_param: RabbitHost}
306 rabbit_username: {get_param: RabbitUserName}
307 rabbit_password: {get_param: RabbitPassword}
308 ntp_server: {get_param: NtpServer}
310 NovaComputePassthrough:
311 type: OS::Heat::StructuredConfig
313 group: os-apply-config
314 config: {get_input: passthrough_config}
316 NovaComputePassthroughSpecific:
317 type: OS::Heat::StructuredConfig
319 group: os-apply-config
320 config: {get_input: passthrough_config_specific}
322 NovaComputePassthroughDeployment:
323 depends_on: [NovaComputeDeployment]
324 type: OS::Heat::StructuredDeployment
326 config: {get_resource: NovaComputePassthrough}
327 server: {get_resource: NovaCompute}
328 signal_transport: NO_SIGNAL
330 passthrough_config: {get_param: ExtraConfig}
332 NovaComputePassthroughDeploymentSpecific:
333 depends_on: [NovaComputePassthroughDeployment]
334 type: OS::Heat::StructuredDeployment
336 config: {get_resource: NovaComputePassthroughSpecific}
337 server: {get_resource: NovaCompute}
338 signal_transport: NO_SIGNAL
340 passthrough_config_specific: {get_param: NovaComputeExtraConfig}
344 description: IP address of the server in the ctlplane network
345 value: {get_attr: [NovaCompute, networks, ctlplane, 0]}
347 description: Hostname of the server
348 value: {get_attr: [NovaCompute, name]}
351 Server's IP address and hostname in the /etc/hosts format
354 template: "IP HOST HOST.novalocal"
356 IP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
357 HOST: {get_attr: [NovaCompute, name]}
358 nova_server_resource:
359 description: Heat resource handle for the Nova compute server
361 {get_resource: NovaCompute}