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:
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
122 - allowed_values: ['', Present]
123 CeilometerMeteringSecret:
125 description: Secret shared by the ceilometer services.
130 description: The password for the ceilometer service account.
133 SnmpdReadonlyUserName:
134 default: ro_snmp_user
135 description: The user name for SNMPd with readonly rights running on all Overcloud nodes
137 SnmpdReadonlyUserPassword:
139 description: The user password for SNMPd with readonly rights running on all Overcloud nodes
144 description: The DNS name of this cloud. E.g. ci-overcloud.tripleo.org
147 default: libvirt.LibvirtDriver
149 NovaComputeLibvirtType:
154 default: overcloud-compute
157 description: The password for the nova service account, used by nova-api.
163 description: If set, flat networks to configure in neutron plugins.
164 HypervisorNeutronPhysicalBridge:
166 description: An OVS bridge to create on each hypervisor.
168 HypervisorNeutronPublicInterface:
170 description: What interface to add to the HypervisorNeutronPhysicalBridge.
172 NeutronPublicInterface:
174 description: What interface to bridge onto br-ex for network nodes.
176 NeutronPublicInterfaceDefaultRoute:
178 description: A custom default route for the NeutronPublicInterface.
180 NeutronPublicInterfaceIP:
182 description: A custom IP address to put onto the NeutronPublicInterface.
184 NeutronPublicInterfaceRawDevice:
186 description: If set, the public interface is a vlan with this device as the raw device.
188 NeutronControlPlaneID:
191 description: Neutron ID for ctlplane network.
192 NeutronDnsmasqOptions:
193 default: 'dhcp-option-force=26,1400'
194 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.
198 default: overcloud-control
204 description: The username for RabbitMQ
208 description: The password for RabbitMQ
214 description: Salt for the rabbit cookie, change this to force the randomly generated rabbit cookie to change.
215 HeatStackDomainAdminPassword:
216 description: Password for heat_domain_admin user.
222 description: The live-update username for the undercloud Glance API.
224 LiveUpdateTenantName:
226 description: The live-update tenant name for the undercloud Glance API.
230 description: The IP address for the undercloud Glance API.
235 description: The live-update password for the undercloud Glance API.
237 LiveUpdateComputeImage:
239 description: The image ID for live-updates to the overcloud compute nodes.
241 MysqlInnodbBufferPoolSize:
243 Specifies the size of the buffer pool in megabytes. Setting to
244 zero should be interpreted as "no value" and will defer to the
248 ControlVirtualInterface:
250 description: Interface where virtual ip will be assigned.
254 description: Should be used for arbitrary ips.
256 PublicVirtualFixedIPs:
259 Control the IP allocation for the PublicVirtualInterface port. E.g.
260 [{'ip_address':'1.2.3.4'}]
262 PublicVirtualInterface:
265 Specifies the interface where the public-facing virtual ip will be assigned.
266 This should be int_public when a VLAN is being used.
268 PublicVirtualNetwork:
272 Neutron network to allocate public virtual IP port on.
273 KeystoneCACertificate:
275 description: Keystone self-signed certificate authority certificate.
277 KeystoneSigningCertificate:
279 description: Keystone certificate for verifying token validity.
283 description: Keystone key for signing tokens.
286 DefaultSignalTransport:
288 description: Transport to use for software-config signals.
291 - allowed_values: [ CFN_SIGNAL, HEAT_SIGNAL, NO_SIGNAL ]
294 type: OS::Neutron::Port
296 name: control_virtual_ip
297 network_id: {get_param: NeutronControlPlaneID}
299 get_param: ControlFixedIPs
300 MysqlClusterUniquePart:
301 type: OS::Heat::RandomString
305 type: OS::Heat::RandomString
309 type: OS::Neutron::Port
311 name: public_virtual_ip
312 network: {get_param: PublicVirtualNetwork}
314 get_param: PublicVirtualFixedIPs
316 type: OS::Heat::RandomString
320 get_param: RabbitCookieSalt
321 NovaCompute0Deployment:
323 Path: nova-compute-instance.yaml
324 SubKey: resources.NovaCompute0Deployment
326 DefaultSignalTransport:
327 get_param: DefaultSignalTransport
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]}
339 NovaPublicIP: {get_attr: [PublicVirtualIP, fixed_ips, 0, ip_address]}
343 - - mysql://ceilometer:unset@
344 - *compute_database_host
349 - - mysql://neutron:unset@
350 - *compute_database_host
352 NeutronNetworkType: "gre"
353 NeutronEnableTunnelling: "True"
355 get_param: NeutronFlatNetworks
356 NeutronNetworkVLANRanges: ""
357 NeutronPhysicalBridge:
358 get_param: HypervisorNeutronPhysicalBridge
359 NeutronPublicInterface:
360 get_param: HypervisorNeutronPublicInterface
361 NeutronBridgeMappings:
362 get_param: NeutronBridgeMappings
363 NovaCompute0AllNodesDeployment:
365 Path: nova-compute-instance.yaml
366 SubKey: resources.NovaCompute0AllNodesDeployment
368 AllNodesConfig: {get_resource: allNodesConfig}
369 NovaCompute0Passthrough:
371 Path: nova-compute-instance.yaml
372 SubKey: resources.NovaCompute0Passthrough
374 passthrough_config: {get_param: ExtraConfig}
377 Path: nova-compute-instance.yaml
378 SubKey: resources.NovaCompute0
380 type: OS::Heat::StructuredConfig
382 group: os-apply-config
385 get_param: AdminPassword
387 get_param: AdminToken
390 get_param: NeutronPublicInterfaceIP
404 nodeid: {get_input: bootstack_nodeid}
407 {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
412 - - mysql://cinder:unset@
416 get_param: CinderLVMLoopDeviceSize
418 get_param: CinderPassword
420 get_param: CinderISCSIHelper
422 get_input: controller_host
424 bindnetaddr: {get_input: controller_host}
429 ip: {get_attr: [controller0, networks, ctlplane, 0]}
431 stonith_enabled : false
433 quorum_policy : ignore
437 host: {get_input: controller_virtual_ip}
442 - - mysql://glance:unset@
446 get_input: controller_virtual_ip
448 get_param: GlancePort
450 get_param: GlanceProtocol
452 get_param: GlancePassword
453 swift-store-user: service:glance
455 get_param: GlancePassword
457 get_param: GlanceNotifierStrategy
459 get_param: GlanceLogFile
462 get_param: HeatPassword
463 admin_tenant_name: service
465 auth_encryption_key: unset___________
469 - - mysql://heat:unset@
472 stack_domain_admin_password: {get_param: HeatStackDomainAdminPassword}
473 watch_server_url: {get_input: heat.watch_server_url}
474 metadata_server_url: {get_input: heat.metadata_server_url}
475 waitcondition_server_url: {get_input: heat.waitcondition_server_url}
482 {get_attr: [controller0, show, name]}
487 - - mysql://keystone:unset@
491 get_input: controller_virtual_ip
492 ca_certificate: {get_param: KeystoneCACertificate}
493 signing_key: {get_param: KeystoneSigningKey}
494 signing_certificate: {get_param: KeystoneSigningCertificate}
496 innodb_buffer_pool_size: {get_param: MysqlInnodbBufferPoolSize}
498 root-password: {get_resource: MysqlRootPassword}
502 ip: {get_attr: [controller0, networks, ctlplane, 0]}
507 - {get_resource: MysqlClusterUniquePart}
509 flat-networks: {get_param: NeutronFlatNetworks}
510 host: {get_input: controller_virtual_ip}
511 metadata_proxy_shared_secret: unset
513 enable_tunneling: 'True'
515 get_input: controller_host
516 bridge_mappings: {get_param: NeutronBridgeMappings}
518 get_param: NeutronPublicInterface
519 public_interface_raw_device:
520 get_param: NeutronPublicInterfaceRawDevice
521 public_interface_route:
522 get_param: NeutronPublicInterfaceDefaultRoute
523 physical_bridge: br-ex
524 tenant_network_type: gre
528 - - mysql://neutron:unset@
530 - /ovs_neutron?charset=utf8
532 get_param: NeutronPassword
534 get_param: NeutronDnsmasqOptions
539 - - mysql://ceilometer:unset@
542 metering_secret: {get_param: CeilometerMeteringSecret}
544 get_param: CeilometerPassword
546 export_MIB: UCD-SNMP-MIB
548 get_param: SnmpdReadonlyUserName
549 readonly_user_password:
550 get_param: SnmpdReadonlyUserPassword
552 compute_driver: libvirt.LibvirtDriver
556 - - mysql://nova:unset@
559 default_floating_pool:
561 host: {get_input: controller_virtual_ip}
564 get_param: NovaPassword
566 host: {get_input: controller_virtual_ip}
568 get_param: RabbitUserName
570 get_param: RabbitPassword
577 - {server: {get_param: NtpServer}, fudge: "stratum 0"}
580 - vrrp_instance_name: VI_CONTROL
581 virtual_router_id: 51
583 get_param: ControlVirtualInterface
586 - ip: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
588 get_param: ControlVirtualInterface
589 - vrrp_instance_name: VI_PUBLIC
590 virtual_router_id: 52
592 get_param: PublicVirtualInterface
595 - ip: {get_attr: [PublicVirtualIP, fixed_ips, 0, ip_address]}
597 get_param: PublicVirtualInterface
605 get_param: PublicVirtualInterface
609 ip: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
611 get_param: ControlVirtualInterface
613 ip: {get_attr: [PublicVirtualIP, fixed_ips, 0, ip_address]}
615 get_param: PublicVirtualInterface
620 ip: {get_attr: [controller0, networks, ctlplane, 0]}
621 name: {get_attr: [controller0, show, name]}
623 - ip: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
625 - name: keystone_admin
627 net_binds: &public_binds
628 - ip: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
629 - ip: {get_attr: [PublicVirtualIP, fixed_ips, 0, ip_address]}
630 - name: keystone_public
632 net_binds: *public_binds
635 net_binds: *public_binds
638 net_binds: *public_binds
641 net_binds: *public_binds
644 net_binds: *public_binds
645 - name: glance_registry
647 net_binds: *public_binds
650 net_binds: *public_binds
651 - name: heat_cloudwatch
653 net_binds: *public_binds
656 net_binds: *public_binds
665 net_binds: *public_binds
666 - name: nova_metadata
668 net_binds: *public_binds
671 net_binds: *public_binds
672 - name: swift_proxy_server
674 net_binds: *public_binds
680 controllerPassthrough:
681 type: OS::Heat::StructuredConfig
683 group: os-apply-config
684 config: {get_input: passthrough_config}
686 type: OS::Nova::Server
689 get_param: controllerImage
691 get_param: ImageUpdatePolicy
693 get_param: OvercloudControlFlavor
698 user_data_format: SOFTWARE_CONFIG
699 controller0AllNodesDeployment:
700 depends_on: [controller0Deployment,controller0SSLDeployment,controller0Swift,controller0Passthrough]
701 type: OS::Heat::StructuredDeployment
703 signal_transport: {get_param: DefaultSignalTransport}
704 config: {get_resource: allNodesConfig}
705 server: {get_resource: controller0}
706 controller0Deployment:
707 type: OS::Heat::StructuredDeployment
709 signal_transport: NO_SIGNAL
710 config: {get_resource: controllerConfig}
711 server: {get_resource: controller0}
713 bootstack_nodeid: {get_attr: [controller0, show, name]}
714 controller_host: {get_attr: [controller0, networks, ctlplane, 0]}
715 controller_virtual_ip:
716 {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
717 heat.watch_server_url:
721 - {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
723 heat.metadata_server_url:
727 - {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
729 heat.waitcondition_server_url:
733 - {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
734 - ':8000/v1/waitcondition'
736 type: OS::Heat::StructuredConfig
739 completion-signal: {get_input: deploy_signal_id}
749 - - {get_attr: [NovaCompute0, networks, ctlplane, 0]}
750 - {get_attr: [NovaCompute0, show, name]}
753 - - {get_attr: [NovaCompute0, show, name]}
761 - - {get_attr: [BlockStorage0, networks, ctlplane, 0]}
762 - {get_attr: [BlockStorage0, show, name]}
765 - - {get_attr: [BlockStorage0, show, name]}
773 - - {get_attr: [SwiftStorage0, networks, ctlplane, 0]}
774 - {get_attr: [SwiftStorage0, show, name]}
777 - - {get_attr: [SwiftStorage0, show, name]}
785 - - {get_attr: [controller0, networks, ctlplane, 0]}
786 - {get_attr: [controller0, show, name]}
789 - - {get_attr: [controller0, show, name]}
791 - {get_param: CloudName}
798 {get_attr: [controller0, show, name]}
799 controller0SSLDeployment:
800 type: OS::Heat::StructuredDeployment
802 config: {get_resource: SSLConfig}
803 server: {get_resource: controller0}
804 signal_transport: NO_SIGNAL
806 controller_host: {get_attr: [controller0, networks, ctlplane, 0]}
807 ssl_certificate: {get_param: SSLCertificate}
808 ssl_key: {get_param: SSLKey}
809 ssl_ca_certificate: {get_param: SSLCACertificate}
810 controller0Passthrough:
811 type: OS::Heat::StructuredDeployment
813 config: {get_resource: controllerPassthrough}
814 server: {get_resource: controller0}
815 signal_transport: NO_SIGNAL
817 passthrough_config: {get_param: ExtraConfig}
820 description: URL for the Overcloud Keystone service
825 - {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}