I wanted to get some feedback from the Nova folks on using Cinder's
Brick library. As some of you
may or may not know, Cinder has an internal module called Brick. It's
used for discovering and removing
volumes attached to a host. Most of the code in the Brick module in
cinder originated from the Nova libvirt
volume drivers that do the same thing (discover attached volumes and
then later remove them).
Cinder uses the brick library for copy volume to image, as well as copy
image to volume operations
where the Cinder node needs to attach volumes to itself to do the work.
The Brick code inside of Cinder has been
used since the Havana release.
Our plans in Cinder for the Kilo release is to extract the Brick
module into it's own separate library
that is maintained by the Cinder team as a subproject of Cinder and
released as a pypi lib. Then for the L release, refactor
Nova's libvirt volume drivers to use the Brick library. This will
enable us to eliminate the duplicate
code between Nova's libvirt volume drivers and Cinder's internal brick
module. Both projects can benefit
from a shared library.
So the question I have is, does Nova have an interest in using the code
in a pypi brick library? If not, then it doesn't
make any sense for the Cinder team to extract it's brick module into a
shared (pypi) library.
The first release of brick will only contain the volume discovery and
removal code. This is contained in the
initiator directory of cinder/brick/
You can view the current brick code in Cinder here:
Thanks for the feedback,
OpenStack Development Mailing List (not for usage questions)