1 description: Nova API,Keystone,Heat Engine and API,Glance,Neutron,Dedicated MySQL
2 server,Dedicated RabbitMQ Server,Group of Nova Computes
3 heat_template_version: 2013-05-23
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:
110 The OVS logical->physical bridge mappings to use. See the Neutron
111 documentation for details. Defaults to mapping br-ex - the external
112 bridge on hosts - to a physical name 'datacentre' which can be used
113 to create provider networks (and we use this for the default floating
114 network) - if changing this either use different post-install network
115 scripts or be sure to keep 'datacentre' as a mapping network name.
117 default: "datacentre:br-ex"
118 NeutronNetworkVLANRanges:
119 default: 'datacentre'
121 The Neutron ML2 and OpenVSwitch vlan mapping range to support. See the
122 Neutron documentation for permitted values. Defaults to permitting any
123 VLAN on the 'datacentre' physical network (See NeutronBridgeMappings).
127 description: The password for the neutron service account, used by neutron agents.
130 CeilometerComputeAgent:
131 description: Indicates whether the Compute agent is present and expects nova-compute to be configured accordingly
135 - allowed_values: ['', Present]
136 CeilometerMeteringSecret:
138 description: Secret shared by the ceilometer services.
143 description: The password for the ceilometer service account.
146 SnmpdReadonlyUserName:
147 default: ro_snmp_user
148 description: The user name for SNMPd with readonly rights running on all Overcloud nodes
150 SnmpdReadonlyUserPassword:
152 description: The user password for SNMPd with readonly rights running on all Overcloud nodes
157 description: The DNS name of this cloud. E.g. ci-overcloud.tripleo.org
160 default: libvirt.LibvirtDriver
162 NovaComputeLibvirtType:
167 default: overcloud-compute
170 description: The password for the nova service account, used by nova-api.
175 default: 'datacentre'
177 If set, flat networks to configure in neutron plugins. Defaults to
178 'datacentre' to permit external network creation.
179 HypervisorNeutronPhysicalBridge:
182 An OVS bridge to create on each hypervisor. This defaults to br-ex the
183 same as the control plane nodes, as we have a uniform configuration of
184 the openvswitch agent. Typically should not need to be changed.
186 HypervisorNeutronPublicInterface:
188 description: What interface to add to the HypervisorNeutronPhysicalBridge.
190 NeutronPublicInterface:
192 description: What interface to bridge onto br-ex for network nodes.
194 NeutronPublicInterfaceDefaultRoute:
196 description: A custom default route for the NeutronPublicInterface.
198 NeutronPublicInterfaceIP:
200 description: A custom IP address to put onto the NeutronPublicInterface.
202 NeutronPublicInterfaceRawDevice:
204 description: If set, the public interface is a vlan with this device as the raw device.
206 NeutronControlPlaneID:
209 description: Neutron ID for ctlplane network.
210 NeutronDnsmasqOptions:
211 default: 'dhcp-option-force=26,1400'
212 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.
216 default: overcloud-control
222 description: The username for RabbitMQ
226 description: The password for RabbitMQ
232 description: Salt for the rabbit cookie, change this to force the randomly generated rabbit cookie to change.
233 HeatStackDomainAdminPassword:
234 description: Password for heat_domain_admin user.
240 description: The live-update username for the undercloud Glance API.
242 LiveUpdateTenantName:
244 description: The live-update tenant name for the undercloud Glance API.
248 description: The IP address for the undercloud Glance API.
253 description: The live-update password for the undercloud Glance API.
255 LiveUpdateComputeImage:
257 description: The image ID for live-updates to the overcloud compute nodes.
259 MysqlInnodbBufferPoolSize:
261 Specifies the size of the buffer pool in megabytes. Setting to
262 zero should be interpreted as "no value" and will defer to the
266 ControlVirtualInterface:
268 description: Interface where virtual ip will be assigned.
272 description: Should be used for arbitrary ips.
274 PublicVirtualFixedIPs:
277 Control the IP allocation for the PublicVirtualInterface port. E.g.
278 [{'ip_address':'1.2.3.4'}]
280 PublicVirtualInterface:
283 Specifies the interface where the public-facing virtual ip will be assigned.
284 This should be int_public when a VLAN is being used.
286 PublicVirtualNetwork:
290 Neutron network to allocate public virtual IP port on.
291 KeystoneCACertificate:
293 description: Keystone self-signed certificate authority certificate.
295 KeystoneSigningCertificate:
297 description: Keystone certificate for verifying token validity.
301 description: Keystone key for signing tokens.
304 DefaultSignalTransport:
306 description: Transport to use for software-config signals.
309 - allowed_values: [ CFN_SIGNAL, HEAT_SIGNAL, NO_SIGNAL ]
312 type: OS::Neutron::Port
314 name: control_virtual_ip
315 network_id: {get_param: NeutronControlPlaneID}
317 get_param: ControlFixedIPs
318 MysqlClusterUniquePart:
319 type: OS::Heat::RandomString
323 type: OS::Heat::RandomString
327 type: OS::Neutron::Port
329 name: public_virtual_ip
330 network: {get_param: PublicVirtualNetwork}
332 get_param: PublicVirtualFixedIPs
334 type: OS::Heat::RandomString
338 get_param: RabbitCookieSalt
339 NovaCompute0Deployment:
341 Path: nova-compute-instance.yaml
342 SubKey: resources.NovaCompute0Deployment
344 DefaultSignalTransport:
345 get_param: DefaultSignalTransport
346 NovaApiHost: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
347 KeystoneHost: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
348 NeutronHost: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
349 GlanceHost: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
350 RabbitHost: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
354 - - mysql://nova:unset@
355 - &compute_database_host {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
357 NovaPublicIP: {get_attr: [PublicVirtualIP, fixed_ips, 0, ip_address]}
361 - - mysql://ceilometer:unset@
362 - *compute_database_host
367 - - mysql://neutron:unset@
368 - *compute_database_host
370 NeutronNetworkType: "gre"
371 NeutronEnableTunnelling: "True"
373 get_param: NeutronFlatNetworks
374 NeutronNetworkVLANRanges:
375 get_param: NeutronNetworkVLANRanges
376 NeutronPhysicalBridge:
377 get_param: HypervisorNeutronPhysicalBridge
378 NeutronPublicInterface:
379 get_param: HypervisorNeutronPublicInterface
380 NeutronBridgeMappings:
381 get_param: NeutronBridgeMappings
382 NovaCompute0AllNodesDeployment:
384 Path: nova-compute-instance.yaml
385 SubKey: resources.NovaCompute0AllNodesDeployment
387 AllNodesConfig: {get_resource: allNodesConfig}
388 NovaCompute0Passthrough:
390 Path: nova-compute-instance.yaml
391 SubKey: resources.NovaCompute0Passthrough
393 passthrough_config: {get_param: ExtraConfig}
396 Path: nova-compute-instance.yaml
397 SubKey: resources.NovaCompute0
399 type: OS::Heat::StructuredConfig
401 group: os-apply-config
404 get_param: AdminPassword
406 get_param: AdminToken
409 get_param: NeutronPublicInterfaceIP
423 nodeid: {get_input: bootstack_nodeid}
426 {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
431 - - mysql://cinder:unset@
435 get_param: CinderLVMLoopDeviceSize
437 get_param: CinderPassword
439 get_param: CinderISCSIHelper
441 get_input: controller_host
443 bindnetaddr: {get_input: controller_host}
448 ip: {get_attr: [controller0, networks, ctlplane, 0]}
450 stonith_enabled : false
452 quorum_policy : ignore
456 host: {get_input: controller_virtual_ip}
461 - - mysql://glance:unset@
465 get_input: controller_virtual_ip
467 get_param: GlancePort
469 get_param: GlanceProtocol
471 get_param: GlancePassword
472 swift-store-user: service:glance
474 get_param: GlancePassword
476 get_param: GlanceNotifierStrategy
478 get_param: GlanceLogFile
481 get_param: HeatPassword
482 admin_tenant_name: service
484 auth_encryption_key: unset___________
488 - - mysql://heat:unset@
491 stack_domain_admin_password: {get_param: HeatStackDomainAdminPassword}
492 watch_server_url: {get_input: heat.watch_server_url}
493 metadata_server_url: {get_input: heat.metadata_server_url}
494 waitcondition_server_url: {get_input: heat.waitcondition_server_url}
501 {get_attr: [controller0, show, name]}
506 - - mysql://keystone:unset@
510 get_input: controller_virtual_ip
511 ca_certificate: {get_param: KeystoneCACertificate}
512 signing_key: {get_param: KeystoneSigningKey}
513 signing_certificate: {get_param: KeystoneSigningCertificate}
515 innodb_buffer_pool_size: {get_param: MysqlInnodbBufferPoolSize}
517 root-password: {get_resource: MysqlRootPassword}
521 ip: {get_attr: [controller0, networks, ctlplane, 0]}
526 - {get_resource: MysqlClusterUniquePart}
528 flat-networks: {get_param: NeutronFlatNetworks}
529 host: {get_input: controller_virtual_ip}
530 metadata_proxy_shared_secret: unset
532 enable_tunneling: 'True'
534 get_input: controller_host
535 network_vlan_ranges: {get_param: NeutronNetworkVLANRanges}
536 bridge_mappings: {get_param: NeutronBridgeMappings}
538 get_param: NeutronPublicInterface
539 public_interface_raw_device:
540 get_param: NeutronPublicInterfaceRawDevice
541 public_interface_route:
542 get_param: NeutronPublicInterfaceDefaultRoute
543 physical_bridge: br-ex
544 tenant_network_type: gre
548 - - mysql://neutron:unset@
550 - /ovs_neutron?charset=utf8
552 get_param: NeutronPassword
554 get_param: NeutronDnsmasqOptions
559 - - mysql://ceilometer:unset@
562 metering_secret: {get_param: CeilometerMeteringSecret}
564 get_param: CeilometerPassword
566 export_MIB: UCD-SNMP-MIB
568 get_param: SnmpdReadonlyUserName
569 readonly_user_password:
570 get_param: SnmpdReadonlyUserPassword
572 compute_driver: libvirt.LibvirtDriver
576 - - mysql://nova:unset@
579 default_floating_pool:
581 host: {get_input: controller_virtual_ip}
584 get_param: NovaPassword
586 host: {get_input: controller_virtual_ip}
588 get_param: RabbitUserName
590 get_param: RabbitPassword
597 - {server: {get_param: NtpServer}, fudge: "stratum 0"}
600 - vrrp_instance_name: VI_CONTROL
601 virtual_router_id: 51
603 get_param: ControlVirtualInterface
606 - ip: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
608 get_param: ControlVirtualInterface
609 - vrrp_instance_name: VI_PUBLIC
610 virtual_router_id: 52
612 get_param: PublicVirtualInterface
615 - ip: {get_attr: [PublicVirtualIP, fixed_ips, 0, ip_address]}
617 get_param: PublicVirtualInterface
625 get_param: PublicVirtualInterface
629 ip: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
631 get_param: ControlVirtualInterface
633 ip: {get_attr: [PublicVirtualIP, fixed_ips, 0, ip_address]}
635 get_param: PublicVirtualInterface
640 ip: {get_attr: [controller0, networks, ctlplane, 0]}
641 name: {get_attr: [controller0, show, name]}
643 - ip: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
645 - name: keystone_admin
647 net_binds: &public_binds
648 - ip: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
649 - ip: {get_attr: [PublicVirtualIP, fixed_ips, 0, ip_address]}
650 - name: keystone_public
652 net_binds: *public_binds
655 net_binds: *public_binds
658 net_binds: *public_binds
661 net_binds: *public_binds
664 net_binds: *public_binds
665 - name: glance_registry
667 net_binds: *public_binds
670 net_binds: *public_binds
671 - name: heat_cloudwatch
673 net_binds: *public_binds
676 net_binds: *public_binds
688 net_binds: *public_binds
689 - name: nova_metadata
691 net_binds: *public_binds
694 net_binds: *public_binds
695 - name: swift_proxy_server
697 net_binds: *public_binds
703 controllerPassthrough:
704 type: OS::Heat::StructuredConfig
706 group: os-apply-config
707 config: {get_input: passthrough_config}
709 type: OS::Nova::Server
712 get_param: controllerImage
714 get_param: ImageUpdatePolicy
716 get_param: OvercloudControlFlavor
721 user_data_format: SOFTWARE_CONFIG
722 controller0AllNodesDeployment:
723 depends_on: [controller0Deployment,controller0SSLDeployment,controller0Swift,controller0Passthrough]
724 type: OS::Heat::StructuredDeployment
726 signal_transport: {get_param: DefaultSignalTransport}
727 config: {get_resource: allNodesConfig}
728 server: {get_resource: controller0}
729 controller0Deployment:
730 type: OS::Heat::StructuredDeployment
732 signal_transport: NO_SIGNAL
733 config: {get_resource: controllerConfig}
734 server: {get_resource: controller0}
736 bootstack_nodeid: {get_attr: [controller0, show, name]}
737 controller_host: {get_attr: [controller0, networks, ctlplane, 0]}
738 controller_virtual_ip:
739 {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
740 heat.watch_server_url:
744 - {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
746 heat.metadata_server_url:
750 - {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
752 heat.waitcondition_server_url:
756 - {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
757 - ':8000/v1/waitcondition'
759 type: OS::Heat::StructuredConfig
762 completion-signal: {get_input: deploy_signal_id}
772 - - {get_attr: [NovaCompute0, networks, ctlplane, 0]}
773 - {get_attr: [NovaCompute0, show, name]}
776 - - {get_attr: [NovaCompute0, show, name]}
784 - - {get_attr: [BlockStorage0, networks, ctlplane, 0]}
785 - {get_attr: [BlockStorage0, show, name]}
788 - - {get_attr: [BlockStorage0, show, name]}
796 - - {get_attr: [SwiftStorage0, networks, ctlplane, 0]}
797 - {get_attr: [SwiftStorage0, show, name]}
800 - - {get_attr: [SwiftStorage0, show, name]}
808 - - {get_attr: [controller0, networks, ctlplane, 0]}
809 - {get_attr: [controller0, show, name]}
812 - - {get_attr: [controller0, show, name]}
814 - {get_param: CloudName}
821 {get_attr: [controller0, show, name]}
822 controller0SSLDeployment:
823 type: OS::Heat::StructuredDeployment
825 config: {get_resource: SSLConfig}
826 server: {get_resource: controller0}
827 signal_transport: NO_SIGNAL
829 controller_host: {get_attr: [controller0, networks, ctlplane, 0]}
830 ssl_certificate: {get_param: SSLCertificate}
831 ssl_key: {get_param: SSLKey}
832 ssl_ca_certificate: {get_param: SSLCACertificate}
833 controller0Passthrough:
834 type: OS::Heat::StructuredDeployment
836 config: {get_resource: controllerPassthrough}
837 server: {get_resource: controller0}
838 signal_transport: NO_SIGNAL
840 passthrough_config: {get_param: ExtraConfig}
843 description: URL for the Overcloud Keystone service
848 - {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}