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.
30 description: Set to True to enable debugging on all services.
35 Additional configuration to inject into the cluster. The JSON should have
36 the following structure:
39 [{"section": "SECTIONNAME",
41 [{"option": "OPTIONNAME",
52 [{"section": "default",
54 [{"option": "compute_manager",
55 "value": "ironic.nova.compute.manager.ClusterComputeManager"
62 "value": "nova.cells.rpc_driver.CellsRPCDriver"
70 OvercloudControlFlavor:
72 description: Flavor for control nodes to request when deploying.
74 OvercloudComputeFlavor:
76 description: Flavor for compute nodes to request when deploying.
80 description: Glance port.
84 description: Protocol to use when connecting to glance, set to https for SSL.
88 description: The password for the glance service account, used by the glance services.
91 GlanceNotifierStrategy:
92 description: Strategy to use for Glance notification queue
96 description: The filepath of the file to use for logging messages from Glance.
101 description: The password for the Heat service account, used by the Heat services.
105 default: 'REBUILD_PRESERVE_EPHEMERAL'
106 description: What policy to use when reconstructing instances. REBUILD for rebuilds, REBUILD_PRESERVE_EPHEMERAL to preserve /mnt.
110 description: Name of an existing EC2 KeyPair to enable SSH access to the instances
112 NeutronBridgeMappings:
113 description: The OVS logical->physical bridge mappings to use.
118 description: The password for the neutron service account, used by neutron agents.
121 CeilometerComputeAgent:
122 description: Indicates whether the Compute agent is present and expects nova-compute to be configured accordingly
126 - allowed_values: ['', Present]
127 CeilometerMeteringSecret:
129 description: Secret shared by the ceilometer services.
134 description: The password for the ceilometer service account.
137 SnmpdReadonlyUserName:
138 default: ro_snmp_user
139 description: The user name for SNMPd with readonly rights running on all Overcloud nodes
141 SnmpdReadonlyUserPassword:
143 description: The user password for SNMPd with readonly rights running on all Overcloud nodes
148 description: The DNS name of this cloud. E.g. ci-overcloud.tripleo.org
151 default: libvirt.LibvirtDriver
153 NovaComputeLibvirtType:
158 default: overcloud-compute
161 description: The password for the nova service account, used by nova-api.
167 description: If set, flat networks to configure in neutron plugins.
168 HypervisorNeutronPhysicalBridge:
170 description: An OVS bridge to create on each hypervisor.
172 HypervisorNeutronPublicInterface:
174 description: What interface to add to the HypervisorNeutronPhysicalBridge.
176 NeutronPublicInterface:
178 description: What interface to bridge onto br-ex for network nodes.
180 NeutronPublicInterfaceDefaultRoute:
182 description: A custom default route for the NeutronPublicInterface.
184 NeutronPublicInterfaceIP:
186 description: A custom IP address to put onto the NeutronPublicInterface.
188 NeutronPublicInterfaceRawDevice:
190 description: If set, the public interface is a vlan with this device as the raw device.
192 NeutronControlPlaneID:
195 description: Neutron ID for ctlplane network.
196 NeutronDnsmasqOptions:
197 default: 'dhcp-option-force=26,1400'
198 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.
202 default: overcloud-control
208 description: The username for RabbitMQ
212 description: The password for RabbitMQ
218 description: Salt for the rabbit cookie, change this to force the randomly generated rabbit cookie to change.
219 HeatStackDomainAdminPassword:
220 description: Password for heat_domain_admin user.
226 description: The live-update username for the undercloud Glance API.
228 LiveUpdateTenantName:
230 description: The live-update tenant name for the undercloud Glance API.
234 description: The IP address for the undercloud Glance API.
239 description: The live-update password for the undercloud Glance API.
241 LiveUpdateComputeImage:
243 description: The image ID for live-updates to the overcloud compute nodes.
245 MysqlInnodbBufferPoolSize:
247 Specifies the size of the buffer pool in megabytes. Setting to
248 zero should be interpreted as "no value" and will defer to the
252 ControlVirtualInterface:
254 description: Interface where virtual ip will be assigned.
258 description: Should be used for arbitrary ips.
260 PublicVirtualFixedIPs:
263 Control the IP allocation for the PublicVirtualInterface port. E.g.
264 [{'ip_address':'1.2.3.4'}]
266 PublicVirtualInterface:
269 Specifies the interface where the public-facing virtual ip will be assigned.
270 This should be int_public when a VLAN is being used.
272 PublicVirtualNetwork:
276 Neutron network to allocate public virtual IP port on.
277 KeystoneCACertificate:
279 description: Keystone self-signed certificate authority certificate.
281 KeystoneSigningCertificate:
283 description: Keystone certificate for verifying token validity.
287 description: Keystone key for signing tokens.
292 type: OS::Neutron::Port
294 name: control_virtual_ip
295 network_id: {get_param: NeutronControlPlaneID}
297 get_param: ControlFixedIPs
298 MysqlClusterUniquePart:
299 type: OS::Heat::RandomString
303 type: OS::Neutron::Port
305 name: public_virtual_ip
306 network: {get_param: PublicVirtualNetwork}
308 get_param: PublicVirtualFixedIPs
310 type: OS::Heat::RandomString
314 get_param: RabbitCookieSalt
317 Path: nova-compute-instance.yaml
318 SubKey: resources.NovaCompute0Deploy
320 NovaApiHost: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
321 KeystoneHost: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
322 NeutronHost: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
323 GlanceHost: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
324 RabbitHost: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
328 - - mysql://nova:unset@
329 - &compute_database_host {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
334 - - mysql://ceilometer:unset@
335 - *compute_database_host
340 - - mysql://neutron:unset@
341 - *compute_database_host
343 NeutronNetworkType: "gre"
344 NeutronEnableTunnelling: "True"
346 get_param: NeutronFlatNetworks
347 NeutronNetworkVLANRanges: ""
348 NeutronPhysicalBridge:
349 get_param: HypervisorNeutronPhysicalBridge
350 NeutronPublicInterface:
351 get_param: HypervisorNeutronPublicInterface
352 NeutronBridgeMappings:
353 get_param: NeutronBridgeMappings
354 NovaCompute0AllNodes:
356 Path: nova-compute-instance.yaml
357 SubKey: resources.NovaCompute0AllNodesDeploy
359 AllNodesConfig: {get_resource: allNodesConfig}
360 NovaCompute0Passthrough:
362 Path: nova-compute-instance.yaml
363 SubKey: resources.NovaCompute0Passthrough
365 passthrough_config: {get_param: ExtraConfig}
368 Path: nova-compute-instance.yaml
369 SubKey: resources.NovaCompute0
371 type: OS::Heat::StructuredConfig
373 group: os-apply-config
376 get_param: AdminPassword
378 get_param: AdminToken
381 get_param: NeutronPublicInterfaceIP
395 nodeid: {get_input: bootstack_nodeid}
398 {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
403 - - mysql://cinder:unset@
406 debug: {get_param: Debug}
408 get_param: CinderLVMLoopDeviceSize
410 get_param: CinderPassword
412 get_param: CinderISCSIHelper
414 get_input: controller_host
416 bindnetaddr: {get_input: controller_host}
421 ip: {get_attr: [controller0, networks, ctlplane, 0]}
423 stonith_enabled : false
425 quorum_policy : ignore
429 host: {get_input: controller_virtual_ip}
434 - - mysql://glance:unset@
437 debug: {get_param: Debug}
439 get_input: controller_virtual_ip
441 get_param: GlancePort
443 get_param: GlanceProtocol
445 get_param: GlancePassword
446 swift-store-user: service:glance
448 get_param: GlancePassword
450 get_param: GlanceNotifierStrategy
452 get_param: GlanceLogFile
455 get_param: HeatPassword
456 admin_tenant_name: service
458 auth_encryption_key: unset___________
462 - - mysql://heat:unset@
465 debug: {get_param: Debug}
466 stack_domain_admin_password: {get_param: HeatStackDomainAdminPassword}
467 watch_server_url: {get_input: heat.watch_server_url}
468 metadata_server_url: {get_input: heat.metadata_server_url}
469 waitcondition_server_url: {get_input: heat.waitcondition_server_url}
476 {get_attr: [controller0, show, name]}
481 - - mysql://keystone:unset@
484 debug: {get_param: Debug}
486 get_input: controller_virtual_ip
487 ca_certificate: {get_param: KeystoneCACertificate}
488 signing_key: {get_param: KeystoneSigningKey}
489 signing_certificate: {get_param: KeystoneSigningCertificate}
491 innodb_buffer_pool_size: {get_param: MysqlInnodbBufferPoolSize}
496 ip: {get_attr: [controller0, networks, ctlplane, 0]}
501 - {get_resource: MysqlClusterUniquePart}
503 debug: {get_param: Debug}
504 flat-networks: {get_param: NeutronFlatNetworks}
505 host: {get_input: controller_virtual_ip}
506 metadata_proxy_shared_secret: unset
508 enable_tunneling: 'True'
510 get_input: controller_host
511 bridge_mappings: {get_param: NeutronBridgeMappings}
513 get_param: NeutronPublicInterface
514 public_interface_raw_device:
515 get_param: NeutronPublicInterfaceRawDevice
516 public_interface_route:
517 get_param: NeutronPublicInterfaceDefaultRoute
518 physical_bridge: br-ex
519 tenant_network_type: gre
523 - - mysql://neutron:unset@
525 - /ovs_neutron?charset=utf8
527 get_param: NeutronPassword
529 get_param: NeutronDnsmasqOptions
534 - - mysql://ceilometer:unset@
537 debug: {get_param: Debug}
538 metering_secret: {get_param: CeilometerMeteringSecret}
540 get_param: CeilometerPassword
542 export_MIB: UCD-SNMP-MIB
544 get_param: SnmpdReadonlyUserName
545 readonly_user_password:
546 get_param: SnmpdReadonlyUserPassword
548 compute_driver: libvirt.LibvirtDriver
552 - - mysql://nova:unset@
555 default_floating_pool:
557 host: {get_input: controller_virtual_ip}
560 get_param: NovaPassword
562 host: {get_input: controller_virtual_ip}
564 get_param: RabbitUserName
566 get_param: RabbitPassword
573 - {server: {get_param: NtpServer}, fudge: "stratum 0"}
576 - vrrp_instance_name: VI_CONTROL
577 virtual_router_id: 51
579 get_param: ControlVirtualInterface
582 - ip: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
584 get_param: ControlVirtualInterface
585 - vrrp_instance_name: VI_PUBLIC
586 virtual_router_id: 52
588 get_param: PublicVirtualInterface
591 - ip: {get_attr: [PublicVirtualIP, fixed_ips, 0, ip_address]}
593 get_param: PublicVirtualInterface
601 get_param: PublicVirtualInterface
605 ip: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
607 get_param: ControlVirtualInterface
609 ip: {get_attr: [PublicVirtualIP, fixed_ips, 0, ip_address]}
611 get_param: PublicVirtualInterface
616 ip: {get_attr: [controller0, networks, ctlplane, 0]}
617 name: {get_attr: [controller0, show, name]}
619 - ip: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
621 - name: keystone_admin
623 net_binds: &public_binds
624 - ip: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
625 - ip: {get_attr: [PublicVirtualIP, fixed_ips, 0, ip_address]}
626 - name: keystone_public
628 net_binds: *public_binds
631 net_binds: *public_binds
634 net_binds: *public_binds
637 net_binds: *public_binds
640 net_binds: *public_binds
641 - name: glance_registry
643 net_binds: *public_binds
646 net_binds: *public_binds
647 - name: heat_cloudwatch
649 net_binds: *public_binds
652 net_binds: *public_binds
661 net_binds: *public_binds
662 - name: nova_metadata
664 net_binds: *public_binds
667 net_binds: *public_binds
668 - name: swift_proxy_server
670 net_binds: *public_binds
676 controllerPassthrough:
677 type: OS::Heat::StructuredConfig
679 group: os-apply-config
680 config: {get_input: passthrough_config}
682 type: OS::Nova::Server
685 get_param: controllerImage
687 get_param: ImageUpdatePolicy
689 get_param: OvercloudControlFlavor
694 user_data_format: SOFTWARE_CONFIG
696 depends_on: [controller0Deployment,controller0SSLDeployment,controller0Swift,controller0Passthrough]
697 type: OS::Heat::StructuredDeployment
699 config: {get_resource: allNodesConfig}
700 server: {get_resource: controller0}
701 controller0Deployment:
702 type: OS::Heat::StructuredDeployment
704 signal_transport: NO_SIGNAL
705 config: {get_resource: controllerConfig}
706 server: {get_resource: controller0}
708 bootstack_nodeid: {get_attr: [controller0, show, name]}
709 controller_host: {get_attr: [controller0, networks, ctlplane, 0]}
710 controller_virtual_ip:
711 {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
712 heat.watch_server_url:
716 - {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
718 heat.metadata_server_url:
722 - {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
724 heat.waitcondition_server_url:
728 - {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
729 - ':8000/v1/waitcondition'
731 type: OS::Heat::StructuredConfig
734 completion-signal: {get_input: deploy_signal_id}
744 - - {get_attr: [NovaCompute0, networks, ctlplane, 0]}
745 - {get_attr: [NovaCompute0, show, name]}
748 - - {get_attr: [NovaCompute0, show, name]}
756 - - {get_attr: [controller0, networks, ctlplane, 0]}
757 - {get_attr: [controller0, show, name]}
760 - - {get_attr: [controller0, show, name]}
762 - {get_param: CloudName}
769 {get_attr: [controller0, show, name]}
770 controller0SSLDeployment:
771 type: OS::Heat::StructuredDeployment
773 config: {get_resource: SSLConfig}
774 server: {get_resource: controller0}
775 signal_transport: NO_SIGNAL
777 controller_host: {get_attr: [controller0, networks, ctlplane, 0]}
778 ssl_certificate: {get_param: SSLCertificate}
779 ssl_key: {get_param: SSLKey}
780 ssl_ca_certificate: {get_param: SSLCACertificate}
781 controller0Passthrough:
782 type: OS::Heat::StructuredDeployment
784 config: {get_resource: controllerPassthrough}
785 server: {get_resource: controller0}
786 signal_transport: NO_SIGNAL
788 passthrough_config: {get_param: ExtraConfig}
791 description: URL for the Overcloud Keystone service
796 - {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}