Hey Tony,
This has been a long running pain point/problem for some of the
drivers in Cinder.
As a reviewer, I try and -1 drivers that talk directly to the database
as I don't think
drivers *should* be doing that. But, for some drivers, unfortunately,
in order to
implement the features, they currently need to talk to the DB. :( One
of the new
features in Cinder, namely consistency groups, has a bug that basically
requires
drivers to talk to the DB to fetch additional data. There are plans to
remedy this
problem in the M release of Cinder. For other DB calls in drivers,
it's a case by
case basis for removing the call, that's not entirely obvious how to do
it at the
current time. It's a topic that has come up now and again within the
community,
and I for one, would like to see the DB calls removed as well. Feel free to
help contribute! It's OpenSource after all. :)
Cheers,
Walt
Openstack/Cinder has a wealth of storage drivers to talk to different
storage subsystems, which is great for users of openstack. However, it
would be even greater if this same functionality could be leveraged
outside of openstack/cinder. So that other projects don't need to
duplicate the same functionality when trying to talk to hardware.
When looking at cinder and asking around[1] about how one could
potentially do this I find out that is there is quite a bit of coupling
with openstack, like:
* The NFS driver is initialized with knowledge about whether any volumes
exist in the database or not, and if not, can trigger certain behavior
to set permissions, etc. This means that something other than the
cinder-volume service needs to mimic the right behavior if using this
driver.
* The LVM driver touches the database when creating a backup of a volume
(many drivers do), and when managing a volume (importing an existing
external LV to use as a Cinder volume).
* A few drivers (GPFS, others?) touch the db when managing consistency
groups.
* EMC, Hitachi, and IBM NFS drivers touch the db when creating/deleting
snapshots.
Am I the only one that thinks this would be useful? What ideas do
people have for making the cinder drivers stand alone, so that everyone
could benefit from this great body of work?
Thanks,
Tony
[1] Special thanks to Eric Harney for the examples of coupling
__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
.
__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev