Add support for Dell EMC VMAX Manila Backend
authorrajinir <rajini_ram@dell.com>
Fri, 4 Aug 2017 20:56:53 +0000 (15:56 -0500)
committerEmilien Macchi <emilien@redhat.com>
Tue, 5 Sep 2017 17:37:36 +0000 (17:37 +0000)
This change adds support for manila::backend::dellemc_vmax

Change-Id: I92e189c8741c496ef6c27130f73829c327a99f1b
Implements: blueprint dellemc-vmax-manila
(cherry picked from commit 04daabdc8414e4435dc4cd3ccfea9a62b5631261)

capabilities-map.yaml
deployed-server/deployed-server-roles-data.yaml
environments/contrail/roles_data_contrail.yaml
environments/manila-vmax-config.yaml [new file with mode: 0644]
overcloud-resource-registry-puppet.j2.yaml
puppet/services/manila-backend-vmax.yaml [new file with mode: 0644]
releasenotes/notes/vmax_manila_2967789872aa11e8.yaml [new file with mode: 0644]
roles/Controller.yaml
roles/ControllerOpenstack.yaml
roles_data.yaml

index 35ff2da..2c91803 100644 (file)
@@ -419,6 +419,13 @@ topics:
           - file: environments/manila-vnx-config.yaml
             title: Deploys Manila with VNX driver
             description: Deploys Manila and configures VNX as its default backend.
+      - title: Manila with VMAX
+        description: >
+          Deploys Manila and configures it with the VMAX driver.
+        environments:
+          - file: environments/manila-vmax-config.yaml
+            title: Deploys Manila with VMAX driver
+            description: Deploys Manila and configures VMAX as its default backend.
             requires:
               - overcloud-resource-registry-puppet.yaml
       - title: Glance backends
index d4bc1df..3344a81 100644 (file)
@@ -86,6 +86,7 @@
     - OS::TripleO::Services::ManilaBackendUnity
     - OS::TripleO::Services::ManilaBackendCephFs
     - OS::TripleO::Services::ManilaBackendVNX
+    - OS::TripleO::Services::ManilaBackendVMAX
     - OS::TripleO::Services::ManilaShare
     - OS::TripleO::Services::AodhApi
     - OS::TripleO::Services::AodhEvaluator
index 38b70e5..4b17075 100644 (file)
@@ -89,6 +89,7 @@
     - OS::TripleO::Services::ManilaBackendUnity
     - OS::TripleO::Services::ManilaBackendCephFs
     - OS::TripleO::Services::ManilaBackendVNX
+    - OS::TripleO::Services::ManilaBackendVMAX
     - OS::TripleO::Services::ManilaShare
     - OS::TripleO::Services::AodhApi
     - OS::TripleO::Services::AodhEvaluator
diff --git a/environments/manila-vmax-config.yaml b/environments/manila-vmax-config.yaml
new file mode 100644 (file)
index 0000000..8c9946c
--- /dev/null
@@ -0,0 +1,19 @@
+# This environment file enables Manila with the VMAX backend.
+resource_registry:
+  OS::TripleO::Services::ManilaApi: ../puppet/services/manila-api.yaml
+  OS::TripleO::Services::ManilaScheduler: ../puppet/services/manila-scheduler.yaml
+  # Only manila-share is pacemaker managed:
+  OS::TripleO::Services::ManilaShare: ../puppet/services/pacemaker/manila-share.yaml
+  OS::TripleO::Services::ManilaBackendVMAX: ../puppet/services/manila-backend-vmax.yaml
+
+parameter_defaults:
+  ManilaVMAXBackendName: tripleo_manila_vmax
+  ManilaVMAXDriverHandlesShareServers: true
+  ManilaVMAXNasLogin: ''
+  ManilaVMAXNasPassword: ''
+  ManilaVMAXNasServer: ''
+  ManilaVMAXServerContainer: ''
+  ManilaVMAXShareDataPools: ''
+  ManilaVMAXEthernetPorts: ''
+
+
index b8819e7..bc14adb 100644 (file)
@@ -233,6 +233,7 @@ resource_registry:
   OS::TripleO::Services::ManilaBackendGeneric: OS::Heat::None
   OS::TripleO::Services::ManilaBackendNetapp: OS::Heat::None
   OS::TripleO::Services::ManilaBackendUnity: OS::Heat::None
+  OS::TripleO::Services::ManilaBackendVMAX: OS::Heat::None
   OS::TripleO::Services::ManilaBackendCephFs: OS::Heat::None
   OS::TripleO::Services::ManilaBackendVNX: OS::Heat::None
   OS::TripleO::Services::ComputeNeutronL3Agent: OS::Heat::None
diff --git a/puppet/services/manila-backend-vmax.yaml b/puppet/services/manila-backend-vmax.yaml
new file mode 100644 (file)
index 0000000..cdd32f5
--- /dev/null
@@ -0,0 +1,74 @@
+heat_template_version: pike
+
+description: >
+  Openstack Manila vmax backend.
+
+parameters:
+  ManilaVMAXDriverHandlesShareServers:
+    type: string
+    default: false
+  ManilaVMAXBackendName:
+    type: string
+    default: tripleo_manila_vmax
+  ManilaVMAXNasLogin:
+    type: string
+    default: ''
+  ManilaVMAXNasPassword:
+    type: string
+    default: ''
+  ManilaVMAXNasServer:
+    type: string
+    default: ''
+  ManilaVMAXServerContainer:
+    type: string
+    default: ''
+  ManilaVMAXShareDataPools:
+    type: string
+    default: ''
+  ManilaVMAXEthernetPorts:
+    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 Manila VMAX backend.
+    value:
+      service_name: manila_backend_vmax
+      config_settings:
+        manila::backend::dellemc_vmax::title: {get_param: ManilaVMAXBackendName}
+        manila::backend::dellemc_vmax::emc_nas_login: {get_param: ManilaVMAXNasLogin}
+        manila::backend::dellemc_vmax::driver_handles_share_servers: {get_param: ManilaVMAXDriverHandlesShareServers}
+        manila::backend::dellemc_vmax::emc_nas_password: {get_param: ManilaVMAXNasPassword}
+        manila::backend::dellemc_vmax::emc_nas_server: {get_param: ManilaVMAXNasServer}
+        manila::backend::dellemc_vmax::emc_share_backend: {'vmax'}
+        manila::backend::dellemc_vmax::vmax_server_container: {get_param: ManilaVMAXServerContainer}
+        manila::backend::dellemc_vmax::vmax_share_data_pools: {get_param: ManilaVMAXShareDataPools}
+        manila::backend::dellemc_vmax::vmax_ethernet_ports: {get_param: ManilaVMAXEthernetPorts}
+      step_config:
+
diff --git a/releasenotes/notes/vmax_manila_2967789872aa11e8.yaml b/releasenotes/notes/vmax_manila_2967789872aa11e8.yaml
new file mode 100644 (file)
index 0000000..9f2a7a6
--- /dev/null
@@ -0,0 +1,4 @@
+---
+features:
+  - |
+    Add support for Dell EMC VMAX Manila driver
index e10ff85..603aec9 100644 (file)
@@ -85,6 +85,7 @@
     - OS::TripleO::Services::ManilaBackendNetapp
     - OS::TripleO::Services::ManilaBackendUnity
     - OS::TripleO::Services::ManilaBackendVNX
+    - OS::TripleO::Services::ManilaBackendVMAX
     - OS::TripleO::Services::ManilaScheduler
     - OS::TripleO::Services::ManilaShare
     - OS::TripleO::Services::Memcached
index c213001..22ae5a9 100644 (file)
@@ -69,6 +69,7 @@
     - OS::TripleO::Services::ManilaBackendNetapp
     - OS::TripleO::Services::ManilaBackendUnity
     - OS::TripleO::Services::ManilaBackendVNX
+    - OS::TripleO::Services::ManilaBackendVMAX
     - OS::TripleO::Services::ManilaScheduler
     - OS::TripleO::Services::ManilaShare
     - OS::TripleO::Services::Memcached
index 6c2a8eb..d4a928c 100644 (file)
@@ -88,6 +88,7 @@
     - OS::TripleO::Services::ManilaBackendNetapp
     - OS::TripleO::Services::ManilaBackendUnity
     - OS::TripleO::Services::ManilaBackendVNX
+    - OS::TripleO::Services::ManilaBackendVMAX
     - OS::TripleO::Services::ManilaScheduler
     - OS::TripleO::Services::ManilaShare
     - OS::TripleO::Services::Memcached