On 6/17/2015 7:36 AM, Dmitry Guryanov wrote:
On 06/17/2015 12:21 AM, Matt Riedemann wrote:
The NFS, GlusterFS, SMBFS, and Quobyte libvirt volume drivers are all
very similar.

I want to extract a common base class that abstracts some of the
common code and then let the sub-classes provide overrides where
necessary.

As part of this, I'm wondering if we could just have a single
'mount_point_base' config option rather than one per backend like we
have today:

nfs_mount_point_base
glusterfs_mount_point_base
smbfs_mount_point_base
quobyte_mount_point_base

With libvirt you can only have one of these drivers configured per
compute host right?  So it seems to make sense that we could have one
option used for all 4 different driver implementations and reduce some
of the config option noise.

I checked the os-brick change [1] proposed to nova to see if there
would be any conflicts there and so far that's not touching any of
these classes so seems like they could be worked in parallel.


os-brick has ability to mount different filesystems, you could find it
in the os_brick/remotefs/remotefs.py file. This module is already used
in cinder's FS volume drivers, which you've mentioned.

Yeah, and nova has the same thing, albeit a much older version:

http://git.openstack.org/cgit/openstack/nova/tree/nova/virt/libvirt/remotefs.py

In nova only the LibvirtSMBFSVolumeDriver is using it though, the other 3 just have a very similar mount/unmount method which I'm looking to consolidate as part of this effort.


Are there any concerns with this?

Is a blueprint needed for this refactor?

[1] https://review.openstack.org/#/c/175569/




--

Thanks,

Matt Riedemann


__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: [email protected]?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to