Add integration with Manila CephFS Native driver
authorErno Kuvaja <jokke@usr.fi>
Mon, 22 Aug 2016 09:52:02 +0000 (10:52 +0100)
committermarios <marios@redhat.com>
Fri, 23 Sep 2016 13:23:05 +0000 (16:23 +0300)
Enables configuring CephFS Native backend for Manila.

This change is based on the usage of environments like in
review https://review.openstack.org/#/c/354019 for Netapp
driver.

Co-Authored-By: Marios Andreou <marios@redhat.com>
Change-Id: If013d796bcdfe48b2c995bcab462c89c360b7367
Depends-On: I918f6f23ae0bd3542bcfe1bf0c797d4e6aa8f4d9
Depends-On: I2b537f735b8d1be8f39e8c274be3872b193c1014

environments/manila-cephfsnative-config.yaml [new file with mode: 0644]
overcloud-resource-registry-puppet.yaml
puppet/services/manila-backend-cephfs.yaml [new file with mode: 0644]
roles_data.yaml

diff --git a/environments/manila-cephfsnative-config.yaml b/environments/manila-cephfsnative-config.yaml
new file mode 100644 (file)
index 0000000..4115d8b
--- /dev/null
@@ -0,0 +1,18 @@
+# A Heat environment file which can be used to enable a
+# a Manila CephFS Native driver 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::ManilaBackendCephFs: ../puppet/services/manila-backend-cephfs.yaml
+
+
+parameter_defaults:
+  ManilaCephFSNativeEnableBackend: true
+  ManilaCephFSNativeBackendName: cephfsnative
+  ManilaCephFSNativeDriverHandlesShareServers: false
+  ManilaCephFSNativeCephFSConfPath: '/etc/ceph/cephfs.conf'
+  ManilaCephFSNativeCephFSAuthId: 'manila'
+  ManilaCephFSNativeCephFSClusterName: 'ceph'
+  ManilaCephFSNativeCephFSEnableSnapshots: true
index 45c15fc..8420dbc 100644 (file)
@@ -216,6 +216,7 @@ resource_registry:
   OS::Tripleo::Services::ManilaShare: OS::Heat::None
   OS::Tripleo::Services::ManilaBackendGeneric: OS::Heat::None
   OS::Tripleo::Services::ManilaBackendNetapp: OS::Heat::None
+  OS::Tripleo::Services::ManilaBackendCephFs: OS::Heat::None
   OS::TripleO::Services::ComputeNeutronL3Agent: OS::Heat::None
   OS::TripleO::Services::ComputeNeutronMetadataAgent: OS::Heat::None
   OS::TripleO::Services::AodhApi: puppet/services/aodh-api.yaml
diff --git a/puppet/services/manila-backend-cephfs.yaml b/puppet/services/manila-backend-cephfs.yaml
new file mode 100644 (file)
index 0000000..89a36d2
--- /dev/null
@@ -0,0 +1,61 @@
+heat_template_version: 2016-04-08
+
+description: >
+  Openstack Manila Cephfs backend
+
+parameters:
+  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
+  EndpointMap:
+    default: {}
+    description: Mapping of service endpoint -> protocol. Typically set
+                 via parameter_defaults in the resource registry.
+    type: json
+  # CephFS Native backend params:
+  ManilaCephFSNativeEnableBackend:
+    type: boolean
+    default: false
+  ManilaCephFSNativeBackendName:
+    type: string
+    default: cephfsnative
+  ManilaCephFSNativeDriverHandlesShareServers:
+    type: boolean
+    default: false
+  ManilaCephFSNativeShareBackendName:
+    type: string
+    default: 'cephfs'
+  ManilaCephFSNativeCephFSConfPath:
+    type: string
+    default: '/etc/ceph/cephfs.conf'
+  ManilaCephFSNativeCephFSAuthId:
+    type: string
+    default: 'manila'
+  ManilaCephFSNativeCephFSClusterName:
+    type: string
+    default: 'ceph'
+  ManilaCephFSNativeCephFSEnableSnapshots:
+    type: boolean
+    default: true
+
+outputs:
+  role_data:
+    description: Role data for the Manila Cephfs backend.
+    value:
+      service_name: manila_backend_cephfs
+      config_settings:
+        manila::backend::cephfsnative::enable_backend: {get_param: ManilaCephFSNativeEnableBackend}
+        manila::backend::cephfsnative::title: {get_param: ManilaCephFSNativeBackendName}
+        manila::backend::cephfsnative::driver_handles_share_servers: {get_param: ManilaCephFSNativeDriverHandlesShareServers}
+        manila::backend::cephfsnative::share_backend_name: {get_param: ManilaCephFSNativeShareBackendName}
+        manila::backend::cephfsnative::cephfs_conf_path: {get_param: ManilaCephFSNativeCephFSConfPath}
+        manila::backend::cephfsnative::cephfs_auth_id: {get_param: ManilaCephFSNativeCephFSAuthId}
+        manila::backend::cephfsnative::cephfs_cluster_name: {get_param: ManilaCephFSNativeCephFSClusterName}
+        manila::backend::cephfsnative::cephfs_enable_snapshots: {get_param: ManilaCephFSNativeCephFSEnableSnapshots}
+      step_config:
index a349ca7..523033c 100644 (file)
@@ -54,6 +54,7 @@
     - OS::Tripleo::Services::ManilaScheduler
     - OS::Tripleo::Services::ManilaBackendGeneric
     - OS::Tripleo::Services::ManilaBackendNetapp
+    - OS::Tripleo::Services::ManilaBackendCephFs
     - OS::Tripleo::Services::ManilaShare
     - OS::TripleO::Services::AodhApi
     - OS::TripleO::Services::AodhEvaluator