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.
24 CinderLVMLoopDeviceSize:
26 Description: The size of the loopback file used by the cinder LVM driver.
31 Additional configuration to inject into the cluster. The JSON should have
32 the following structure:
35 [{"section": "SECTIONNAME",
37 [{"option": "OPTIONNAME",
48 [{"section": "default",
50 [{"option": "compute_manager",
51 "value": "ironic.nova.compute.manager.ClusterComputeManager"
58 "value": "nova.cells.rpc_driver.CellsRPCDriver"
66 OvercloudControlFlavor:
68 Description: Flavor for control nodes to request when deploying.
70 OvercloudComputeFlavor:
72 Description: Flavor for compute nodes to request when deploying.
76 Description: The password for the glance service account, used by the glance services.
79 GlanceNotifierStrategy:
80 Description: Strategy to use for Glance notification queue
84 Description: The filepath of the file to use for logging messages from Glance.
89 Description: The password for the Heat service account, used by the Heat services.
93 Default: 'REBUILD_PRESERVE_EPHEMERAL'
94 Description: What policy to use when reconstructing instances. REBUILD for rebuilds, REBUILD_PRESERVE_EPHEMERAL to preserve /mnt.
98 Description: Name of an existing EC2 KeyPair to enable SSH access to the instances
100 NeutronBridgeMappings:
101 Description: The OVS logical->physical bridge mappings to use.
106 Description: The password for the neutron service account, used by neutron agents.
109 CeilometerComputeAgent:
110 Description: Indicates whether the Compute agent is present and expects nova-compute to be configured accordingly
113 AllowedValues: ['', Present]
114 CeilometerMeteringSecret:
116 Description: Secret shared by the ceilometer services.
121 Description: The password for the ceilometer service account.
126 Description: The DNS name of this cloud. E.g. ci-overcloud.tripleo.org
129 Default: libvirt.LibvirtDriver
131 NovaComputeLibvirtType:
136 Default: overcloud-compute
139 Description: The password for the nova service account, used by nova-api.
145 Description: If set, flat networks to configure in neutron plugins.
146 HypervisorNeutronPhysicalBridge:
148 Description: An OVS bridge to create on each hypervisor.
150 HypervisorNeutronPublicInterface:
152 Description: What interface to add to the HypervisorNeutronPhysicalBridge.
154 NeutronPublicInterface:
156 Description: What interface to bridge onto br-ex for network nodes.
158 NeutronPublicInterfaceDefaultRoute:
160 Description: A custom default route for the NeutronPublicInterface.
162 NeutronPublicInterfaceIP:
164 Description: A custom IP address to put onto the NeutronPublicInterface.
166 NeutronPublicInterfaceRawDevice:
168 Description: If set, the public interface is a vlan with this device as the raw device.
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
307 completion-signal: {get_input: deploy_signal_id}
314 Ref: NeutronPublicInterfaceIP
316 db: mysql://cinder:unset@localhost/cinder
318 Ref: CinderLVMLoopDeviceSize
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 db: mysql://ceilometer:unset@localhost/ceilometer
381 metering_secret: {Ref: CeilometerMeteringSecret}
383 Ref: CeilometerPassword
385 compute_driver: libvirt.LibvirtDriver
386 db: mysql://nova:unset@localhost/nova
387 default_floating_pool:
390 get_input: controller_host
396 get_input: controller_host
407 - {server: {Ref: NtpServer}, fudge: "stratum 0"}
408 controllerPassthrough:
409 Type: OS::Heat::StructuredConfig
411 config: {get_input: passthrough_config}
413 Type: OS::Nova::Server
418 Ref: ImageUpdatePolicy
420 Ref: OvercloudControlFlavor
423 user_data_format: SOFTWARE_CONFIG
424 controller0Deployment:
425 Type: OS::Heat::StructuredDeployment
427 config: {Ref: controllerConfig}
428 server: {Ref: controller0}
438 heat.watch_server_url:
442 - {"Fn::Select": [ 0, "Fn::Select": [ ctlplane, { "Fn::GetAtt": [ controller0, networks ]}]]}
444 heat.metadata_server_url:
448 - {"Fn::Select": [ 0, "Fn::Select": [ ctlplane, { "Fn::GetAtt": [ controller0, networks ]}]]}
450 heat.waitcondition_server_url:
454 - {"Fn::Select": [ 0, "Fn::Select": [ ctlplane, { "Fn::GetAtt": [ controller0, networks ]}]]}
455 - ':8000/v1/waitcondition'
459 - - {"Fn::Select": [ 0, "Fn::Select": [ ctlplane, { "Fn::GetAtt": [ controller0, networks ]}]]}
461 controller0SSLDeployment:
462 Type: OS::Heat::StructuredDeployment
464 config: {Ref: SSLConfig}
465 server: {Ref: controller0}
466 signal_transport: NO_SIGNAL
468 ssl_certificate: {Ref: SSLCertificate}
469 ssl_key: {Ref: SSLKey}
470 controller0Passthrough:
471 Type: OS::Heat::StructuredDeployment
473 config: {Ref: controllerPassthrough}
474 server: {Ref: controller0}
475 signal_transport: NO_SIGNAL
477 passthrough_config: {Ref: ExtraConfig}
480 Description: URL for the Overcloud Keystone service