[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:

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




More information about the OpenStack-dev mailing list