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
75 - custom_constraint: nova.flavor
78 default: '' # Has to be here because of the ignored empty value bug
81 description: Glance port.
85 description: Protocol to use when connecting to glance, set to https for SSL.
89 default: overcloud-compute
91 - custom_constraint: glance.image
93 default: 'REBUILD_PRESERVE_EPHEMERAL'
94 description: What policy to use when reconstructing instances. REBUILD for rebuilds, REBUILD_PRESERVE_EPHEMERAL to preserve /mnt.
97 description: Name of an existing EC2 KeyPair to enable SSH access to the instances
101 - custom_constraint: nova.keypair
105 NeutronBridgeMappings:
107 The OVS logical->physical bridge mappings to use. See the Neutron
108 documentation for details. Defaults to mapping br-ex - the external
109 bridge on hosts - to a physical name 'datacentre' which can be used
110 to create provider networks (and we use this for the default floating
111 network) - if changing this either use different post-install network
112 scripts or be sure to keep 'datacentre' as a mapping network name.
115 NeutronEnableTunnelling:
122 If set, flat networks to configure in neutron plugins.
125 default: '' # Has to be here because of the ignored empty value bug
128 description: The tenant network type for Neutron, either gre or vxlan.
130 NeutronNetworkVLANRanges:
131 default: 'datacentre'
133 The Neutron ML2 and OpenVSwitch vlan mapping range to support. See the
134 Neutron documentation for permitted values. Defaults to permitting any
135 VLAN on the 'datacentre' physical network (See NeutronBridgeMappings).
139 description: The password for the neutron service account, used by neutron agents.
142 NeutronPhysicalBridge:
144 description: An OVS bridge to create for accessing external networks.
146 NeutronPublicInterface:
148 description: A port to add to the NeutronPhysicalBridge.
153 The tunnel types for the Neutron tenant network. To specify multiple
154 values, use a comma separated string, like so: 'gre,vxlan'
156 NeutronPublicInterfaceRawDevice:
162 NeutronMetadataProxySharedSecret:
164 description: Shared secret to prevent spoofing
166 NeutronMechanismDrivers:
167 default: 'openvswitch'
169 The mechanism drivers for the Neutron tenant network. To specify multiple
170 values, use a comma separated string, like so: 'openvswitch,l2_population'
172 NeutronAllowL3AgentFailover:
174 description: Allow automatic l3-agent failover
178 description: Agent mode for the neutron-l3-agent on the controller hosts
182 default: '' # Has to be here because of the ignored empty value bug
185 default: libvirt.LibvirtDriver
186 NovaComputeExtraConfig:
189 NovaCompute specific configuration to inject into the cluster. Same
190 structure as ExtraConfig.
192 NovaComputeLibvirtType:
197 description: The password for the nova service account, used by nova-api.
202 default: '' # Has to be here because of the ignored empty value bug
208 default: '' # Has to be here because of the ignored empty value bug
211 description: The password for RabbitMQ
216 description: The username for RabbitMQ
218 SnmpdReadonlyUserName:
219 default: ro_snmp_user
220 description: The user name for SNMPd with readonly rights running on all Overcloud nodes
222 SnmpdReadonlyUserPassword:
224 description: The user password for SNMPd with readonly rights running on all Overcloud nodes
232 type: OS::Nova::Server
237 get_param: ImageUpdatePolicy
238 flavor: {get_param: Flavor}
239 key_name: {get_param: KeyName}
242 user_data_format: SOFTWARE_CONFIG
245 type: OS::TripleO::Compute::SoftwareConfig
247 NovaComputeDeployment:
248 type: OS::TripleO::SoftwareDeployment
250 signal_transport: NO_SIGNAL
251 config: {get_attr: [NovaComputeConfig, config_id]}
252 server: {get_resource: NovaCompute}
254 debug: {get_param: Debug}
255 nova_compute_driver: {get_param: NovaComputeDriver}
256 nova_compute_libvirt_type: {get_param: NovaComputeLibvirtType}
257 nova_public_ip: {get_param: NovaPublicIP}
258 nova_api_host: {get_param: NovaApiHost}
259 nova_password: {get_param: NovaPassword}
260 ceilometer_metering_secret: {get_param: CeilometerMeteringSecret}
261 ceilometer_password: {get_param: CeilometerPassword}
262 ceilometer_compute_agent: {get_param: CeilometerComputeAgent}
263 snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName}
264 snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword}
265 glance_host: {get_param: GlanceHost}
266 glance_port: {get_param: GlancePort}
267 glance_protocol: {get_param: GlanceProtocol}
268 keystone_host: {get_param: KeystoneHost}
269 neutron_flat_networks: {get_param: NeutronFlatNetworks}
270 neutron_host: {get_param: NeutronHost}
271 neutron_local_ip: {get_attr: [NovaCompute, networks, ctlplane, 0]}
272 neutron_tenant_network_type: {get_param: NeutronNetworkType}
273 neutron_tunnel_types: {get_param: NeutronTunnelTypes}
274 neutron_network_vlan_ranges: {get_param: NeutronNetworkVLANRanges}
275 neutron_bridge_mappings: {get_param: NeutronBridgeMappings}
276 neutron_enable_tunneling: {get_param: NeutronEnableTunnelling}
277 neutron_physical_bridge: {get_param: NeutronPhysicalBridge}
278 neutron_public_interface: {get_param: NeutronPublicInterface}
279 neutron_password: {get_param: NeutronPassword}
280 neutron_agent_mode: {get_param: NeutronAgentMode}
281 neutron_router_distributed: {get_param: NeutronDVR}
282 neutron_metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
283 neutron_mechanism_drivers: {get_param: NeutronMechanismDrivers}
284 neutron_allow_l3agent_failover: {get_param: NeutronAllowL3AgentFailover}
285 neutron_public_interface_raw_device: {get_param: NeutronPublicInterfaceRawDevice}
286 admin_password: {get_param: AdminPassword}
287 rabbit_host: {get_param: RabbitHost}
288 rabbit_username: {get_param: RabbitUserName}
289 rabbit_password: {get_param: RabbitPassword}
290 ntp_server: {get_param: NtpServer}
292 NovaComputePassthrough:
293 type: OS::Heat::StructuredConfig
295 group: os-apply-config
296 config: {get_input: passthrough_config}
298 NovaComputePassthroughSpecific:
299 type: OS::Heat::StructuredConfig
301 group: os-apply-config
302 config: {get_input: passthrough_config_specific}
304 NovaComputePassthroughDeployment:
305 depends_on: [NovaComputeDeployment]
306 type: OS::Heat::StructuredDeployment
308 config: {get_resource: NovaComputePassthrough}
309 server: {get_resource: NovaCompute}
310 signal_transport: NO_SIGNAL
312 passthrough_config: {get_param: ExtraConfig}
314 NovaComputePassthroughDeploymentSpecific:
315 depends_on: [NovaComputePassthroughDeployment]
316 type: OS::Heat::StructuredDeployment
318 config: {get_resource: NovaComputePassthroughSpecific}
319 server: {get_resource: NovaCompute}
320 signal_transport: NO_SIGNAL
322 passthrough_config_specific: {get_param: NovaComputeExtraConfig}
326 description: IP address of the server in the ctlplane network
327 value: {get_attr: [NovaCompute, networks, ctlplane, 0]}
329 description: Hostname of the server
330 value: {get_attr: [NovaCompute, name]}
333 Server's IP address and hostname in the /etc/hosts format
336 template: "IP HOST HOST.novalocal"
338 IP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
339 HOST: {get_attr: [NovaCompute, name]}
340 nova_server_resource:
341 description: Heat resource handle for the Nova compute server
343 {get_resource: NovaCompute}