Modular GlusterFS share layouts

Registered by Csaba Henk

Currently we have multiple drivers that integrate GlusterFS as a Manila storage backend (glusterfs and glustefs-native), and we have multiple share layouts that determine how GlusterFS is integrated into Manila.

Currently "share layout" is an informal term that refers to the model of choosing entities of the backing GlusterFS cluster(s) to back a given share. There are also two of these: with *volume mapped share layout* we take a whole GlusterFS volume to back a share; with *directory mapped share layout* we take top level directories of GlusterFS volume(s) to back a share.

Currently share layouts are bound to drivers:
- glusterfs driver is implemented with directory mapped share layout;
- glusterfs-native driver is implemented with volume mapped share layout.

Agenda:

- Share layouts should be abstracted, moulded into progammatically defined constructs (classes).
- Implict share layout implementations should be removed from driver scope.
- Respective configuration parameters should be added through which the storage admin can specify her choice of share layout.
- GlusterFS drivers should specify the list of share layouts they can work with; in case of an incompaible GlusterFS driver / share layout pairing the manila share service should throw an error with a message that clearly identifies the issue.

Blueprint information

Status:
Complete
Approver:
Ben Swartzlander
Priority:
Low
Drafter:
Csaba Henk
Direction:
Approved
Assignee:
Csaba Henk
Definition:
Approved
Series goal:
Accepted for liberty
Implementation:
Implemented
Milestone target:
milestone icon 1.0.0
Started by
Ben Swartzlander
Completed by
Clinton Knight

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/modular-glusterfs-share-layouts,n,z

Addressed by: https://review.openstack.org/214462
    glusterfs*: factor out common parts

Addressed by: https://review.openstack.org/214921
    glusterfs/common: refactor GlusterManager

Addressed by: https://review.openstack.org/215021
    glusterfs-native: cut back on redundancy

Addressed by: https://review.openstack.org/215172
    glusterfs/layout: add layout base classes.

Addressed by: https://review.openstack.org/215173
    glusterfs: separate native's management logic into volume mapped layout

Addressed by: https://review.openstack.org/215293
    glusterfs: create dir mapped layout from glusterfs driver's management logic

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.