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 controllerExtraConfig:
69 Controller specific configuration to inject into the cluster. Same
70 structure as ExtraConfig.
72 NovaComputeExtraConfig:
75 NovaCompute specific configuration to inject into the cluster. Same
76 structure as ExtraConfig.
78 OvercloudControlFlavor:
80 description: Flavor for control nodes to request when deploying.
82 OvercloudComputeFlavor:
84 description: Flavor for compute nodes to request when deploying.
88 description: Glance port.
92 description: Protocol to use when connecting to glance, set to https for SSL.
96 description: The password for the glance service account, used by the glance services.
99 GlanceNotifierStrategy:
100 description: Strategy to use for Glance notification queue
104 description: The filepath of the file to use for logging messages from Glance.
109 description: The password for the Heat service account, used by the Heat services.
113 default: 'REBUILD_PRESERVE_EPHEMERAL'
114 description: What policy to use when reconstructing instances. REBUILD for rebuilds, REBUILD_PRESERVE_EPHEMERAL to preserve /mnt.
118 description: Name of an existing EC2 KeyPair to enable SSH access to the instances
120 NeutronBridgeMappings:
121 description: The OVS logical->physical bridge mappings to use.
126 description: The password for the neutron service account, used by neutron agents.
129 CeilometerComputeAgent:
130 description: Indicates whether the Compute agent is present and expects nova-compute to be configured accordingly
134 - allowed_values: ['', Present]
135 CeilometerMeteringSecret:
137 description: Secret shared by the ceilometer services.
142 description: The password for the ceilometer service account.
145 SnmpdReadonlyUserName:
146 default: ro_snmp_user
147 description: The user name for SNMPd with readonly rights running on all Overcloud nodes
149 SnmpdReadonlyUserPassword:
151 description: The user password for SNMPd with readonly rights running on all Overcloud nodes
156 description: The DNS name of this cloud. E.g. ci-overcloud.tripleo.org
159 default: libvirt.LibvirtDriver
161 NovaComputeLibvirtType:
166 default: overcloud-compute
169 description: The password for the nova service account, used by nova-api.
175 description: If set, flat networks to configure in neutron plugins.
176 HypervisorNeutronPhysicalBridge:
178 description: An OVS bridge to create on each hypervisor.
180 HypervisorNeutronPublicInterface:
182 description: What interface to add to the HypervisorNeutronPhysicalBridge.
184 NeutronPublicInterface:
186 description: What interface to bridge onto br-ex for network nodes.
188 NeutronPublicInterfaceDefaultRoute:
190 description: A custom default route for the NeutronPublicInterface.
192 NeutronPublicInterfaceIP:
194 description: A custom IP address to put onto the NeutronPublicInterface.
196 NeutronPublicInterfaceRawDevice:
198 description: If set, the public interface is a vlan with this device as the raw device.
200 NeutronControlPlaneID:
203 description: Neutron ID for ctlplane network.
204 NeutronDnsmasqOptions:
205 default: 'dhcp-option-force=26,1400'
206 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.
210 default: overcloud-control
216 description: The username for RabbitMQ
220 description: The password for RabbitMQ
226 description: Salt for the rabbit cookie, change this to force the randomly generated rabbit cookie to change.
227 HeatStackDomainAdminPassword:
228 description: Password for heat_domain_admin user.
234 description: The live-update username for the undercloud Glance API.
236 LiveUpdateTenantName:
238 description: The live-update tenant name for the undercloud Glance API.
242 description: The IP address for the undercloud Glance API.
247 description: The live-update password for the undercloud Glance API.
249 LiveUpdateComputeImage:
251 description: The image ID for live-updates to the overcloud compute nodes.
253 MysqlInnodbBufferPoolSize:
255 Specifies the size of the buffer pool in megabytes. Setting to
256 zero should be interpreted as "no value" and will defer to the
260 ControlVirtualInterface:
262 description: Interface where virtual ip will be assigned.
266 description: Should be used for arbitrary ips.
268 PublicVirtualFixedIPs:
271 Control the IP allocation for the PublicVirtualInterface port. E.g.
272 [{'ip_address':'1.2.3.4'}]
274 PublicVirtualInterface:
277 Specifies the interface where the public-facing virtual ip will be assigned.
278 This should be int_public when a VLAN is being used.
280 PublicVirtualNetwork:
284 Neutron network to allocate public virtual IP port on.
285 KeystoneCACertificate:
287 description: Keystone self-signed certificate authority certificate.
289 KeystoneSigningCertificate:
291 description: Keystone certificate for verifying token validity.
295 description: Keystone key for signing tokens.
300 type: OS::Neutron::Port
302 name: control_virtual_ip
303 network_id: {get_param: NeutronControlPlaneID}
305 get_param: ControlFixedIPs
306 MysqlClusterUniquePart:
307 type: OS::Heat::RandomString
311 type: OS::Neutron::Port
313 name: public_virtual_ip
314 network: {get_param: PublicVirtualNetwork}
316 get_param: PublicVirtualFixedIPs
318 type: OS::Heat::RandomString
322 get_param: RabbitCookieSalt
323 NovaCompute0Deployment:
325 Path: nova-compute-instance.yaml
326 SubKey: resources.NovaCompute0Deployment
328 NovaApiHost: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
329 KeystoneHost: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
330 NeutronHost: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
331 GlanceHost: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
332 RabbitHost: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
336 - - mysql://nova:unset@
337 - &compute_database_host {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
342 - - mysql://ceilometer:unset@
343 - *compute_database_host
348 - - mysql://neutron:unset@
349 - *compute_database_host
351 NeutronNetworkType: "gre"
352 NeutronEnableTunnelling: "True"
354 get_param: NeutronFlatNetworks
355 NeutronNetworkVLANRanges: ""
356 NeutronPhysicalBridge:
357 get_param: HypervisorNeutronPhysicalBridge
358 NeutronPublicInterface:
359 get_param: HypervisorNeutronPublicInterface
360 NeutronBridgeMappings:
361 get_param: NeutronBridgeMappings
362 NovaCompute0AllNodesDeployment:
364 Path: nova-compute-instance.yaml
365 SubKey: resources.NovaCompute0AllNodesDeployment
367 AllNodesConfig: {get_resource: allNodesConfig}
370 Path: nova-compute-instance.yaml
371 SubKey: resources.NovaCompute0
372 NovaCompute0Passthrough:
374 Path: nova-compute-instance.yaml
375 SubKey: resources.NovaCompute0Passthrough
377 passthrough_config: {get_param: ExtraConfig}
378 NovaCompute0PassthroughSpecific:
380 Path: nova-compute-instance.yaml
381 SubKey: resources.NovaCompute0PassthroughSpecific
383 passthrough_config_specific: {get_param: NovaComputeExtraConfig}
385 type: OS::Heat::StructuredConfig
387 group: os-apply-config
390 get_param: AdminPassword
392 get_param: AdminToken
395 get_param: NeutronPublicInterfaceIP
409 nodeid: {get_input: bootstack_nodeid}
412 {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
417 - - mysql://cinder:unset@
421 get_param: CinderLVMLoopDeviceSize
423 get_param: CinderPassword
425 get_param: CinderISCSIHelper
427 get_input: controller_host
429 bindnetaddr: {get_input: controller_host}
434 ip: {get_attr: [controller0, networks, ctlplane, 0]}
436 stonith_enabled : false
438 quorum_policy : ignore
442 host: {get_input: controller_virtual_ip}
447 - - mysql://glance:unset@
451 get_input: controller_virtual_ip
453 get_param: GlancePort
455 get_param: GlanceProtocol
457 get_param: GlancePassword
458 swift-store-user: service:glance
460 get_param: GlancePassword
462 get_param: GlanceNotifierStrategy
464 get_param: GlanceLogFile
467 get_param: HeatPassword
468 admin_tenant_name: service
470 auth_encryption_key: unset___________
474 - - mysql://heat:unset@
477 stack_domain_admin_password: {get_param: HeatStackDomainAdminPassword}
478 watch_server_url: {get_input: heat.watch_server_url}
479 metadata_server_url: {get_input: heat.metadata_server_url}
480 waitcondition_server_url: {get_input: heat.waitcondition_server_url}
487 {get_attr: [controller0, show, name]}
492 - - mysql://keystone:unset@
496 get_input: controller_virtual_ip
497 ca_certificate: {get_param: KeystoneCACertificate}
498 signing_key: {get_param: KeystoneSigningKey}
499 signing_certificate: {get_param: KeystoneSigningCertificate}
501 innodb_buffer_pool_size: {get_param: MysqlInnodbBufferPoolSize}
506 ip: {get_attr: [controller0, networks, ctlplane, 0]}
511 - {get_resource: MysqlClusterUniquePart}
513 flat-networks: {get_param: NeutronFlatNetworks}
514 host: {get_input: controller_virtual_ip}
515 metadata_proxy_shared_secret: unset
517 enable_tunneling: 'True'
519 get_input: controller_host
520 bridge_mappings: {get_param: NeutronBridgeMappings}
522 get_param: NeutronPublicInterface
523 public_interface_raw_device:
524 get_param: NeutronPublicInterfaceRawDevice
525 public_interface_route:
526 get_param: NeutronPublicInterfaceDefaultRoute
527 physical_bridge: br-ex
528 tenant_network_type: gre
532 - - mysql://neutron:unset@
534 - /ovs_neutron?charset=utf8
536 get_param: NeutronPassword
538 get_param: NeutronDnsmasqOptions
543 - - mysql://ceilometer:unset@
546 metering_secret: {get_param: CeilometerMeteringSecret}
548 get_param: CeilometerPassword
550 export_MIB: UCD-SNMP-MIB
552 get_param: SnmpdReadonlyUserName
553 readonly_user_password:
554 get_param: SnmpdReadonlyUserPassword
556 compute_driver: libvirt.LibvirtDriver
560 - - mysql://nova:unset@
563 default_floating_pool:
565 host: {get_input: controller_virtual_ip}
568 get_param: NovaPassword
570 host: {get_input: controller_virtual_ip}
572 get_param: RabbitUserName
574 get_param: RabbitPassword
581 - {server: {get_param: NtpServer}, fudge: "stratum 0"}
584 - vrrp_instance_name: VI_CONTROL
585 virtual_router_id: 51
587 get_param: ControlVirtualInterface
590 - ip: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
592 get_param: ControlVirtualInterface
593 - vrrp_instance_name: VI_PUBLIC
594 virtual_router_id: 52
596 get_param: PublicVirtualInterface
599 - ip: {get_attr: [PublicVirtualIP, fixed_ips, 0, ip_address]}
601 get_param: PublicVirtualInterface
609 get_param: PublicVirtualInterface
613 ip: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
615 get_param: ControlVirtualInterface
617 ip: {get_attr: [PublicVirtualIP, fixed_ips, 0, ip_address]}
619 get_param: PublicVirtualInterface
624 ip: {get_attr: [controller0, networks, ctlplane, 0]}
625 name: {get_attr: [controller0, show, name]}
627 - ip: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
629 - name: keystone_admin
631 net_binds: &public_binds
632 - ip: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
633 - ip: {get_attr: [PublicVirtualIP, fixed_ips, 0, ip_address]}
634 - name: keystone_public
636 net_binds: *public_binds
639 net_binds: *public_binds
642 net_binds: *public_binds
645 net_binds: *public_binds
648 net_binds: *public_binds
649 - name: glance_registry
651 net_binds: *public_binds
654 net_binds: *public_binds
655 - name: heat_cloudwatch
657 net_binds: *public_binds
660 net_binds: *public_binds
669 net_binds: *public_binds
670 - name: nova_metadata
672 net_binds: *public_binds
675 net_binds: *public_binds
676 - name: swift_proxy_server
678 net_binds: *public_binds
684 controllerPassthrough:
685 type: OS::Heat::StructuredConfig
687 group: os-apply-config
688 config: {get_input: passthrough_config}
689 controllerPassthroughSpecific:
690 type: OS::Heat::StructuredConfig
692 group: os-apply-config
693 config: {get_input: passthrough_config_specific}
695 type: OS::Nova::Server
698 get_param: controllerImage
700 get_param: ImageUpdatePolicy
702 get_param: OvercloudControlFlavor
707 user_data_format: SOFTWARE_CONFIG
708 controller0AllNodesDeployment:
709 depends_on: [controller0Deployment,controller0SSLDeployment,controller0Swift,controller0PassthroughSpecific]
710 type: OS::Heat::StructuredDeployment
712 config: {get_resource: allNodesConfig}
713 server: {get_resource: controller0}
714 controller0Deployment:
715 type: OS::Heat::StructuredDeployment
717 signal_transport: NO_SIGNAL
718 config: {get_resource: controllerConfig}
719 server: {get_resource: controller0}
721 bootstack_nodeid: {get_attr: [controller0, show, name]}
722 controller_host: {get_attr: [controller0, networks, ctlplane, 0]}
723 controller_virtual_ip:
724 {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
725 heat.watch_server_url:
729 - {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
731 heat.metadata_server_url:
735 - {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
737 heat.waitcondition_server_url:
741 - {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
742 - ':8000/v1/waitcondition'
744 type: OS::Heat::StructuredConfig
747 completion-signal: {get_input: deploy_signal_id}
757 - - {get_attr: [NovaCompute0, networks, ctlplane, 0]}
758 - {get_attr: [NovaCompute0, show, name]}
761 - - {get_attr: [NovaCompute0, show, name]}
769 - - {get_attr: [BlockStorage0, networks, ctlplane, 0]}
770 - {get_attr: [BlockStorage0, show, name]}
773 - - {get_attr: [BlockStorage0, show, name]}
781 - - {get_attr: [SwiftStorage0, networks, ctlplane, 0]}
782 - {get_attr: [SwiftStorage0, show, name]}
785 - - {get_attr: [SwiftStorage0, show, name]}
793 - - {get_attr: [controller0, networks, ctlplane, 0]}
794 - {get_attr: [controller0, show, name]}
797 - - {get_attr: [controller0, show, name]}
799 - {get_param: CloudName}
806 {get_attr: [controller0, show, name]}
807 controller0SSLDeployment:
808 type: OS::Heat::StructuredDeployment
810 config: {get_resource: SSLConfig}
811 server: {get_resource: controller0}
812 signal_transport: NO_SIGNAL
814 controller_host: {get_attr: [controller0, networks, ctlplane, 0]}
815 ssl_certificate: {get_param: SSLCertificate}
816 ssl_key: {get_param: SSLKey}
817 ssl_ca_certificate: {get_param: SSLCACertificate}
818 controller0Passthrough:
819 type: OS::Heat::StructuredDeployment
821 config: {get_resource: controllerPassthrough}
822 server: {get_resource: controller0}
823 signal_transport: NO_SIGNAL
825 passthrough_config: {get_param: ExtraConfig}
826 controller0PassthroughSpecific:
827 depends_on: [controller0Passthrough]
828 type: OS::Heat::StructuredDeployment
830 config: {get_resource: controllerPassthroughSpecific}
831 server: {get_resource: controller0}
832 signal_transport: NO_SIGNAL
834 passthrough_config_specific: {get_param: controllerExtraConfig}
837 description: URL for the Overcloud Keystone service
842 - {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}