Add support for Dell EMC Unity Cinder backend
authorrajinir <rajini_ram@dell.com>
Wed, 26 Jul 2017 21:38:16 +0000 (16:38 -0500)
committerSteven Hardy <shardy@redhat.com>
Thu, 17 Aug 2017 08:36:14 +0000 (08:36 +0000)
This change adds a new define for cinder::backend::dellemc_unity.

Change-Id: I7f9dbb707cf9b5c90ec2f31dcff82cd578805b80
Implements: blueprint dellemc-unity-cinder

capabilities-map.yaml
environments/cinder-dellemc-unity-config.yaml [new file with mode: 0644]
overcloud-resource-registry-puppet.j2.yaml
puppet/services/cinder-backend-dellemc-unity.yaml [new file with mode: 0644]
releasenotes/notes/unity_cinder_e9872898724a11e7.yaml [new file with mode: 0644]
roles/Controller.yaml
roles_data.yaml

index fdf2ad6..91daa68 100644 (file)
@@ -312,6 +312,13 @@ topics:
               Enables a Cinder Dell EMC Storage Center ISCSI backend
             requires:
               - overcloud-resource-registry-puppet.yaml
+          - file: environments/cinder-dellemc-unity-config.yaml
+            title: Cinder Dell EMC Unity backend
+            description: >
+              Enables a Cinder Dell EMC Unity backend,
+              configured via puppet
+            requires:
+              - overcloud-resource-registry-puppet.yaml
           - file: environments/cinder-hpelefthand-config.yaml
             title: Cinder HPELeftHandISCSI backend
             description: >
diff --git a/environments/cinder-dellemc-unity-config.yaml b/environments/cinder-dellemc-unity-config.yaml
new file mode 100644 (file)
index 0000000..c67c91c
--- /dev/null
@@ -0,0 +1,14 @@
+# A Heat environment file which can be used to enable a
+# Cinder Dell EMC Unity backend, configured via puppet
+resource_registry:
+  OS::TripleO::Services::CinderBackendDellEMCUnity: ../puppet/services/cinder-backend-dellemc-unity.yaml
+
+parameter_defaults:
+  CinderEnableDellEMCUnityBackend: true
+  CinderDellEMCUnityBackendName: 'tripleo_dellemc_unity'
+  CinderDellEMCUnitySanIp: ''
+  CinderDellEMCUnitySanLogin: 'Admin'
+  CinderDellEMCUnitySanPassword: ''
+  CinderDellEMCUnityStorageProtocol: 'iSCSI'
+  CinderDellEMCUnityIoPorts: ''
+  CinderDellEMCUnityStoragePoolNames: ''
index 0b4b4fe..732a05e 100644 (file)
@@ -261,6 +261,7 @@ resource_registry:
   OS::TripleO::Services::NeutronML2FujitsuFossw: OS::Heat::None
   OS::TripleO::Services::CinderBackendDellPs: OS::Heat::None
   OS::TripleO::Services::CinderBackendDellSc: OS::Heat::None
+  OS::TripleO::Services::CinderBackendDellEMCUnity: OS::Heat::None
   OS::TripleO::Services::CinderBackendNetApp: OS::Heat::None
   OS::TripleO::Services::CinderBackendScaleIO: OS::Heat::None
   OS::TripleO::Services::CinderBackendVRTSHyperScale: OS::Heat::None
diff --git a/puppet/services/cinder-backend-dellemc-unity.yaml b/puppet/services/cinder-backend-dellemc-unity.yaml
new file mode 100644 (file)
index 0000000..c8b8bd8
--- /dev/null
@@ -0,0 +1,85 @@
+# Copyright (c) 2016-2017 Dell Inc, or its subsidiaries.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+heat_template_version: pike
+
+description: >
+  Openstack Cinder Dell EMC Unity backend
+
+parameters:
+  CinderEnableDellEMCUnityBackend:
+    type: boolean
+    default: true
+  CinderDellEMCUnityBackendName:
+    type: string
+    default: 'tripleo_dellemc_unity'
+  CinderDellEMCUnitySanIp:
+    type: string
+  CinderDellEMCUnitySanLogin:
+    type: string
+    default: 'Admin'
+  CinderDellEMCUnitySanPassword:
+    type: string
+    hidden: true
+  CinderDellEMCUnityStorageProtocol:
+    type: string
+    default: 'iSCSI'
+  CinderDellEMCUnityIoPorts:
+    type: string
+    default: ''
+  CinderDellEMCUnityStoragePoolNames:
+    type: string
+    default: ''
+  ServiceData:
+    default: {}
+    description: Dictionary packing service data
+    type: json
+  ServiceNetMap:
+    default: {}
+    description: Mapping of service_name -> network name. Typically set
+                 via parameter_defaults in the resource registry.  This
+                 mapping overrides those in ServiceNetMapDefaults.
+    type: json
+  DefaultPasswords:
+    default: {}
+    type: json
+  RoleName:
+    default: ''
+    description: Role name on which the service is applied
+    type: string
+  RoleParameters:
+    default: {}
+    description: Parameters specific to the role
+    type: json
+  EndpointMap:
+    default: {}
+    type: json
+    description: Mapping of service endpoint -> protocol. Typically set
+                 via parameter_defaults in the resource registry.
+
+outputs:
+  role_data:
+    description: Role data for the Cinder Dell EMC Storage Center backend.
+    value:
+      service_name: cinder_backend_dellemc_unity
+      config_settings:
+                tripleo::profile::base::cinder::volume::cinder_enable_dellemc_unity_backend: {get_param: CinderEnableDellEMCUnityBackend}
+                cinder::backend::dellemc_unity::volume_backend_name: {get_param: CinderDellEMCUnityBackendName}
+                cinder::backend::dellemc_unity::san_ip: {get_param: CinderDellEMCUnitySanIp}
+                cinder::backend::dellemc_unity::san_login: {get_param: CinderDellEMCUnitySanLogin}
+                cinder::backend::dellemc_unity::san_password: {get_param: CinderDellEMCUnitySanPassword}
+                cinder::backend::dellemc_unity::storage_protocol: {get_param: CinderDellEMCUnityStorageProtocol}
+                cinder::backend::dellemc_unity::unity_io_ports: {get_param: CinderDellEMCUnityIoPorts}
+                cinder::backend::dellemc_unity::unity_storage_pool_names: {get_param: CinderDellEMCUnityStoragePoolNames}
+      step_config: |
+        include ::tripleo::profile::base::cinder::volume
diff --git a/releasenotes/notes/unity_cinder_e9872898724a11e7.yaml b/releasenotes/notes/unity_cinder_e9872898724a11e7.yaml
new file mode 100644 (file)
index 0000000..f2edb9f
--- /dev/null
@@ -0,0 +1,4 @@
+---
+features:
+  - |
+    Add support for Dell EMC Unity cinder driver
index d702a63..b29c2b7 100644 (file)
@@ -38,6 +38,7 @@
     - OS::TripleO::Services::CinderApi
     - OS::TripleO::Services::CinderBackendDellPs
     - OS::TripleO::Services::CinderBackendDellSc
+    - OS::TripleO::Services::CinderBackendDellEMCUnity
     - OS::TripleO::Services::CinderBackendNetApp
     - OS::TripleO::Services::CinderBackendScaleIO
     - OS::TripleO::Services::CinderBackendVRTSHyperScale
index 0d6c803..84c65bb 100644 (file)
@@ -41,6 +41,7 @@
     - OS::TripleO::Services::CinderApi
     - OS::TripleO::Services::CinderBackendDellPs
     - OS::TripleO::Services::CinderBackendDellSc
+    - OS::TripleO::Services::CinderBackendDellEMCUnity
     - OS::TripleO::Services::CinderBackendNetApp
     - OS::TripleO::Services::CinderBackendScaleIO
     - OS::TripleO::Services::CinderBackendVRTSHyperScale