[openstack-dev] [cinder] RemoteFS drivers refactoring: move code, which works with images to separate classes

D'Angelo, Scott scott.dangelo at hpe.com
Tue Oct 13 19:01:45 UTC 2015

If you create a blueprint and a spec for this, the details can be discussed in the spec.

-----Original Message-----
From: Dmitry Guryanov [mailto:dguryanov at virtuozzo.com] 
Sent: Tuesday, October 13, 2015 12:57 PM
To: OpenStack Development Mailing List; Maxim Nestratov
Subject: [openstack-dev] [cinder] RemoteFS drivers refactoring: move code, which works with images to separate classes


RemoteFS drivers combine 2 logical tasks. The first one is how to mount a filesystem and select proper share for a new or existing volume. The second one: how to deal with an image files in given directory (mount
point) (create, delete, create snapshot e.t.c.).

The first part is different for each volume driver. The second - the same for all volume drivers, but it depends on selected volume format: 
you can create qcow2 file on NFS or smbfs with the same code.

Since there are several volume formats (raw, qcow2, vhd and possibly some others), I propose to move the code, which works with image to separate classes, 'VolumeFormat' handlers.

This change have 3 advantages:

1. Duplicated code from remotefs driver will be removed.
2. All drivers will support all volume formats.
3. New volume formats could be added easily, including non-qcow2 snapshots.

Here is a draft version of a patch:

Although there are problems in it, most of the operations with volumes work and there are only about 10 fails in tempest.

I'd like to discuss this approach before further work on the patch.

Dmitry Guryanov

OpenStack Development Mailing List (not for usage questions)
Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe

More information about the OpenStack-dev mailing list