Add support for Dell EMC VNX Manila Backend
authorrajinir <rajini_ram@dell.com>
Fri, 4 Aug 2017 20:43:09 +0000 (15:43 -0500)
committerEmilien Macchi <emilien@redhat.com>
Wed, 30 Aug 2017 15:49:37 +0000 (08:49 -0700)
This change adds support for manila::backend::dellemc_vnx

Change-Id: I5fa5c2d6956429d1b9c12a5af6d4a887ed0624d9
Implements: blueprint dellemc-vnx-manila
(cherry picked from commit a3debcfa8b2cbb3acaba292e082b0a3b0ee8ef54)

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

index 7ae218c..1af6be9 100644 (file)
@@ -408,6 +408,13 @@ topics:
           - file: environments/manila-unity-config.yaml
             title: Deploys Manila with Unity driver
             description: Deploys Manila and configures Unity as its default backend.
+      - title: Manila with VNX
+        description: >
+          Deploys Manila and configures it with the VNX driver.
+        environments:
+          - file: environments/manila-vnx-config.yaml
+            title: Deploys Manila with VNX driver
+            description: Deploys Manila and configures VNX as its default backend.
             requires:
               - overcloud-resource-registry-puppet.yaml
       - title: Glance backends
index e01d94a..d4bc1df 100644 (file)
@@ -85,6 +85,7 @@
     - OS::TripleO::Services::ManilaBackendNetapp
     - OS::TripleO::Services::ManilaBackendUnity
     - OS::TripleO::Services::ManilaBackendCephFs
+    - OS::TripleO::Services::ManilaBackendVNX
     - OS::TripleO::Services::ManilaShare
     - OS::TripleO::Services::AodhApi
     - OS::TripleO::Services::AodhEvaluator
index b247ff9..38b70e5 100644 (file)
@@ -88,6 +88,7 @@
     - OS::TripleO::Services::ManilaBackendNetapp
     - OS::TripleO::Services::ManilaBackendUnity
     - OS::TripleO::Services::ManilaBackendCephFs
+    - OS::TripleO::Services::ManilaBackendVNX
     - OS::TripleO::Services::ManilaShare
     - OS::TripleO::Services::AodhApi
     - OS::TripleO::Services::AodhEvaluator
diff --git a/environments/manila-vnx-config.yaml b/environments/manila-vnx-config.yaml
new file mode 100644 (file)
index 0000000..9a0ea59
--- /dev/null
@@ -0,0 +1,18 @@
+# This environment file enables Manila with the VNX 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::ManilaBackendVNX: ../puppet/services/manila-backend-vnx.yaml
+
+parameter_defaults:
+  ManilaVNXBackendName: tripleo_manila_vnx
+  ManilaVNXDriverHandlesShareServers: true
+  ManilaVNXNasLogin: ''
+  ManilaVNXNasPassword: ''
+  ManilaVNXNasServer: ''
+  ManilaVNXServerMetaPool: ''
+  ManilaVNXShareDataPools: ''
+  ManilaVNXEthernetPorts: ''
+
index 1f3ec13..0fa0a9f 100644 (file)
@@ -234,6 +234,7 @@ resource_registry:
   OS::TripleO::Services::ManilaBackendNetapp: OS::Heat::None
   OS::TripleO::Services::ManilaBackendUnity: OS::Heat::None
   OS::TripleO::Services::ManilaBackendCephFs: OS::Heat::None
+  OS::TripleO::Services::ManilaBackendVNX: OS::Heat::None
   OS::TripleO::Services::ComputeNeutronL3Agent: OS::Heat::None
   OS::TripleO::Services::ComputeNeutronMetadataAgent: OS::Heat::None
   OS::TripleO::Services::BarbicanApi: OS::Heat::None
diff --git a/puppet/services/manila-backend-vnx.yaml b/puppet/services/manila-backend-vnx.yaml
new file mode 100644 (file)
index 0000000..13dde4a
--- /dev/null
@@ -0,0 +1,75 @@
+heat_template_version: pike
+
+description: >
+  Openstack Manila vnx backend.
+
+parameters:
+  ManilaVNXDriverHandlesShareServers:
+    type: string
+    default: false
+  ManilaVNXBackendName:
+    type: string
+    default: tripleo_manila_vnx
+  ManilaVNXNasLogin:
+    type: string
+    default: ''
+  ManilaVNXNasPassword:
+    type: string
+    default: ''
+  ManilaVNXNasServer:
+    type: string
+    default: ''
+  ManilaVNXServerContainer:
+    type: string
+    default: ''
+  ManilaVNXShareDataPools:
+    type: string
+    default: ''
+  ManilaVNXEthernetPorts:
+    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 VNX backend.
+    value:
+      service_name: manila_backend_vnx
+      config_settings:
+        manila::backend::dellemc_vnx::title: {get_param: ManilaVNXBackendName}
+        manila::backend::dellemc_vnx::emc_nas_login: {get_param: ManilaVNXNasLogin}
+        manila::backend::dellemc_vnx::driver_handles_share_servers: {get_param: ManilaVNXDriverHandlesShareServers}
+        manila::backend::dellemc_vnx::emc_nas_password: {get_param: ManilaVNXNasPassword}
+        manila::backend::dellemc_vnx::emc_nas_server: {get_param: ManilaVNXNasServer}
+        manila::backend::dellemc_vnx::emc_share_backend: {'vnx'}
+        manila::backend::dellemc_vnx::vnx_server_container: {get_param: ManilaVNXServerContainer}
+        manila::backend::dellemc_vnx::vnx_share_data_pools: {get_param: ManilaVNXShareDataPools}
+        manila::backend::dellemc_vnx::vnx_ethernet_ports: {get_param: ManilaVNXEthernetPorts}
+      step_config:
+
+
diff --git a/releasenotes/notes/vnx_manila_2967789872aa11e7.yaml b/releasenotes/notes/vnx_manila_2967789872aa11e7.yaml
new file mode 100644 (file)
index 0000000..963d8b3
--- /dev/null
@@ -0,0 +1,4 @@
+---
+features:
+  - |
+    Add support for Dell EMC VNX Manila driver
index bfe8c39..8f5e0cc 100644 (file)
@@ -83,6 +83,7 @@
     - OS::TripleO::Services::ManilaBackendGeneric
     - OS::TripleO::Services::ManilaBackendNetapp
     - OS::TripleO::Services::ManilaBackendUnity
+    - OS::TripleO::Services::ManilaBackendVNX
     - OS::TripleO::Services::ManilaScheduler
     - OS::TripleO::Services::ManilaShare
     - OS::TripleO::Services::Memcached
index 85368c1..c213001 100644 (file)
@@ -68,6 +68,7 @@
     - OS::TripleO::Services::ManilaBackendGeneric
     - OS::TripleO::Services::ManilaBackendNetapp
     - OS::TripleO::Services::ManilaBackendUnity
+    - OS::TripleO::Services::ManilaBackendVNX
     - OS::TripleO::Services::ManilaScheduler
     - OS::TripleO::Services::ManilaShare
     - OS::TripleO::Services::Memcached
index f13b455..dcb66af 100644 (file)
@@ -86,6 +86,7 @@
     - OS::TripleO::Services::ManilaBackendGeneric
     - OS::TripleO::Services::ManilaBackendNetapp
     - OS::TripleO::Services::ManilaBackendUnity
+    - OS::TripleO::Services::ManilaBackendVNX
     - OS::TripleO::Services::ManilaScheduler
     - OS::TripleO::Services::ManilaShare
     - OS::TripleO::Services::Memcached