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.
120 SnmpdReadonlyUserName:
121 Default: ro_snmp_user
122 Description: The user name for SNMPd with readonly rights running on all Overcloud nodes
124 SnmpdReadonlyUserPassword:
126 Description: The user password for SNMPd with readonly rights running on all Overcloud nodes
131 Description: The DNS name of this cloud. E.g. ci-overcloud.tripleo.org
134 Default: libvirt.LibvirtDriver
136 NovaComputeLibvirtType:
141 Default: overcloud-compute
144 Description: The password for the nova service account, used by nova-api.
150 Description: If set, flat networks to configure in neutron plugins.
151 HypervisorNeutronPhysicalBridge:
153 Description: An OVS bridge to create on each hypervisor.
155 HypervisorNeutronPublicInterface:
157 Description: What interface to add to the HypervisorNeutronPhysicalBridge.
159 NeutronPublicInterface:
161 Description: What interface to bridge onto br-ex for network nodes.
163 NeutronPublicInterfaceDefaultRoute:
165 Description: A custom default route for the NeutronPublicInterface.
167 NeutronPublicInterfaceIP:
169 Description: A custom IP address to put onto the NeutronPublicInterface.
171 NeutronPublicInterfaceRawDevice:
173 Description: If set, the public interface is a vlan with this device as the raw device.
177 Default: overcloud-control
183 Description: The username for RabbitMQ
187 Description: The password for RabbitMQ
193 Description: Salt for the rabbit cookie, change this to force the randomly generated rabbit cookie to change.
194 HeatStackDomainAdminPassword:
195 Description: Password for heat_domain_admin user.
201 Description: The live-update username for the undercloud Glance API.
203 LiveUpdateTenantName:
205 Description: The live-update tenant name for the undercloud Glance API.
209 Description: The IP address for the undercloud Glance API.
214 Description: The live-update password for the undercloud Glance API.
216 LiveUpdateComputeImage:
218 Description: The image ID for live-updates to the overcloud compute nodes.
220 MysqlInnodbBufferPoolSize:
221 Description: Specifies the size of the buffer pool in megabytes.
226 Type: OS::Heat::RandomString
230 Ref: RabbitCookieSalt
233 Path: nova-compute-instance.yaml
234 SubKey: Resources.NovaCompute0Deploy
236 NovaApiHost: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] }
237 KeystoneHost: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] }
238 RabbitHost: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] }
239 NeutronHost: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] }
240 GlanceHost: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] }
241 NovaDSN: {"Fn::Join": ['', ['mysql://nova:unset@', {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ]}, '/nova']]}
242 CeilometerDSN: {"Fn::Join": ['', ['mysql://ceilometer:unset@', {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ]}, '/ceilometer']]}
243 NeutronDSN: {"Fn::Join": ['', ['mysql://neutron:unset@', {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ]}, '/neutron']]}
244 NeutronNetworkType: "gre"
245 NeutronEnableTunnelling: "True"
247 Ref: NeutronFlatNetworks
248 NeutronNetworkVLANRanges: ""
249 NeutronPhysicalBridge:
250 Ref: HypervisorNeutronPhysicalBridge
251 NeutronPublicInterface:
252 Ref: HypervisorNeutronPublicInterface
253 NeutronBridgeMappings:
254 Ref: NeutronBridgeMappings
294 # If CloudName is unset, make the hosts line still valid
296 NovaCompute0Passthrough:
297 Type: OS::Heat::StructuredDeployment
299 config: {Ref: NovaComputePassthrough}
300 server: {Ref: NovaCompute0}
301 signal_transport: NO_SIGNAL
303 passthrough_config: {Ref: ExtraConfig}
306 Path: nova-compute-instance.yaml
307 SubKey: Resources.NovaCompute0
309 Type: OS::Heat::StructuredConfig
312 completion-signal: {get_input: deploy_signal_id}
319 Ref: NeutronPublicInterfaceIP
321 db: mysql://cinder:unset@localhost/cinder
322 volume_size_mb: '5000'
326 Ref: CinderISCSIHelper
328 get_input: controller_host
332 db: mysql://glance:unset@localhost/glance
334 get_input: controller_host
337 swift-store-user: service:glance
341 Ref: GlanceNotifierStrategy
347 admin_tenant_name: service
349 auth_encryption_key: unset___________
350 db: mysql://heat:unset@localhost/heat
351 stack_domain_admin_password: {Ref: HeatStackDomainAdminPassword}
352 watch_server_url: {get_input: heat.watch_server_url}
353 metadata_server_url: {get_input: heat.metadata_server_url}
354 waitcondition_server_url: {get_input: heat.waitcondition_server_url}
355 hosts: {get_input: hosts}
357 db: mysql://keystone:unset@localhost/keystone
359 get_input: controller_host
361 innodb_buffer_pool_size: {Ref: MysqlInnodbBufferPoolSize}
363 flat-networks: {Ref: NeutronFlatNetworks}
365 get_input: controller_host
366 metadata_proxy_shared_secret: unset
368 enable_tunneling: 'True'
370 get_input: controller_host
371 bridge_mappings: {Ref: NeutronBridgeMappings}
373 Ref: NeutronPublicInterface
374 public_interface_raw_device:
375 Ref: NeutronPublicInterfaceRawDevice
376 public_interface_route:
377 Ref: NeutronPublicInterfaceDefaultRoute
378 physical_bridge: br-ex
379 tenant_network_type: gre
380 ovs_db: mysql://neutron:unset@localhost/ovs_neutron?charset=utf8
384 db: mysql://ceilometer:unset@localhost/ceilometer
385 metering_secret: {Ref: CeilometerMeteringSecret}
387 Ref: CeilometerPassword
389 export_MIB: UCD-SNMP-MIB
391 Ref: SnmpdReadonlyUserName
392 readonly_user_password:
393 Ref: SnmpdReadonlyUserPassword
395 compute_driver: libvirt.LibvirtDriver
396 db: mysql://nova:unset@localhost/nova
397 default_floating_pool:
400 get_input: controller_host
406 get_input: controller_host
417 - {server: {Ref: NtpServer}, fudge: "stratum 0"}
418 controllerPassthrough:
419 Type: OS::Heat::StructuredConfig
421 config: {get_input: passthrough_config}
423 Type: OS::Nova::Server
428 Ref: ImageUpdatePolicy
430 Ref: OvercloudControlFlavor
433 user_data_format: SOFTWARE_CONFIG
434 controller0Deployment:
435 Type: OS::Heat::StructuredDeployment
437 config: {Ref: controllerConfig}
438 server: {Ref: controller0}
448 heat.watch_server_url:
452 - {"Fn::Select": [ 0, "Fn::Select": [ ctlplane, { "Fn::GetAtt": [ controller0, networks ]}]]}
454 heat.metadata_server_url:
458 - {"Fn::Select": [ 0, "Fn::Select": [ ctlplane, { "Fn::GetAtt": [ controller0, networks ]}]]}
460 heat.waitcondition_server_url:
464 - {"Fn::Select": [ 0, "Fn::Select": [ ctlplane, { "Fn::GetAtt": [ controller0, networks ]}]]}
465 - ':8000/v1/waitcondition'
469 - - {"Fn::Select": [ 0, "Fn::Select": [ ctlplane, { "Fn::GetAtt": [ controller0, networks ]}]]}
471 controller0SSLDeployment:
472 Type: OS::Heat::StructuredDeployment
474 config: {Ref: SSLConfig}
475 server: {Ref: controller0}
476 signal_transport: NO_SIGNAL
478 ssl_certificate: {Ref: SSLCertificate}
479 ssl_key: {Ref: SSLKey}
480 controller0Passthrough:
481 Type: OS::Heat::StructuredDeployment
483 config: {Ref: controllerPassthrough}
484 server: {Ref: controller0}
485 signal_transport: NO_SIGNAL
487 passthrough_config: {Ref: ExtraConfig}
490 Description: URL for the Overcloud Keystone service