Merge "overcloud stepped deployment environment"
[apex-tripleo-heat-templates.git] / overcloud-without-mergepy.yaml
index 1134fec..b7ef086 100644 (file)
@@ -1,4 +1,4 @@
-heat_template_version: 2014-10-16
+heat_template_version: 2015-04-30
 
 description: >
   Nova API,Keystone,Heat Engine and API,Glance,Neutron,Dedicated MySQL
@@ -15,6 +15,10 @@ parameters:
     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.
@@ -29,14 +33,14 @@ parameters:
   CephClusterFSID:
     default: ''
     type: string
-    description: The Ceph cluster FSID.
+    description: The Ceph cluster FSID. Must be a UUID.
   CephMonKey:
     default: ''
-    description: The Ceph monitors key.
+    description: The Ceph monitors key. Can be created with ceph-authtool --gen-print-key.
     type: string
   CephAdminKey:
     default: ''
-    description: The Ceph admin client key.
+    description: The Ceph admin client key. Can be created with ceph-authtool --gen-print-key.
     type: string
   CinderEnableIscsiBackend:
     default: true
@@ -259,6 +263,23 @@ parameters:
     default: 'br-ex'
     description: Interface where virtual ip will be assigned.
     type: string
+  EnableGalera:
+    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: |
@@ -310,6 +331,13 @@ parameters:
     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.
@@ -512,8 +540,19 @@ resources:
   HeatAuthEncryptionKey:
     type: OS::Heat::RandomString
 
+  PcsdPassword:
+    type: OS::Heat::RandomString
+    properties:
+      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:
@@ -521,6 +560,7 @@ resources:
         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}
@@ -532,16 +572,22 @@ resources:
           ControlVirtualInterface: {get_param: ControlVirtualInterface}
           ControllerExtraConfig: {get_param: controllerExtraConfig}
           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}
@@ -572,6 +618,7 @@ resources:
           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}
@@ -594,6 +641,7 @@ resources:
 
   Compute:
     type: OS::Heat::ResourceGroup
+    depends_on: Networks
     properties:
       count: {get_param: ComputeCount}
       resource_def:
@@ -649,6 +697,7 @@ resources:
 
   BlockStorage:
     type: OS::Heat::ResourceGroup
+    depends_on: Networks
     properties:
       count: {get_param: BlockStorageCount}
       resource_def:
@@ -671,6 +720,7 @@ resources:
 
   ObjectStorage:
     type: OS::Heat::ResourceGroup
+    depends_on: Networks
     properties:
       count: {get_param: ObjectStorageCount}
       resource_def:
@@ -688,6 +738,7 @@ resources:
 
   CephStorage:
     type: OS::Heat::ResourceGroup
+    depends_on: Networks
     properties:
       count: {get_param: CephStorageCount}
       resource_def:
@@ -725,8 +776,13 @@ resources:
       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}
@@ -735,6 +791,7 @@ resources:
 
   PublicVirtualIP:
     type: OS::Neutron::Port
+    depends_on: Networks
     properties:
       name: public_virtual_ip
       network: {get_param: PublicVirtualNetwork}
@@ -863,7 +920,7 @@ resources:
 
   ComputeNodesPostDeployment:
     type: OS::TripleO::ComputePostDeployment
-    depends_on: ComputeAllNodesDeployment
+    depends_on: [ComputeAllNodesDeployment, ComputeCephDeployment]
     properties:
       servers: {get_attr: [Compute, attributes, nova_server_resource]}