[cinder][vendors][cinderlib] Validating Cinder driver for usage with cinderlib

Gorka Eguileor geguileo at redhat.com
Sun Apr 28 05:59:54 UTC 2019


This is a call to Storage vendors and application developers that, with
the excitement of the Stein release, may have missed the first cinderlib
release [1][2] under the OpenStack umbrella that happened on the 16th.
Cinderlib is doing cycle trailing releases.

Using Cinder drivers out of OpenStack has been a frequent request by
developers wanting to leverage Cinder's storage management capabilities
without all the extra features that Cinder provides, such as quotas,
replication, migrations, etc.

The answer from the Cinder team has been to create a Python library that
provides an object oriented abstraction around Cinder’s storage drivers
to allow their direct usage without running any of the Cinder services
(API, Scheduler, Volume) or surrounding services (KeyStone, MySQL,

Even though cinderlib has just been released as a Tech Preview, there
are already 2 projects using it:

- oVirt: in the Managed Block Storage functionality [3]
- Ember-CSI: providing storage for Kubernetes, Mesos, Docker swarm,
  cloud foundry, etc. [4]

This means that with a single Cinder driver vendors can support multiple

- OpenStack
- oVirt
- Containers: Kubernetes, Mesos, Docker swarm, cloud foundry, etc.

Cinderlib works around the limitations that prevented direct usage of
the drivers. One of these are driver "particularities", and that's why
we recommend vendors that want to ensure compatibility with the library
to run the cinderlib functional tests at the gate.  These tests take but
a minute to run.

We have some documentation under review [5] going over the process of
doing manual validation of a driver, running the tests as jobs of the
cinderlib project, or as an additional step of the Cinder tempest run.
The cinderlib project currently has 2 backends running the functional
tests, LVM and Ceph, and we have patches up to run them as part of the
LVM [6] and Ceph [7] Cinder jobs as well.

If you are interested in using project, validating your driver, or just
have some feedback or questions feel free to drop me an email or DM me
(twitter @geguileo) and I'll be more than happy help. If you are going
to the Open Infrastructure Summit we can meet in person, and if you feel
adventurous we can even do the manual validation.


[1]: https://docs.openstack.org/cinderlib/latest/index.html
[2]: https://pypi.org/project/cinderlib/
[3]: https://ovirt.org/develop/release-management/features/storage/cinderlib-integration.html
[4]: https://ember-csi.io
[5]: https://review.opendev.org/#/c/651880/
[6]: https://review.opendev.org/#/c/620671/
[7]: https://review.opendev.org/#/c/645182/

More information about the openstack-discuss mailing list