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.
168 Default: overcloud-control
174 Description: The username for RabbitMQ
178 Description: The password for RabbitMQ
184 Description: Salt for the rabbit cookie, change this to force the randomly generated rabbit cookie to change.
185 HeatStackDomainAdminPassword:
186 Description: Password for heat_domain_admin user.
192 Description: The live-update username for the undercloud Glance API.
194 LiveUpdateTenantName:
196 Description: The live-update tenant name for the undercloud Glance API.
200 Description: The IP address for the undercloud Glance API.
205 Description: The live-update password for the undercloud Glance API.
207 LiveUpdateComputeImage:
209 Description: The image ID for live-updates to the overcloud compute nodes.
211 MysqlInnodbBufferPoolSize:
212 Description: Specifies the size of the buffer pool in megabytes.
217 Type: OS::Heat::RandomString
221 Ref: RabbitCookieSalt
224 Path: nova-compute-instance.yaml
225 SubKey: Resources.NovaCompute0Deploy
227 NovaApiHost: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] }
228 KeystoneHost: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] }
229 RabbitHost: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] }
230 NeutronHost: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] }
231 GlanceHost: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] }
232 NovaDSN: {"Fn::Join": ['', ['mysql://nova:unset@', {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ]}, '/nova']]}
233 CeilometerDSN: {"Fn::Join": ['', ['mysql://ceilometer:unset@', {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ]}, '/ceilometer']]}
234 NeutronDSN: {"Fn::Join": ['', ['mysql://neutron:unset@', {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ]}, '/neutron']]}
235 NeutronNetworkType: "gre"
236 NeutronEnableTunnelling: "True"
238 Ref: NeutronFlatNetworks
239 NeutronNetworkVLANRanges: ""
240 NeutronPhysicalBridge:
241 Ref: HypervisorNeutronPhysicalBridge
242 NeutronPublicInterface:
243 Ref: HypervisorNeutronPublicInterface
244 NeutronBridgeMappings:
245 Ref: NeutronBridgeMappings
285 # If CloudName is unset, make the hosts line still valid
287 NovaCompute0Passthrough:
288 Type: OS::Heat::StructuredDeployment
290 config: {Ref: NovaComputePassthrough}
291 server: {Ref: NovaCompute0}
292 signal_transport: NO_SIGNAL
294 passthrough_config: {Ref: ExtraConfig}
297 Path: nova-compute-instance.yaml
298 SubKey: Resources.NovaCompute0
300 Type: OS::Heat::StructuredConfig
303 completion-signal: {get_input: deploy_signal_id}
310 Ref: NeutronPublicInterfaceIP
312 db: mysql://cinder:unset@localhost/cinder
313 volume_size_mb: '5000'
317 Ref: CinderISCSIHelper
319 get_input: controller_host
323 db: mysql://glance:unset@localhost/glance
325 get_input: controller_host
328 swift-store-user: service:glance
332 Ref: GlanceNotifierStrategy
338 admin_tenant_name: service
340 auth_encryption_key: unset___________
341 db: mysql://heat:unset@localhost/heat
342 stack_domain_admin_password: {Ref: HeatStackDomainAdminPassword}
343 watch_server_url: {get_input: heat.watch_server_url}
344 metadata_server_url: {get_input: heat.metadata_server_url}
345 waitcondition_server_url: {get_input: heat.waitcondition_server_url}
346 hosts: {get_input: hosts}
348 db: mysql://keystone:unset@localhost/keystone
350 get_input: controller_host
352 innodb_buffer_pool_size: {Ref: MysqlInnodbBufferPoolSize}
354 flat-networks: {Ref: NeutronFlatNetworks}
356 get_input: controller_host
357 metadata_proxy_shared_secret: unset
359 enable_tunneling: 'True'
361 get_input: controller_host
362 bridge_mappings: {Ref: NeutronBridgeMappings}
364 Ref: NeutronPublicInterface
365 public_interface_raw_device:
366 Ref: NeutronPublicInterfaceRawDevice
367 public_interface_route:
368 Ref: NeutronPublicInterfaceDefaultRoute
369 physical_bridge: br-ex
370 tenant_network_type: gre
371 ovs_db: mysql://neutron:unset@localhost/ovs_neutron?charset=utf8
375 db: mysql://ceilometer:unset@localhost/ceilometer
376 metering_secret: {Ref: CeilometerMeteringSecret}
378 Ref: CeilometerPassword
380 compute_driver: libvirt.LibvirtDriver
381 db: mysql://nova:unset@localhost/nova
382 default_floating_pool:
385 get_input: controller_host
391 get_input: controller_host
402 - {server: {Ref: NtpServer}, fudge: "stratum 0"}
403 controllerPassthrough:
404 Type: OS::Heat::StructuredConfig
406 config: {get_input: passthrough_config}
408 Type: OS::Nova::Server
413 Ref: ImageUpdatePolicy
415 Ref: OvercloudControlFlavor
418 user_data_format: SOFTWARE_CONFIG
419 controller0Deployment:
420 Type: OS::Heat::StructuredDeployment
422 config: {Ref: controllerConfig}
423 server: {Ref: controller0}
433 heat.watch_server_url:
437 - {"Fn::Select": [ 0, "Fn::Select": [ ctlplane, { "Fn::GetAtt": [ controller0, networks ]}]]}
439 heat.metadata_server_url:
443 - {"Fn::Select": [ 0, "Fn::Select": [ ctlplane, { "Fn::GetAtt": [ controller0, networks ]}]]}
445 heat.waitcondition_server_url:
449 - {"Fn::Select": [ 0, "Fn::Select": [ ctlplane, { "Fn::GetAtt": [ controller0, networks ]}]]}
450 - ':8000/v1/waitcondition'
454 - - {"Fn::Select": [ 0, "Fn::Select": [ ctlplane, { "Fn::GetAtt": [ controller0, networks ]}]]}
456 controller0SSLDeployment:
457 Type: OS::Heat::StructuredDeployment
459 config: {Ref: SSLConfig}
460 server: {Ref: controller0}
461 signal_transport: NO_SIGNAL
463 ssl_certificate: {Ref: SSLCertificate}
464 ssl_key: {Ref: SSLKey}
465 controller0Passthrough:
466 Type: OS::Heat::StructuredDeployment
468 config: {Ref: controllerPassthrough}
469 server: {Ref: controller0}
470 signal_transport: NO_SIGNAL
472 passthrough_config: {Ref: ExtraConfig}
475 Description: URL for the Overcloud Keystone service