From 4dbe4294083ba941521f7c4eb4998a84d112c006 Mon Sep 17 00:00:00 2001 From: Ramana Raja Date: Sun, 24 May 2015 21:31:48 +0530 Subject: [PATCH] glusterfs: Edit doc and comments Edit doc and comments to mention that the driver - can work with NFS-Ganesha, used by the GlusterFS backend to serve NFS shares. - does not provide read-only access level for shares. And add some minor cosmetic fixes to the doc. Change-Id: Ib0e53befbd48e5cbfea98a52876f381384beb268 --- doc/source/devref/glusterfs_driver.rst | 26 +++++++++++++++++++------- manila/share/drivers/glusterfs.py | 9 +++++---- 2 files changed, 24 insertions(+), 11 deletions(-) diff --git a/doc/source/devref/glusterfs_driver.rst b/doc/source/devref/glusterfs_driver.rst index 1b2626ad..ba881685 100644 --- a/doc/source/devref/glusterfs_driver.rst +++ b/doc/source/devref/glusterfs_driver.rst @@ -32,12 +32,17 @@ Supported Operations - Create NFS Share - Delete NFS Share - Allow NFS Share access + + * only 'rw' access + - Deny NFS Share access Requirements ------------ - Install glusterfs-server package, version >= 3.5.x, on the storage backend. +- Install NFS-Ganesha, version >=2.1, if using NFS-Ganesha as the NFS server + for the GlusterFS backend. - Install glusterfs and glusterfs-fuse package, version >=3.5.x, on the Manila host. - Establish network connection between the Manila host and the storage backend. @@ -51,12 +56,17 @@ set: - `share_driver` = manila.share.drivers.glusterfs.GlusterfsShareDriver - If the backend GlusterFS server runs on the Manila host machine, - - `glusterfs_target` = :/ + + * `glusterfs_target` = :/ + And if the backend GlusterFS server runs remotely, - - `glusterfs_target` = @:/ + + * `glusterfs_target` = @:/ The following configuration parameters are optional: +- `glusterfs_nfs_server_type` = - `glusterfs_mount_point_base` = - `glusterfs_path_to_private_key` = @@ -66,14 +76,16 @@ The following configuration parameters are optional: Known Restrictions ------------------ -- The driver does not support network segmented multi-tenancy model instead - works over a flat network, where the tenants share a network. -- NFSv3 is the only protocol that can be used to access the shares. This is - because the shares are mediated in the backend GlusterFS by the Gluster-NFS - server that supports only NFSv3 protocol. +- The driver does not support network segmented multi-tenancy model, but + instead works over a flat network, where the tenants share a network. +- If NFS Ganesha is the NFS server used by the GlusterFS backend, then the + shares can be accessed by NFSv3 and v4 protocols. However, if Gluster NFS is + used by the GlusterFS backend, then the shares can only be accessed by NFSv3 + protocol. - All Manila shares, which map to subdirectories within a GlusterFS volume, are currently created within a single GlusterFS volume of a GlusterFS storage pool. +- The driver does not provide read-only access level for shares. The :mod:`manila.share.drivers.glusterfs` Module ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/manila/share/drivers/glusterfs.py b/manila/share/drivers/glusterfs.py index 80b1ff74..87319829 100644 --- a/manila/share/drivers/glusterfs.py +++ b/manila/share/drivers/glusterfs.py @@ -15,10 +15,11 @@ """Flat network GlusterFS Driver. -Manila shares are subdirectories within a GlusterFS volume. The access to the -shares is currently mediated by the Gluster-NFS server running in the GlusterFS -backend storage pool. The Gluster-NFS server supports only NFSv3 protocol so -it's the only protocol that can be used to access the shares. +Manila shares are subdirectories within a GlusterFS volume. The backend, +a GlusterFS cluster, uses one of the two NFS servers, Gluster-NFS or +NFS-Ganesha, based on a configuration option, to mediate access to the shares. +NFS-Ganesha server supports NFSv3 and v4 protocols, while Gluster-NFS +server supports only NFSv3 protocol. TODO(rraja): support SMB protocol. """