1 heat_template_version: 2015-04-30
4 OpenStack hypervisor node configured via Puppet.
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
74 - custom_constraint: nova.flavor
77 default: '' # Has to be here because of the ignored empty value bug
80 description: Glance port.
84 description: Protocol to use when connecting to glance, set to https for SSL.
88 default: overcloud-compute
90 - custom_constraint: glance.image
92 default: 'REBUILD_PRESERVE_EPHEMERAL'
93 description: What policy to use when reconstructing instances. REBUILD for rebuilds, REBUILD_PRESERVE_EPHEMERAL to preserve /mnt.
96 description: Name of an existing EC2 KeyPair to enable SSH access to the instances
100 - custom_constraint: nova.keypair
104 NeutronBridgeMappings:
106 The OVS logical->physical bridge mappings to use. See the Neutron
107 documentation for details. Defaults to mapping br-ex - the external
108 bridge on hosts - to a physical name 'datacentre' which can be used
109 to create provider networks (and we use this for the default floating
110 network) - if changing this either use different post-install network
111 scripts or be sure to keep 'datacentre' as a mapping network name.
113 default: "datacentre:br-ex"
114 NeutronEnableTunnelling:
119 default: 'datacentre'
121 If set, flat networks to configure in neutron plugins.
124 default: '' # Has to be here because of the ignored empty value bug
127 description: The tenant network type for Neutron, either gre or vxlan.
129 NeutronNetworkVLANRanges:
130 default: 'datacentre'
132 The Neutron ML2 and OpenVSwitch vlan mapping range to support. See the
133 Neutron documentation for permitted values. Defaults to permitting any
134 VLAN on the 'datacentre' physical network (See NeutronBridgeMappings).
138 description: The password for the neutron service account, used by neutron agents.
141 NeutronPhysicalBridge:
143 description: An OVS bridge to create for accessing external networks.
145 NeutronPublicInterface:
147 description: A port to add to the NeutronPhysicalBridge.
152 The tunnel types for the Neutron tenant network. To specify multiple
153 values, use a comma separated string, like so: 'gre,vxlan'
155 NeutronPublicInterfaceRawDevice:
161 NeutronMetadataProxySharedSecret:
163 description: Shared secret to prevent spoofing
165 NeutronMechanismDrivers:
166 default: 'openvswitch'
168 The mechanism drivers for the Neutron tenant network. To specify multiple
169 values, use a comma separated string, like so: 'openvswitch,l2_population'
171 # Not relevant for Computes, should be removed
172 NeutronAllowL3AgentFailover:
174 description: Allow automatic l3-agent failover
176 # Not relevant for Computes, should be removed
179 description: Whether to enable l3-agent HA
183 description: Agent mode for the neutron-l3-agent on the controller hosts
187 default: '' # Has to be here because of the ignored empty value bug
190 default: libvirt.LibvirtDriver
191 NovaComputeExtraConfig:
194 NovaCompute specific configuration to inject into the cluster. Same
195 structure as ExtraConfig.
197 NovaComputeLibvirtType:
200 NovaEnableRbdBackend:
202 description: Whether to enable or not the Rbd backend for Nova
206 description: The password for the nova service account, used by nova-api.
211 default: '' # Has to be here because of the ignored empty value bug
217 default: '' # Has to be here because of the ignored empty value bug
220 description: The password for RabbitMQ
225 description: The username for RabbitMQ
230 Rabbit client subscriber parameter to specify
231 an SSL connection to the RabbitMQ host.
235 description: Set rabbit subscriber port, change this if using SSL
237 SnmpdReadonlyUserName:
238 default: ro_snmp_user
239 description: The user name for SNMPd with readonly rights running on all Overcloud nodes
241 SnmpdReadonlyUserPassword:
243 description: The user password for SNMPd with readonly rights running on all Overcloud nodes
246 EnablePackageInstall:
248 description: Set to true to enable package installation via Puppet
252 description: Mapping of service_name -> network name. Typically set
253 via parameter_defaults in the resource registry.
259 type: OS::Nova::Server
264 get_param: ImageUpdatePolicy
265 flavor: {get_param: Flavor}
266 key_name: {get_param: KeyName}
269 user_data_format: SOFTWARE_CONFIG
270 user_data: {get_resource: NodeUserData}
273 type: OS::TripleO::NodeUserData
276 type: OS::TripleO::Compute::Ports::InternalApiPort
278 ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
281 type: OS::TripleO::Compute::Ports::StoragePort
283 ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
286 type: OS::TripleO::Compute::Ports::TenantPort
288 ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
291 type: OS::TripleO::Network::Ports::NetIpMap
293 InternalApiIp: {get_attr: [InternalApiPort, ip_address]}
294 StorageIp: {get_attr: [StoragePort, ip_address]}
295 TenantIp: {get_attr: [TenantPort, ip_address]}
298 type: OS::TripleO::Compute::Net::SoftwareConfig
300 InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
301 StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
302 TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
305 type: OS::TripleO::SoftwareDeployment
307 config: {get_resource: NetworkConfig}
308 server: {get_resource: NovaCompute}
310 bridge_name: {get_param: NeutronPhysicalBridge}
311 interface_name: {get_param: NeutronPublicInterface}
314 type: OS::Heat::StructuredConfig
316 group: os-apply-config
320 - heat_config_%{::deploy_config_name}
322 - ceph_cluster # provided by CephClusterConfig
324 - all_nodes # provided by allNodesConfig
329 raw_data: {get_file: hieradata/common.yaml}
331 raw_data: {get_file: hieradata/ceph.yaml}
333 raw_data: {get_file: hieradata/compute.yaml}
335 nova::compute::vncserver_proxyclient_address: local-ipv4
337 nova::debug: {get_input: debug}
338 nova::rabbit_userid: {get_input: rabbit_username}
339 nova::rabbit_password: {get_input: rabbit_password}
340 nova::rabbit_use_ssl: {get_input: rabbit_client_use_ssl}
341 nova::rabbit_port: {get_input: rabbit_client_port}
342 nova_compute_driver: {get_input: nova_compute_driver}
343 nova::compute::libvirt::libvirt_virt_type: {get_input: nova_compute_libvirt_type}
344 nova_api_host: {get_input: nova_api_host}
345 nova::compute::vncproxy_host: {get_input: nova_public_ip}
346 nova_enable_rbd_backend: {get_input: nova_enable_rbd_backend}
347 nova_password: {get_input: nova_password}
348 ceilometer::debug: {get_input: debug}
349 ceilometer::rabbit_userid: {get_input: rabbit_username}
350 ceilometer::rabbit_password: {get_input: rabbit_password}
351 ceilometer::rabbit_use_ssl: {get_input: rabbit_client_use_ssl}
352 ceilometer::rabbit_port: {get_input: rabbit_client_port}
353 ceilometer::metering_secret: {get_input: ceilometer_metering_secret}
354 ceilometer::agent::auth::auth_password: {get_input: ceilometer_password}
355 ceilometer::agent::auth::auth_url: {get_input: ceilometer_agent_auth_url}
356 ceilometer_compute_agent: {get_input: ceilometer_compute_agent}
357 snmpd_readonly_user_name: {get_input: snmpd_readonly_user_name}
358 snmpd_readonly_user_password: {get_input: snmpd_readonly_user_password}
359 nova::glance_api_servers: {get_input: glance_api_servers}
360 neutron::debug: {get_input: debug}
361 neutron::rabbit_password: {get_input: rabbit_password}
362 neutron::rabbit_user: {get_input: rabbit_user}
363 neutron::rabbit_use_ssl: {get_input: rabbit_client_use_ssl}
364 neutron::rabbit_port: {get_input: rabbit_client_port}
365 neutron_flat_networks: {get_input: neutron_flat_networks}
366 neutron_host: {get_input: neutron_host}
367 neutron::agents::ml2::ovs::local_ip: {get_input: neutron_local_ip}
369 neutron_tenant_network_type: {get_input: neutron_tenant_network_type}
370 neutron_tunnel_types: {get_input: neutron_tunnel_types}
371 neutron::network_vlan_ranges: {get_input: neutron_network_vlan_ranges}
372 neutron_bridge_mappings: {get_input: neutron_bridge_mappings}
373 neutron::agents::ml2::ovs::enable_tunneling: {get_input: neutron_enable_tunneling}
374 neutron_physical_bridge: {get_input: neutron_physical_bridge}
375 neutron_public_interface: {get_input: neutron_public_interface}
376 nova::network::neutron::neutron_admin_password: {get_input: neutron_password}
377 nova::network::neutron::neutron_url: {get_input: neutron_url}
378 nova::network::neutron::neutron_admin_auth_url: {get_input: neutron_admin_auth_url}
379 neutron_router_distributed: {get_input: neutron_router_distributed}
380 neutron_agent_mode: {get_input: neutron_agent_mode}
381 neutron_metadata_proxy_shared_secret: {get_input: neutron_metadata_proxy_shared_secret}
382 neutron_mechanism_drivers: {get_input: neutron_mechanism_drivers}
383 neutron_public_interface_raw_device: {get_input: neutron_public_interface_raw_device}
384 admin_password: {get_input: admin_password}
385 ntp::servers: {get_input: ntp_servers}
386 enable_package_install: {get_input: enable_package_install}
388 NovaComputeDeployment:
389 type: OS::TripleO::SoftwareDeployment
390 depends_on: NetworkDeployment
392 config: {get_resource: NovaComputeConfig}
393 server: {get_resource: NovaCompute}
395 debug: {get_param: Debug}
396 nova_compute_driver: {get_param: NovaComputeDriver}
397 nova_compute_libvirt_type: {get_param: NovaComputeLibvirtType}
398 nova_public_ip: {get_param: NovaPublicIP}
399 nova_api_host: {get_param: NovaApiHost}
400 nova_password: {get_param: NovaPassword}
401 nova_enable_rbd_backend: {get_param: NovaEnableRbdBackend}
402 ceilometer_metering_secret: {get_param: CeilometerMeteringSecret}
403 ceilometer_password: {get_param: CeilometerPassword}
404 ceilometer_compute_agent: {get_param: CeilometerComputeAgent}
405 ceilometer_agent_auth_url:
409 - {get_param: KeystoneHost}
411 snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName}
412 snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword}
416 - - {get_param: GlanceProtocol}
418 - {get_param: GlanceHost}
420 - {get_param: GlancePort}
421 neutron_flat_networks: {get_param: NeutronFlatNetworks}
422 neutron_host: {get_param: NeutronHost}
423 neutron_local_ip: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NeutronLocalIp]}]}
424 neutron_tenant_network_type: {get_param: NeutronNetworkType}
425 neutron_tunnel_types: {get_param: NeutronTunnelTypes}
426 neutron_network_vlan_ranges: {get_param: NeutronNetworkVLANRanges}
427 neutron_bridge_mappings: {get_param: NeutronBridgeMappings}
428 neutron_enable_tunneling: {get_param: NeutronEnableTunnelling}
429 neutron_physical_bridge: {get_param: NeutronPhysicalBridge}
430 neutron_public_interface: {get_param: NeutronPublicInterface}
431 neutron_password: {get_param: NeutronPassword}
432 neutron_agent_mode: {get_param: NeutronAgentMode}
433 neutron_router_distributed: {get_param: NeutronDVR}
434 neutron_metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
435 neutron_mechanism_drivers: {get_param: NeutronMechanismDrivers}
436 neutron_public_interface_raw_device: {get_param: NeutronPublicInterfaceRawDevice}
441 - {get_param: NeutronHost}
443 neutron_admin_auth_url:
447 - {get_param: NeutronHost}
449 admin_password: {get_param: AdminPassword}
450 rabbit_username: {get_param: RabbitUserName}
451 rabbit_password: {get_param: RabbitPassword}
452 rabbit_client_use_ssl: {get_param: RabbitClientUseSSL}
453 rabbit_client_port: {get_param: RabbitClientPort}
456 template: '["server"]'
458 server: {get_param: NtpServer}
459 enable_package_install: {get_param: EnablePackageInstall}
463 description: IP address of the server in the ctlplane network
464 value: {get_attr: [NovaCompute, networks, ctlplane, 0]}
465 internal_api_ip_address:
466 description: IP address of the server in the internal_api network
467 value: {get_attr: [InternalApiPort, ip_address]}
469 description: IP address of the server in the storage network
470 value: {get_attr: [StoragePort, ip_address]}
472 description: IP address of the server in the tenant network
473 value: {get_attr: [TenantPort, ip_address]}
475 description: Hostname of the server
476 value: {get_attr: [NovaCompute, name]}
479 Server's IP address and hostname in the /etc/hosts format
484 IP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
485 HOST: {get_attr: [NovaCompute, name]}
486 nova_server_resource:
487 description: Heat resource handle for the Nova compute server
489 {get_resource: NovaCompute}