Update CephFS Native/NFS Ganesha drivers to use ceph-mgr

Registered by Victoria Martinez de la Cruz on 2020-01-28

We want the driver to use the ceph-mgr 'volumes' module to dynamically
provision shares, share-groups, snapshots, and control access to the
shares.

Currently, the driver uses the soon-to-be-deprecated ceph_volume_client python module to do this.

Ceph-mgr volume's module is the single source of truth for
managing CephFS exports from Ceph nautilus onwards (14.2.x).

The CephFS native driver would use the ceph CLI to talk to the Ceph
manager daemon. The ceph-mgr daemon would load the 'volumes' module.
The 'volumes' module would allow the native driver to manage FS
subvolumes (previously called 'volumes' in the ceph_volume_client)
across FS volumes (also called filesytems), and inherently support
features such as asynchronous purging of FS subvolumes.

The ceph-mgr volumes has implemented many of the interfaces needed by
the native driver. The following interfaces provided by
ceph_volume_client aren't implemented in ceph-mgr volumes module,
* authorize/deauthorize access to FS subvolume(manila share)
* fetch the list of auth IDs that have access to a FS subvolume
* evict clients
* get used bytes of a FS subvolume (manila share)
* fetch used and unused capacity of a FS volume (backend Ceph filesytem)
* fetch monitor addresses

Blueprint information

Status:
Not started
Approver:
None
Priority:
Undefined
Drafter:
Victoria Martinez de la Cruz
Direction:
Needs approval
Assignee:
None
Definition:
New
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.opendev.org/#/q/topic:bp/update-cephfs-drivers

Addressed by: https://review.opendev.org/706968
    Create wrapper client for ceph clients

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.