Add a Quobyte Volume Driver in Nova

Add a Nova volume driver for the Quobyte Unified Storage Plane storage system, allowing to attach vm images residing in Quobyte USP to Nova instances. These images (raw, qcow2) are stored as files on a Quobyte USP volume.

Problem description

The Quobyte USP provides flexible access to file based storage. Nova can currently not attach Quobyte USP volumes, although a Cinder driver is currently in preparation.

Use Cases

Operators can deploy Quobyte USP storage for their Nova installations.

Project Priority


Proposed change

Add support for the Quobyte Unified Storage Plane to by adding a new class LibvirtQuobyteVolumeDriver based on the LibvirtBaseVolumeDriver. Code structure will be similar to the GlusterFS class LibvirtGlusterfsVolumeDriver. The Driver will check mountpoint availability, run mountpoint preparations if required and mount the given Quobyte USP volume based on the configuration data (connection_info, etc.). Based on the local qemu 2.0.0+ availability the driver optimizes performance by adopting matching caching strategies. Other functionalities include volume disconnect (i.e. unmounting the Quobyte USP volume) and configuration data provisioning (get_config).



Data model impact


REST API impact


Security impact


Notifications impact


Other end user impact


Performance Impact


Other deployer impact

Quobyte USP specific config options are
  • quobyte_mount_point_base (Directory where the Quobyte volume is mounted on the compute node)

  • quobyte_client_cfg (Path to a Quobyte Client configuration file)

Mounting Quobyte USP volumes is done as Nova user, not as root. The Nova user needs to be FUSE enabled, e.g. a member of the fuse group. The deployer has to install the Quobyte USP software.

Developer impact




Primary assignee:


Other contributors:


Work Items

Implementation has been done and tested via Tempest. The code can be found at Change-Id: Ica1820031f1fc8b66d7ed7fe76ffeb985cf0ef35.


This change requires the corresponding Cinder driver is required, the respective code can be found at Change-Id: I7ca13e28b000d7a07c2baecd5454e50be4c9640b.


Currently no additional Tempest tests are required as the existing tests and test scenarios cover the volume usage functionalities provided by the driver. For the corresponding Cinder driver a 3rd party CI is in preparation that will also test the Nova driver. Unit tests have been created in conjunction with the existing driver code.

Documentation Impact