Add Ceph related templates needed to configure Cinder with Ceph
[apex-tripleo-heat-templates.git] / block-storage.yaml
index 16363b5..c288044 100644 (file)
@@ -1,88 +1,92 @@
-HeatTemplateFormatVersion: '2012-12-12'
-Description: 'Common Block Storage Configuration'
-Parameters:
+heat_template_version: 2013-05-23
+description: 'Common Block Storage Configuration'
+parameters:
   BlockStorageImage:
-    Type: String
-    Default: overcloud-cinder-volume
+    type: string
+    default: overcloud-cinder-volume
   OvercloudBlockStorageFlavor:
-    Default: baremetal
-    Description: Flavor for block storage nodes to request when deploying.
-    Type: String
-  NeutronNetworkType:
-    Type: String
-    Default: 'gre'
-  NeutronEnableTunnelling:
-    Type: String
-    Default: True
-Resources:
+    description: Flavor for block storage nodes to request when deploying.
+    type: string
+    constraints:
+      - custom_constraint: nova.flavor
+  BlockStorageExtraConfig:
+    default: {}
+    description: |
+      Controller specific configuration to inject into the cluster. Same
+      structure as ExtraConfig.
+    type: json
+resources:
   BlockStorage0:
-    Type: OS::Nova::Server
-    Properties:
+    type: OS::Nova::Server
+    properties:
       image:
-        {Ref: BlockStorageImage}
-      flavor: {Ref: OvercloudBlockStorageFlavor}
-      key_name: {Ref: KeyName}
+        {get_param: BlockStorageImage}
+      flavor: {get_param: OvercloudBlockStorageFlavor}
+      key_name: {get_param: KeyName}
+      user_data_format: SOFTWARE_CONFIG
+  BlockStorage0AllNodesDeployment:
+    depends_on: [BlockStorage0Deployment,BlockStorage0PassthroughSpecific]
+    type: OS::Heat::StructuredDeployment
+    properties:
+      signal_transport: {get_param: DefaultSignalTransport}
+      config: {get_resource: allNodesConfig}
+      server: {get_resource: BlockStorage0}
   BlockStorage0Deployment:
-    Type: OS::Heat::StructuredDeployment
-    Properties:
-      server: {Ref: BlockStorage0}
-      config: {Ref: BlockStorageConfig}
+    type: OS::Heat::StructuredDeployment
+    properties:
+      server: {get_resource: BlockStorage0}
+      config: {get_resource: BlockStorageConfig}
       input_values:
-        controller_host: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] }
-        cinder_dsn: {"Fn::Join": ['', ['mysql://cinder:unset@', {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] } , '/cinder']]}
-        neutron_local_ip: {"Fn::Select": [0, "Fn::Select": [ctlplane, [{"Fn::GetAtt": [BlockStorage0 , networks]}]]]}
+        controller_virtual_ip: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
+        cinder_dsn: {"Fn::Join": ['', ['mysql://cinder:unset@', {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]} , '/cinder']]}
+      signal_transport: NO_SIGNAL
+  BlockStorage0Passthrough:
+    type: OS::Heat::StructuredDeployment
+    properties:
+      config: {get_resource: BlockStoragePassthrough}
+      server: {get_resource: BlockStorage0}
+      signal_transport: NO_SIGNAL
+      input_values:
+        passthrough_config: {get_param: ExtraConfig}
+  BlockStorage0PassthroughSpecific:
+    depends_on: [BlockStorage0Passthrough]
+    type: OS::Heat::StructuredDeployment
+    properties:
+      config: {get_resource: BlockStoragePassthroughSpecific}
+      server: {get_resource: BlockStorage0}
+      signal_transport: NO_SIGNAL
+      input_values:
+        passthrough_config_specific: {get_param: BlockStorageExtraConfig}
   BlockStorageConfig:
-    Type: OS::Heat::StructuredConfig
-    Properties:
+    type: OS::Heat::StructuredConfig
+    properties:
       group: os-apply-config
       config:
-        admin-password: {Ref: AdminPassword}
+        admin-password: {get_param: AdminPassword}
         keystone:
-          host: {get_input: controller_host}
+          host: {get_input: controller_virtual_ip}
         cinder:
           db: {get_input: cinder_dsn}
           volume_size_mb:
-            Ref: CinderLVMLoopDeviceSize
+            get_param: CinderLVMLoopDeviceSize
           service-password:
-            Ref: CinderPassword
+            get_param: CinderPassword
           iscsi-helper:
-            Ref: CinderISCSIHelper
-        admin-password: {Ref: AdminPassword}
+            get_param: CinderISCSIHelper
         rabbit:
-          host: {get_input: controller_host}
-          username: {Ref: RabbitUserName}
-          password: {Ref: RabbitPassword}
-        interfaces:
-          control: {Ref: NeutronPublicInterface}
-        neutron:
-          ovs:
-            local_ip: {get_input: neutron_local_ip}
-            tenant_network_type: {Ref: NeutronNetworkType}
-            enable_tunneling: {Ref: NeutronEnableTunnelling}
-          service-password:
-            Ref: NeutronPassword
-        config:
-          keystone:
-            host: {get_input: controller_host}
-          cinder:
-            db: {get_input: cinder_dsn}
-            volume_size_mb:
-              Ref: CinderLVMLoopDeviceSize
-            service-password:
-              Ref: CinderPassword
-            iscsi-helper:
-              Ref: CinderISCSIHelper
-          admin-password: {Ref: AdminPassword}
-          rabbit:
-            host: {get_input: controller_host}
-            username: {Ref: RabbitUserName}
-            password: {Ref: RabbitPassword}
-          interfaces:
-            control: {Ref: NeutronPublicInterface}
-          neutron:
-            ovs:
-              local_ip: { get_input: neutron_local_ip }
-              tenant_network_type: {Ref: NeutronNetworkType}
-              enable_tunneling: {Ref: NeutronEnableTunnelling}
-            service-password:
-              Ref: NeutronPassword
+          host: {get_input: controller_virtual_ip}
+          username: {get_param: RabbitUserName}
+          password: {get_param: RabbitPassword}
+        glance:
+          host: {get_input: controller_virtual_ip}
+          port: {get_param: GlancePort}
+  BlockStoragePassthrough:
+    type: OS::Heat::StructuredConfig
+    properties:
+      group: os-apply-config
+      config: {get_input: passthrough_config}
+  BlockStoragePassthroughSpecific:
+    type: OS::Heat::StructuredConfig
+    properties:
+      group: os-apply-config
+      config: {get_input: passthrough_config_specific}