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: Glance port.
80 Description: Protocol to use when connecting to glance, set to https for SSL.
84 Description: The password for the glance service account, used by the glance services.
87 GlanceNotifierStrategy:
88 Description: Strategy to use for Glance notification queue
92 Description: The filepath of the file to use for logging messages from Glance.
97 Description: The password for the Heat service account, used by the Heat services.
101 Default: 'REBUILD_PRESERVE_EPHEMERAL'
102 Description: What policy to use when reconstructing instances. REBUILD for rebuilds, REBUILD_PRESERVE_EPHEMERAL to preserve /mnt.
106 Description: Name of an existing EC2 KeyPair to enable SSH access to the instances
108 NeutronBridgeMappings:
109 Description: The OVS logical->physical bridge mappings to use.
114 Description: The password for the neutron service account, used by neutron agents.
117 CeilometerComputeAgent:
118 Description: Indicates whether the Compute agent is present and expects nova-compute to be configured accordingly
121 AllowedValues: ['', Present]
122 CeilometerMeteringSecret:
124 Description: Secret shared by the ceilometer services.
129 Description: The password for the ceilometer service account.
132 SnmpdReadonlyUserName:
133 Default: ro_snmp_user
134 Description: The user name for SNMPd with readonly rights running on all Overcloud nodes
136 SnmpdReadonlyUserPassword:
138 Description: The user password for SNMPd with readonly rights running on all Overcloud nodes
143 Description: The DNS name of this cloud. E.g. ci-overcloud.tripleo.org
146 Default: libvirt.LibvirtDriver
148 NovaComputeLibvirtType:
153 Default: overcloud-compute
156 Description: The password for the nova service account, used by nova-api.
162 Description: If set, flat networks to configure in neutron plugins.
163 HypervisorNeutronPhysicalBridge:
165 Description: An OVS bridge to create on each hypervisor.
167 HypervisorNeutronPublicInterface:
169 Description: What interface to add to the HypervisorNeutronPhysicalBridge.
171 NeutronPublicInterface:
173 Description: What interface to bridge onto br-ex for network nodes.
175 NeutronPublicInterfaceDefaultRoute:
177 Description: A custom default route for the NeutronPublicInterface.
179 NeutronPublicInterfaceIP:
181 Description: A custom IP address to put onto the NeutronPublicInterface.
183 NeutronPublicInterfaceRawDevice:
185 Description: If set, the public interface is a vlan with this device as the raw device.
187 NeutronControlPlaneID:
190 Description: Neutron ID for ctlplane network.
191 NeutronDnsmasqOptions:
192 Default: 'dhcp-option-force=26,1400'
193 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.
197 Default: overcloud-control
203 Description: The username for RabbitMQ
207 Description: The password for RabbitMQ
213 Description: Salt for the rabbit cookie, change this to force the randomly generated rabbit cookie to change.
214 HeatStackDomainAdminPassword:
215 Description: Password for heat_domain_admin user.
221 Description: The live-update username for the undercloud Glance API.
223 LiveUpdateTenantName:
225 Description: The live-update tenant name for the undercloud Glance API.
229 Description: The IP address for the undercloud Glance API.
234 Description: The live-update password for the undercloud Glance API.
236 LiveUpdateComputeImage:
238 Description: The image ID for live-updates to the overcloud compute nodes.
240 MysqlInnodbBufferPoolSize:
242 Specifies the size of the buffer pool in megabytes. Setting to
243 zero should be interpreted as "no value" and will defer to the
247 ControlVirtualInterface:
249 Description: Interface where virtual ip will be assigned.
253 Description: Should be used for arbitrary ips.
255 PublicVirtualFixedIPs:
258 Control the IP allocation for the PublicVirtualInterface port. E.g.
259 [{'ip_address':'1.2.3.4'}]
261 PublicVirtualInterface:
264 Specifies the interface where the public-facing virtual ip will be assigned.
265 This should be int_public when a VLAN is being used.
267 PublicVirtualNetwork:
271 Neutron network to allocate public virtual IP port on.
272 KeystoneCACertificate:
274 Description: Keystone self-signed certificate authority certificate.
276 KeystoneSigningCertificate:
278 Description: Keystone certificate for verifying token validity.
282 Description: Keystone key for signing tokens.
287 Type: OS::Neutron::Port
289 name: control_virtual_ip
290 network_id: {Ref: NeutronControlPlaneID}
293 MysqlClusterUniquePart:
294 Type: OS::Heat::RandomString
298 Type: OS::Neutron::Port
300 name: public_virtual_ip
301 network: {Ref: PublicVirtualNetwork}
303 Ref: PublicVirtualFixedIPs
305 Type: OS::Heat::RandomString
309 Ref: RabbitCookieSalt
312 Path: nova-compute-instance.yaml
313 SubKey: Resources.NovaCompute0Deploy
315 NovaApiHost: {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [ControlVirtualIP, fixed_ips]]]}
316 KeystoneHost: {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [ControlVirtualIP, fixed_ips]]]}
317 NeutronHost: {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [ControlVirtualIP, fixed_ips]]]}
318 GlanceHost: {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [ControlVirtualIP, fixed_ips]]]}
319 NovaDSN: {"Fn::Join": ['', ['mysql://nova:unset@', {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [ControlVirtualIP, fixed_ips]]]}, '/nova']]}
320 CeilometerDSN: {"Fn::Join": ['', ['mysql://ceilometer:unset@', {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [ControlVirtualIP, fixed_ips]]]}, '/ceilometer']]}
321 NeutronDSN: {"Fn::Join": ['', ['mysql://neutron:unset@', {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [ControlVirtualIP, fixed_ips]]]}, '/ovs_neutron']]}
322 NeutronNetworkType: "gre"
323 NeutronEnableTunnelling: "True"
325 Ref: NeutronFlatNetworks
326 NeutronNetworkVLANRanges: ""
327 NeutronPhysicalBridge:
328 Ref: HypervisorNeutronPhysicalBridge
329 NeutronPublicInterface:
330 Ref: HypervisorNeutronPublicInterface
331 NeutronBridgeMappings:
332 Ref: NeutronBridgeMappings
333 NovaCompute0AllNodes:
335 Path: nova-compute-instance.yaml
336 SubKey: Resources.NovaCompute0AllNodesDeploy
338 AllNodesConfig: {Ref: allNodesConfig}
339 NovaCompute0Passthrough:
340 Type: OS::Heat::StructuredDeployment
342 config: {Ref: NovaComputePassthrough}
343 server: {Ref: NovaCompute0}
344 signal_transport: NO_SIGNAL
346 passthrough_config: {Ref: ExtraConfig}
349 Path: nova-compute-instance.yaml
350 SubKey: Resources.NovaCompute0
352 Type: OS::Heat::StructuredConfig
354 group: os-apply-config
362 Ref: NeutronPublicInterfaceIP
376 nodeid: {get_input: bootstack_nodeid}
378 db: mysql://cinder:unset@localhost/cinder
380 Ref: CinderLVMLoopDeviceSize
384 Ref: CinderISCSIHelper
386 get_input: controller_host
388 bindnetaddr: {get_input: controller_host}
393 ip: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] }
395 stonith_enabled : false
397 quorum_policy : ignore
401 host: {get_input: controller_virtual_ip}
403 db: mysql://glance:unset@localhost/glance
405 get_input: controller_virtual_ip
412 swift-store-user: service:glance
416 Ref: GlanceNotifierStrategy
422 admin_tenant_name: service
424 auth_encryption_key: unset___________
425 db: mysql://heat:unset@localhost/heat
426 stack_domain_admin_password: {Ref: HeatStackDomainAdminPassword}
427 watch_server_url: {get_input: heat.watch_server_url}
428 metadata_server_url: {get_input: heat.metadata_server_url}
429 waitcondition_server_url: {get_input: heat.waitcondition_server_url}
436 {"Fn::Select": [ name, {"Fn::GetAtt": [controller0, show]} ] }
438 db: mysql://keystone:unset@localhost/keystone
440 get_input: controller_virtual_ip
441 ca_certificate: {Ref: KeystoneCACertificate}
442 signing_key: {Ref: KeystoneSigningKey}
443 signing_certificate: {Ref: KeystoneSigningCertificate}
445 innodb_buffer_pool_size: {Ref: MysqlInnodbBufferPoolSize}
449 ip: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] }
454 - {Ref: MysqlClusterUniquePart}
456 flat-networks: {Ref: NeutronFlatNetworks}
457 host: {get_input: controller_virtual_ip}
458 metadata_proxy_shared_secret: unset
460 enable_tunneling: 'True'
462 get_input: controller_host
463 bridge_mappings: {Ref: NeutronBridgeMappings}
465 Ref: NeutronPublicInterface
466 public_interface_raw_device:
467 Ref: NeutronPublicInterfaceRawDevice
468 public_interface_route:
469 Ref: NeutronPublicInterfaceDefaultRoute
470 physical_bridge: br-ex
471 tenant_network_type: gre
472 ovs_db: mysql://neutron:unset@localhost/ovs_neutron?charset=utf8
476 Ref: NeutronDnsmasqOptions
478 db: mysql://ceilometer:unset@localhost/ceilometer
479 metering_secret: {Ref: CeilometerMeteringSecret}
481 Ref: CeilometerPassword
483 export_MIB: UCD-SNMP-MIB
485 Ref: SnmpdReadonlyUserName
486 readonly_user_password:
487 Ref: SnmpdReadonlyUserPassword
489 compute_driver: libvirt.LibvirtDriver
490 db: mysql://nova:unset@localhost/nova
491 default_floating_pool:
493 host: {get_input: controller_virtual_ip}
508 - {server: {Ref: NtpServer}, fudge: "stratum 0"}
511 - vrrp_instance_name: VI_CONTROL
512 virtual_router_id: 51
514 Ref: ControlVirtualInterface
517 - ip: {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [ControlVirtualIP, fixed_ips]]]}
519 Ref: ControlVirtualInterface
520 - vrrp_instance_name: VI_PUBLIC
521 virtual_router_id: 52
523 Ref: PublicVirtualInterface
526 - ip: {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [PublicVirtualIP, fixed_ips]]]}
528 Ref: PublicVirtualInterface
536 Ref: PublicVirtualInterface
540 ip: {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [ControlVirtualIP, fixed_ips]]]}
542 Ref: ControlVirtualInterface
544 ip: {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [PublicVirtualIP, fixed_ips]]]}
546 Ref: PublicVirtualInterface
551 ip: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] }
552 name: {"Fn::Select": [ name, {"Fn::GetAtt": [controller0, show]} ] }
554 - ip: {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [ControlVirtualIP, fixed_ips]]]}
556 - name: keystone_admin
558 net_binds: &public_binds
559 - ip: {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [ControlVirtualIP, fixed_ips]]]}
560 - ip: {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [PublicVirtualIP, fixed_ips]]]}
561 - name: keystone_public
563 net_binds: *public_binds
566 net_binds: *public_binds
569 net_binds: *public_binds
572 net_binds: *public_binds
575 net_binds: *public_binds
576 - name: glance_registry
578 net_binds: *public_binds
581 net_binds: *public_binds
582 - name: heat_cloudwatch
584 net_binds: *public_binds
587 net_binds: *public_binds
592 net_binds: *public_binds
593 - name: nova_metadata
595 net_binds: *public_binds
598 net_binds: *public_binds
599 - name: swift_proxy_server
601 net_binds: *public_binds
602 controllerPassthrough:
603 Type: OS::Heat::StructuredConfig
605 group: os-apply-config
606 config: {get_input: passthrough_config}
608 Type: OS::Nova::Server
613 Ref: ImageUpdatePolicy
615 Ref: OvercloudControlFlavor
620 user_data_format: SOFTWARE_CONFIG
621 controller0AllNodesConfig:
622 Type: OS::Heat::StructuredDeployment
624 config: {Ref: allNodesConfig}
625 server: {Ref: controller0}
626 controller0Deployment:
627 Type: OS::Heat::StructuredDeployment
629 signal_transport: NO_SIGNAL
630 config: {Ref: controllerConfig}
631 server: {Ref: controller0}
647 controller_virtual_ip:
648 {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [ControlVirtualIP, fixed_ips]]]}
649 heat.watch_server_url:
653 - {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [ControlVirtualIP, fixed_ips]]]}
655 heat.metadata_server_url:
659 - {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [ControlVirtualIP, fixed_ips]]]}
661 heat.waitcondition_server_url:
665 - {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [ControlVirtualIP, fixed_ips]]]}
666 - ':8000/v1/waitcondition'
668 Type: OS::Heat::StructuredConfig
671 completion-signal: {get_input: deploy_signal_id}
734 {"Fn::Select": [ name, {"Fn::GetAtt": [controller0, show]} ] }
735 controller0SSLDeployment:
736 Type: OS::Heat::StructuredDeployment
738 config: {Ref: SSLConfig}
739 server: {Ref: controller0}
740 signal_transport: NO_SIGNAL
742 ssl_certificate: {Ref: SSLCertificate}
743 ssl_key: {Ref: SSLKey}
744 ssl_ca_certificate: {Ref: SSLCACertificate}
745 controller0Passthrough:
746 Type: OS::Heat::StructuredDeployment
748 config: {Ref: controllerPassthrough}
749 server: {Ref: controller0}
750 signal_transport: NO_SIGNAL
752 passthrough_config: {Ref: ExtraConfig}
755 Description: URL for the Overcloud Keystone service