-heat_template_version: 2014-10-16
+heat_template_version: 2015-04-30
description: >
Nova API,Keystone,Heat Engine and API,Glance,Neutron,Dedicated MySQL
description: The password for the keystone admin account, used for monitoring, querying neutron etc.
type: string
hidden: true
+ CeilometerBackend:
+ default: 'mongodb'
+ description: The ceilometer backend type.
+ type: string
CeilometerMeteringSecret:
default: unset
description: Secret shared by the ceilometer services.
default: true
description: Whether to use Galera instead of regular MariaDB.
type: boolean
+ EnablePacemaker:
+ default: false
+ description: If enabled services will be monitored by Pacemaker; it
+ will manage VIPs as well, in place of Keepalived.
+ type: boolean
+ ControllerEnableCephStorage:
+ default: false
+ description: Whether to deploy Ceph Storage (OSD) on the Controller
+ type: boolean
+ ControllerEnableSwiftStorage:
+ default: true
+ description: Whether to enable Swift Storage on the Controller
+ type: boolean
ExtraConfig:
default: {}
description: |
description: The password for the glance service account, used by the glance services.
type: string
hidden: true
+ GlanceBackend:
+ default: swift
+ description: The short name of the Glance backend to use. Should be one
+ of swift, rbd or file
+ type: string
+ constraints:
+ - allowed_values: ['swift', 'file', 'rbd']
HeatPassword:
default: unset
description: The password for the Heat service account, used by the Heat services.
HeatAuthEncryptionKey:
type: OS::Heat::RandomString
- CorosyncAuthKey:
+ PcsdPassword:
type: OS::Heat::RandomString
properties:
- length: 128
+ length: 16
+
+ HorizonSecret:
+ type: OS::Heat::RandomString
+ properties:
+ length: 10
Controller:
type: OS::Heat::ResourceGroup
+ depends_on: Networks
properties:
count: {get_param: ControllerCount}
resource_def:
properties:
AdminPassword: {get_param: AdminPassword}
AdminToken: {get_param: AdminToken}
+ CeilometerBackend: {get_param: CeilometerBackend}
CeilometerMeteringSecret: {get_param: CeilometerMeteringSecret}
CeilometerPassword: {get_param: CeilometerPassword}
CinderLVMLoopDeviceSize: {get_param: CinderLVMLoopDeviceSize}
CloudName: {get_param: CloudName}
ControlVirtualInterface: {get_param: ControlVirtualInterface}
ControllerExtraConfig: {get_param: controllerExtraConfig}
- CorosyncAuthKey: {get_resource: CorosyncAuthKey}
Debug: {get_param: Debug}
EnableGalera: {get_param: EnableGalera}
+ EnablePacemaker: {get_param: EnablePacemaker}
+ EnableCephStorage: {get_param: ControllerEnableCephStorage}
+ EnableSwiftStorage: {get_param: ControllerEnableSwiftStorage}
ExtraConfig: {get_param: ExtraConfig}
Flavor: {get_param: OvercloudControlFlavor}
GlancePort: {get_param: GlancePort}
GlanceProtocol: {get_param: GlanceProtocol}
GlancePassword: {get_param: GlancePassword}
+ GlanceBackend: {get_param: GlanceBackend}
GlanceNotifierStrategy: {get_param: GlanceNotifierStrategy}
GlanceLogFile: {get_param: GlanceLogFile}
HeatPassword: {get_param: HeatPassword}
HeatStackDomainAdminPassword: {get_param: HeatStackDomainAdminPassword}
HeatAuthEncryptionKey: {get_resource: HeatAuthEncryptionKey}
+ HorizonSecret: {get_resource: HorizonSecret}
Image: {get_param: controllerImage}
ImageUpdatePolicy: {get_param: ImageUpdatePolicy}
KeyName: {get_param: KeyName}
NeutronTunnelTypes: {get_param: NeutronTunnelTypes}
NovaPassword: {get_param: NovaPassword}
NtpServer: {get_param: NtpServer}
+ PcsdPassword: {get_resource: PcsdPassword}
PublicVirtualInterface: {get_param: PublicVirtualInterface}
RabbitPassword: {get_param: RabbitPassword}
RabbitUserName: {get_param: RabbitUserName}
Compute:
type: OS::Heat::ResourceGroup
+ depends_on: Networks
properties:
count: {get_param: ComputeCount}
resource_def:
BlockStorage:
type: OS::Heat::ResourceGroup
+ depends_on: Networks
properties:
count: {get_param: BlockStorageCount}
resource_def:
CinderLVMLoopDeviceSize: {get_param: CinderLVMLoopDeviceSize}
# Purpose of the dedicated BlockStorage nodes should be to use their local LVM
CinderEnableIscsiBackend: {get_param: CinderEnableIscsiBackend}
+ CinderPassword: {get_param: CinderPassword}
VirtualIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
KeyName: {get_param: KeyName}
Flavor: {get_param: OvercloudBlockStorageFlavor}
ObjectStorage:
type: OS::Heat::ResourceGroup
+ depends_on: Networks
properties:
count: {get_param: ObjectStorageCount}
resource_def:
CephStorage:
type: OS::Heat::ResourceGroup
+ depends_on: Networks
properties:
count: {get_param: CephStorageCount}
resource_def:
length: 20
salt: {get_param: RabbitCookieSalt}
+ # creates the network architecture
+ Networks:
+ type: OS::TripleO::Network
+
ControlVirtualIP:
type: OS::Neutron::Port
+ depends_on: Networks
properties:
name: control_virtual_ip
network_id: {get_param: NeutronControlPlaneID}
PublicVirtualIP:
type: OS::Neutron::Port
+ depends_on: Networks
properties:
name: public_virtual_ip
network: {get_param: PublicVirtualNetwork}