1 Description: Nova API,Keystone,Heat Engine and API,Glance,Neutron,Dedicated MySQL
2 server,Dedicated RabbitMQ Server,Group of Nova Computes
3 HeatTemplateFormatVersion: '2012-12-12'
7 Description: The password for the keystone admin account, used for monitoring, querying neutron etc.
12 Description: The keystone auth secret.
17 Description: The password for the cinder service account, used by cinder-api.
22 Description: The iSCSI helper to use with cinder.
27 Additional configuration to inject into the cluster. The JSON should have
28 the following structure:
31 [{"section": "SECTIONNAME",
33 [{"option": "OPTIONNAME",
44 [{"section": "default",
46 [{"option": "compute_manager",
47 "value": "ironic.nova.compute.manager.ClusterComputeManager"
54 "value": "nova.cells.rpc_driver.CellsRPCDriver"
62 OvercloudControlFlavor:
64 Description: Flavor for control nodes to request when deploying.
66 OvercloudComputeFlavor:
68 Description: Flavor for compute nodes to request when deploying.
72 Description: The password for the glance service account, used by the glance services.
75 GlanceNotifierStrategy:
76 Description: Strategy to use for Glance notification queue
80 Description: The filepath of the file to use for logging messages from Glance.
85 Description: The password for the Heat service account, used by the Heat services.
89 Default: 'REBUILD_PRESERVE_EPHEMERAL'
90 Description: What policy to use when reconstructing instances. REBUILD for rebuilds, REBUILD_PRESERVE_EPHEMERAL to preserve /mnt.
94 Description: Name of an existing EC2 KeyPair to enable SSH access to the instances
96 NeutronBridgeMappings:
97 Description: The OVS logical->physical bridge mappings to use.
102 Description: The password for the neutron service account, used by neutron agents.
105 CeilometerComputeAgent:
106 Description: Indicates whether the Compute agent is present and expects nova-compute to be configured accordingly
109 AllowedValues: ['', Present]
110 CeilometerMeteringSecret:
112 Description: Secret shared by the ceilometer services.
117 Description: The password for the ceilometer service account.
122 Description: The DNS name of this cloud. E.g. ci-overcloud.tripleo.org
125 Default: libvirt.LibvirtDriver
127 NovaComputeLibvirtType:
132 Default: overcloud-compute
135 Description: The password for the nova service account, used by nova-api.
141 Description: If set, flat networks to configure in neutron plugins.
142 HypervisorNeutronPhysicalBridge:
144 Description: An OVS bridge to create on each hypervisor.
146 HypervisorNeutronPublicInterface:
148 Description: What interface to add to the HypervisorNeutronPhysicalBridge.
150 NeutronPublicInterface:
152 Description: What interface to bridge onto br-ex for network nodes.
154 NeutronPublicInterfaceDefaultRoute:
156 Description: A custom default route for the NeutronPublicInterface.
158 NeutronPublicInterfaceIP:
160 Description: A custom IP address to put onto the NeutronPublicInterface.
162 NeutronPublicInterfaceRawDevice:
164 Description: If set, the public interface is a vlan with this device as the raw device.
166 NeutronDnsmasqOptions:
167 Default: 'dhcp-option-force=26,1400'
168 Description: Dnsmasq options for neutron-dhcp-agent. The default value here forces MTU to be set to 1400 to account for the gre tunnel overhead.
172 Default: overcloud-control
178 Description: The username for RabbitMQ
182 Description: The password for RabbitMQ
188 Description: Salt for the rabbit cookie, change this to force the randomly generated rabbit cookie to change.
189 HeatStackDomainAdminPassword:
190 Description: Password for heat_domain_admin user.
196 Description: The live-update username for the undercloud Glance API.
198 LiveUpdateTenantName:
200 Description: The live-update tenant name for the undercloud Glance API.
204 Description: The IP address for the undercloud Glance API.
209 Description: The live-update password for the undercloud Glance API.
211 LiveUpdateComputeImage:
213 Description: The image ID for live-updates to the overcloud compute nodes.
215 MysqlInnodbBufferPoolSize:
216 Description: Specifies the size of the buffer pool in megabytes.
221 Type: OS::Heat::RandomString
225 Ref: RabbitCookieSalt
228 Path: nova-compute-instance.yaml
229 SubKey: Resources.NovaCompute0Deploy
231 NovaApiHost: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] }
232 KeystoneHost: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] }
233 RabbitHost: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] }
234 NeutronHost: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] }
235 GlanceHost: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] }
236 NovaDSN: {"Fn::Join": ['', ['mysql://nova:unset@', {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ]}, '/nova']]}
237 CeilometerDSN: {"Fn::Join": ['', ['mysql://ceilometer:unset@', {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ]}, '/ceilometer']]}
238 NeutronDSN: {"Fn::Join": ['', ['mysql://neutron:unset@', {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ]}, '/neutron']]}
239 NeutronNetworkType: "gre"
240 NeutronEnableTunnelling: "True"
242 Ref: NeutronFlatNetworks
243 NeutronNetworkVLANRanges: ""
244 NeutronPhysicalBridge:
245 Ref: HypervisorNeutronPhysicalBridge
246 NeutronPublicInterface:
247 Ref: HypervisorNeutronPublicInterface
248 NeutronBridgeMappings:
249 Ref: NeutronBridgeMappings
289 # If CloudName is unset, make the hosts line still valid
291 NovaCompute0Passthrough:
292 Type: OS::Heat::StructuredDeployment
294 config: {Ref: NovaComputePassthrough}
295 server: {Ref: NovaCompute0}
296 signal_transport: NO_SIGNAL
298 passthrough_config: {Ref: ExtraConfig}
301 Path: nova-compute-instance.yaml
302 SubKey: Resources.NovaCompute0
304 Type: OS::Heat::StructuredConfig
306 group: os-apply-config
308 completion-signal: {get_input: deploy_signal_id}
315 Ref: NeutronPublicInterfaceIP
317 db: mysql://cinder:unset@localhost/cinder
318 volume_size_mb: '5000'
322 Ref: CinderISCSIHelper
324 get_input: controller_host
328 db: mysql://glance:unset@localhost/glance
330 get_input: controller_host
333 swift-store-user: service:glance
337 Ref: GlanceNotifierStrategy
343 admin_tenant_name: service
345 auth_encryption_key: unset___________
346 db: mysql://heat:unset@localhost/heat
347 stack_domain_admin_password: {Ref: HeatStackDomainAdminPassword}
348 watch_server_url: {get_input: heat.watch_server_url}
349 metadata_server_url: {get_input: heat.metadata_server_url}
350 waitcondition_server_url: {get_input: heat.waitcondition_server_url}
351 hosts: {get_input: hosts}
353 db: mysql://keystone:unset@localhost/keystone
355 get_input: controller_host
357 innodb_buffer_pool_size: {Ref: MysqlInnodbBufferPoolSize}
359 flat-networks: {Ref: NeutronFlatNetworks}
361 get_input: controller_host
362 metadata_proxy_shared_secret: unset
364 enable_tunneling: 'True'
366 get_input: controller_host
367 bridge_mappings: {Ref: NeutronBridgeMappings}
369 Ref: NeutronPublicInterface
370 public_interface_raw_device:
371 Ref: NeutronPublicInterfaceRawDevice
372 public_interface_route:
373 Ref: NeutronPublicInterfaceDefaultRoute
374 physical_bridge: br-ex
375 tenant_network_type: gre
376 ovs_db: mysql://neutron:unset@localhost/ovs_neutron?charset=utf8
380 Ref: NeutronDnsmasqOptions
382 db: mysql://ceilometer:unset@localhost/ceilometer
383 metering_secret: {Ref: CeilometerMeteringSecret}
385 Ref: CeilometerPassword
387 compute_driver: libvirt.LibvirtDriver
388 db: mysql://nova:unset@localhost/nova
389 default_floating_pool:
392 get_input: controller_host
398 get_input: controller_host
409 - {server: {Ref: NtpServer}, fudge: "stratum 0"}
410 controllerPassthrough:
411 Type: OS::Heat::StructuredConfig
413 group: os-apply-config
414 config: {get_input: passthrough_config}
416 Type: OS::Nova::Server
421 Ref: ImageUpdatePolicy
423 Ref: OvercloudControlFlavor
426 user_data_format: SOFTWARE_CONFIG
427 controller0Deployment:
428 Type: OS::Heat::StructuredDeployment
430 config: {Ref: controllerConfig}
431 server: {Ref: controller0}
441 heat.watch_server_url:
445 - {"Fn::Select": [ 0, "Fn::Select": [ ctlplane, { "Fn::GetAtt": [ controller0, networks ]}]]}
447 heat.metadata_server_url:
451 - {"Fn::Select": [ 0, "Fn::Select": [ ctlplane, { "Fn::GetAtt": [ controller0, networks ]}]]}
453 heat.waitcondition_server_url:
457 - {"Fn::Select": [ 0, "Fn::Select": [ ctlplane, { "Fn::GetAtt": [ controller0, networks ]}]]}
458 - ':8000/v1/waitcondition'
462 - - {"Fn::Select": [ 0, "Fn::Select": [ ctlplane, { "Fn::GetAtt": [ controller0, networks ]}]]}
464 controller0SSLDeployment:
465 Type: OS::Heat::StructuredDeployment
467 config: {Ref: SSLConfig}
468 server: {Ref: controller0}
469 signal_transport: NO_SIGNAL
471 ssl_certificate: {Ref: SSLCertificate}
472 ssl_key: {Ref: SSLKey}
473 controller0Passthrough:
474 Type: OS::Heat::StructuredDeployment
476 config: {Ref: controllerPassthrough}
477 server: {Ref: controller0}
478 signal_transport: NO_SIGNAL
480 passthrough_config: {Ref: ExtraConfig}
483 Description: URL for the Overcloud Keystone service