nova/nova/virt/libvirt/volume
Gaudenz Steinlin eab58069ea Extend volume for libvirt network volumes (RBD)
Implement support for extending RBD attached volumes using the libvirt
network volume driver.

This adds a new parameter "requested_size" to the extend_volume method.
This is necessary because the new volume size can not be detected by
libvirt for network volumes. All other volume types currently
implementing the extend_volume call have a block device on the
hypervisor which needs to be updated and can be polled for it's new
size. For network volumes no such block device exists.

Alternatively this could be implemented without a new parameter by
calling into Ceph using os_brick to get the new size of the volume.
This would make the LibvirtNetVolumeDriver Ceph specific.

This also extends the logic to get the device_path for extending volumes
in the libvirt driver. This is necessary as network volumes don't have
the device path in the connection_info. The device_path is retrieved by
matching the connection_info serial (= volume UUID) against all guest
disks.

Co-Authored-By: Jose Castro Leon <jose.castro.leon@cern.ch>

Blueprint: extend-in-use-rbd-volumes

Change-Id: I5698e451861828a8b1240d046d1610d8d37ca5a2
2019-03-06 16:37:57 +01:00
..
__init__.py libvirt: move volume/remotefs/quobyte modules under volume subdir 2015-07-28 17:46:05 -07:00
aoe.py Remove unused argument from LibvirtDriver._disconnect_volume 2017-12-17 07:12:04 +00:00
disco.py Remove unused argument from LibvirtDriver._disconnect_volume 2017-12-17 07:12:04 +00:00
drbd.py Remove unused argument from LibvirtDriver._disconnect_volume 2017-12-17 07:12:04 +00:00
fibrechannel.py Extend volume for libvirt network volumes (RBD) 2019-03-06 16:37:57 +01:00
fs.py Remove unused argument from LibvirtDriver._disconnect_volume 2017-12-17 07:12:04 +00:00
gpfs.py libvirt: convert GPFS volume driver to LibvirtBaseFileSystemVolumeDriver 2015-08-10 09:34:39 +00:00
hgst.py Remove unused argument from LibvirtDriver._disconnect_volume 2017-12-17 07:12:04 +00:00
iscsi.py Extend volume for libvirt network volumes (RBD) 2019-03-06 16:37:57 +01:00
iser.py Update libvirt volume drivers to use os-brick constants 2017-10-07 13:49:57 -05:00
mount.py Cleanup mount / umount and associated rmdir calls 2017-10-18 17:52:58 +11:00
net.py Extend volume for libvirt network volumes (RBD) 2019-03-06 16:37:57 +01:00
nfs.py Remove unused LOG variables 2018-02-27 11:19:48 +00:00
nvme.py Extend volume for libvirt network volumes (RBD) 2019-03-06 16:37:57 +01:00
quobyte.py Remove unused argument from LibvirtDriver._disconnect_volume 2017-12-17 07:12:04 +00:00
remotefs.py Remove duplicative implementation of temporary directories. 2018-03-28 11:12:31 +11:00
scaleio.py Extend volume for libvirt network volumes (RBD) 2019-03-06 16:37:57 +01:00
smbfs.py Remove unused argument from LibvirtDriver._disconnect_volume 2017-12-17 07:12:04 +00:00
storpool.py Extend volume for libvirt network volumes (RBD) 2019-03-06 16:37:57 +01:00
volume.py Extend volume for libvirt network volumes (RBD) 2019-03-06 16:37:57 +01:00
vrtshyperscale.py Remove unused argument from LibvirtDriver._disconnect_volume 2017-12-17 07:12:04 +00:00
vzstorage.py Remove unused argument from LibvirtDriver._disconnect_volume 2017-12-17 07:12:04 +00:00