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'
162 default: '' # Has to be here because of the ignored empty value bug
165 default: libvirt.LibvirtDriver
166 NovaComputeExtraConfig:
169 NovaCompute specific configuration to inject into the cluster. Same
170 structure as ExtraConfig.
172 NovaComputeLibvirtType:
179 description: The password for the nova service account, used by nova-api.
184 default: '' # Has to be here because of the ignored empty value bug
190 default: '' # Has to be here because of the ignored empty value bug
193 description: The password for RabbitMQ
198 description: The username for RabbitMQ
200 SnmpdReadonlyUserName:
201 default: ro_snmp_user
202 description: The user name for SNMPd with readonly rights running on all Overcloud nodes
204 SnmpdReadonlyUserPassword:
206 description: The user password for SNMPd with readonly rights running on all Overcloud nodes
214 type: OS::Nova::Server
219 get_param: ImageUpdatePolicy
220 flavor: {get_param: Flavor}
221 key_name: {get_param: KeyName}
224 user_data_format: SOFTWARE_CONFIG
227 type: OS::TripleO::Compute::SoftwareConfig
229 NovaComputeDeployment:
230 type: OS::TripleO::SoftwareDeployment
232 signal_transport: NO_SIGNAL
233 config: {get_attr: [NovaComputeConfig, config_id]}
234 server: {get_resource: NovaCompute}
236 debug: {get_param: Debug}
237 nova_compute_driver: {get_param: NovaComputeDriver}
238 nova_compute_libvirt_type: {get_param: NovaComputeLibvirtType}
239 nova_dsn: {get_param: NovaDSN}
240 nova_public_ip: {get_param: NovaPublicIP}
241 nova_api_host: {get_param: NovaApiHost}
242 nova_password: {get_param: NovaPassword}
243 ceilometer_dsn: {get_param: CeilometerDSN}
244 ceilometer_metering_secret: {get_param: CeilometerMeteringSecret}
245 ceilometer_password: {get_param: CeilometerPassword}
246 ceilometer_compute_agent: {get_param: CeilometerComputeAgent}
247 snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName}
248 snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword}
249 glance_host: {get_param: GlanceHost}
250 glance_port: {get_param: GlancePort}
251 glance_protocol: {get_param: GlanceProtocol}
252 keystone_host: {get_param: KeystoneHost}
253 neutron_flat_networks: {get_param: NeutronFlatNetworks}
254 neutron_host: {get_param: NeutronHost}
255 neutron_dsn: {get_param: NeutronDSN}
256 neutron_local_ip: {get_attr: [NovaCompute, networks, ctlplane, 0]}
257 neutron_tenant_network_type: {get_param: NeutronNetworkType}
258 neutron_tunnel_types: {get_param: NeutronTunnelTypes}
259 neutron_network_vlan_ranges: {get_param: NeutronNetworkVLANRanges}
260 neutron_bridge_mappings: {get_param: NeutronBridgeMappings}
261 neutron_enable_tunneling: {get_param: NeutronEnableTunnelling}
262 neutron_physical_bridge: {get_param: NeutronPhysicalBridge}
263 neutron_public_interface: {get_param: NeutronPublicInterface}
264 neutron_password: {get_param: NeutronPassword}
265 admin_password: {get_param: AdminPassword}
266 rabbit_host: {get_param: RabbitHost}
267 rabbit_username: {get_param: RabbitUserName}
268 rabbit_password: {get_param: RabbitPassword}
269 ntp_server: {get_param: NtpServer}
271 NovaComputePassthrough:
272 type: OS::Heat::StructuredConfig
274 group: os-apply-config
275 config: {get_input: passthrough_config}
277 NovaComputePassthroughSpecific:
278 type: OS::Heat::StructuredConfig
280 group: os-apply-config
281 config: {get_input: passthrough_config_specific}
283 NovaComputePassthroughDeployment:
284 depends_on: [NovaComputeDeployment]
285 type: OS::Heat::StructuredDeployment
287 config: {get_resource: NovaComputePassthrough}
288 server: {get_resource: NovaCompute}
289 signal_transport: NO_SIGNAL
291 passthrough_config: {get_param: ExtraConfig}
293 NovaComputePassthroughDeploymentSpecific:
294 depends_on: [NovaComputePassthroughDeployment]
295 type: OS::Heat::StructuredDeployment
297 config: {get_resource: NovaComputePassthroughSpecific}
298 server: {get_resource: NovaCompute}
299 signal_transport: NO_SIGNAL
301 passthrough_config_specific: {get_param: NovaComputeExtraConfig}
305 description: IP address of the server in the ctlplane network
306 value: {get_attr: [NovaCompute, networks, ctlplane, 0]}
308 description: Hostname of the server
309 value: {get_attr: [NovaCompute, name]}
312 Server's IP address and hostname in the /etc/hosts format
315 template: "IP HOST HOST.novalocal"
317 IP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
318 HOST: {get_attr: [NovaCompute, name]}
319 nova_server_resource:
320 description: Heat resource handle for the Nova compute server
322 {get_resource: NovaCompute}