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.
117 NeutronEnableTunnelling:
124 If set, flat networks to configure in neutron plugins.
127 default: '' # Has to be here because of the ignored empty value bug
130 description: The tenant network type for Neutron, either gre or vxlan.
132 NeutronNetworkVLANRanges:
133 default: 'datacentre'
135 The Neutron ML2 and OpenVSwitch vlan mapping range to support. See the
136 Neutron documentation for permitted values. Defaults to permitting any
137 VLAN on the 'datacentre' physical network (See NeutronBridgeMappings).
141 description: The password for the neutron service account, used by neutron agents.
144 NeutronPhysicalBridge:
146 description: An OVS bridge to create for accessing external networks.
148 NeutronPublicInterface:
150 description: A port to add to the NeutronPhysicalBridge.
155 The tunnel types for the Neutron tenant network. To specify multiple
156 values, use a comma separated string, like so: 'gre,vxlan'
158 NeutronPublicInterfaceRawDevice:
164 NeutronMetadataProxySharedSecret:
166 description: Shared secret to prevent spoofing
168 NeutronMechanismDrivers:
169 default: 'openvswitch'
171 The mechanism drivers for the Neutron tenant network. To specify multiple
172 values, use a comma separated string, like so: 'openvswitch,l2_population'
174 NeutronAllowL3AgentFailover:
176 description: Allow automatic l3-agent failover
180 description: Agent mode for the neutron-l3-agent on the controller hosts
184 default: '' # Has to be here because of the ignored empty value bug
187 default: libvirt.LibvirtDriver
188 NovaComputeExtraConfig:
191 NovaCompute specific configuration to inject into the cluster. Same
192 structure as ExtraConfig.
194 NovaComputeLibvirtType:
199 description: The password for the nova service account, used by nova-api.
204 default: '' # Has to be here because of the ignored empty value bug
210 default: '' # Has to be here because of the ignored empty value bug
213 description: The password for RabbitMQ
218 description: The username for RabbitMQ
220 SnmpdReadonlyUserName:
221 default: ro_snmp_user
222 description: The user name for SNMPd with readonly rights running on all Overcloud nodes
224 SnmpdReadonlyUserPassword:
226 description: The user password for SNMPd with readonly rights running on all Overcloud nodes
234 type: OS::Nova::Server
239 get_param: ImageUpdatePolicy
240 flavor: {get_param: Flavor}
241 key_name: {get_param: KeyName}
244 user_data_format: SOFTWARE_CONFIG
247 type: OS::TripleO::Compute::SoftwareConfig
249 NovaComputeDeployment:
250 type: OS::TripleO::SoftwareDeployment
252 signal_transport: NO_SIGNAL
253 config: {get_attr: [NovaComputeConfig, config_id]}
254 server: {get_resource: NovaCompute}
256 debug: {get_param: Debug}
257 nova_compute_driver: {get_param: NovaComputeDriver}
258 nova_compute_libvirt_type: {get_param: NovaComputeLibvirtType}
259 nova_public_ip: {get_param: NovaPublicIP}
260 nova_api_host: {get_param: NovaApiHost}
261 nova_password: {get_param: NovaPassword}
262 ceilometer_dsn: {get_param: CeilometerDSN}
263 ceilometer_metering_secret: {get_param: CeilometerMeteringSecret}
264 ceilometer_password: {get_param: CeilometerPassword}
265 ceilometer_compute_agent: {get_param: CeilometerComputeAgent}
266 snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName}
267 snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword}
268 glance_host: {get_param: GlanceHost}
269 glance_port: {get_param: GlancePort}
270 glance_protocol: {get_param: GlanceProtocol}
271 keystone_host: {get_param: KeystoneHost}
272 neutron_flat_networks: {get_param: NeutronFlatNetworks}
273 neutron_host: {get_param: NeutronHost}
274 neutron_local_ip: {get_attr: [NovaCompute, networks, ctlplane, 0]}
275 neutron_tenant_network_type: {get_param: NeutronNetworkType}
276 neutron_tunnel_types: {get_param: NeutronTunnelTypes}
277 neutron_network_vlan_ranges: {get_param: NeutronNetworkVLANRanges}
278 neutron_bridge_mappings: {get_param: NeutronBridgeMappings}
279 neutron_enable_tunneling: {get_param: NeutronEnableTunnelling}
280 neutron_physical_bridge: {get_param: NeutronPhysicalBridge}
281 neutron_public_interface: {get_param: NeutronPublicInterface}
282 neutron_password: {get_param: NeutronPassword}
283 neutron_agent_mode: {get_param: NeutronAgentMode}
284 neutron_router_distributed: {get_param: NeutronDVR}
285 neutron_metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
286 neutron_mechanism_drivers: {get_param: NeutronMechanismDrivers}
287 neutron_allow_l3agent_failover: {get_param: NeutronAllowL3AgentFailover}
288 neutron_public_interface_raw_device: {get_param: NeutronPublicInterfaceRawDevice}
289 admin_password: {get_param: AdminPassword}
290 rabbit_host: {get_param: RabbitHost}
291 rabbit_username: {get_param: RabbitUserName}
292 rabbit_password: {get_param: RabbitPassword}
293 ntp_server: {get_param: NtpServer}
295 NovaComputePassthrough:
296 type: OS::Heat::StructuredConfig
298 group: os-apply-config
299 config: {get_input: passthrough_config}
301 NovaComputePassthroughSpecific:
302 type: OS::Heat::StructuredConfig
304 group: os-apply-config
305 config: {get_input: passthrough_config_specific}
307 NovaComputePassthroughDeployment:
308 depends_on: [NovaComputeDeployment]
309 type: OS::Heat::StructuredDeployment
311 config: {get_resource: NovaComputePassthrough}
312 server: {get_resource: NovaCompute}
313 signal_transport: NO_SIGNAL
315 passthrough_config: {get_param: ExtraConfig}
317 NovaComputePassthroughDeploymentSpecific:
318 depends_on: [NovaComputePassthroughDeployment]
319 type: OS::Heat::StructuredDeployment
321 config: {get_resource: NovaComputePassthroughSpecific}
322 server: {get_resource: NovaCompute}
323 signal_transport: NO_SIGNAL
325 passthrough_config_specific: {get_param: NovaComputeExtraConfig}
329 description: IP address of the server in the ctlplane network
330 value: {get_attr: [NovaCompute, networks, ctlplane, 0]}
332 description: Hostname of the server
333 value: {get_attr: [NovaCompute, name]}
336 Server's IP address and hostname in the /etc/hosts format
339 template: "IP HOST HOST.novalocal"
341 IP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
342 HOST: {get_attr: [NovaCompute, name]}
343 nova_server_resource:
344 description: Heat resource handle for the Nova compute server
346 {get_resource: NovaCompute}