[openstack-dev] [nova] Plan to consolidate FS-style libvirt volume drivers under a common base class

Matt Riedemann mriedem at linux.vnet.ibm.com
Wed Jun 17 16:31:33 UTC 2015

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:


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/



Matt Riedemann

More information about the OpenStack-dev mailing list