Code Review

Bug#898257 support handling images with libguestfs 94/1994/7
authorPádraig Brady <pbrady@redhat.com>
Wed, 30 Nov 2011 17:00:17 +0000 (17:00 +0000)
committerPádraig Brady <P@draigBrady.com>
Sun, 11 Dec 2011 22:56:11 +0000 (22:56 +0000)
commit66348596e8b4f7ac13f7b374d4329f1179ab5796
treea6a9cf2c62e4fd58e32492d20c8c8980a17e5f96
parentf97c6652cf0b8df64ac76b125dcbff413199f914
Bug#898257 support handling images with libguestfs

http://libguestfs.org/ provides both utilities and libraries
to manipulate image files containing various operating systems.
It supports various image file formats and so will expand
the formats and guest types supported by openstack.
It does have extra overhead in that it starts a VM to
access the image. This has both advantages and disadvantages.
Also qemu-nbd is not supported on some systems like RHEL 6.

* nova/virt/disk/base.py (img_handlers): Add guestfs to the default
list of access methods to try, to act as a fallback.
* nova/virt/disk/guestfs.py: A new plugin class to provide support
for libguestfs mounting.
Note we use the guestmount utility, as a non root user,
so the user will need the ability to use fusermount, which
is often provided by being a member of the 'fuser' group.
In future we might use the guestfs python module to give
greater granularity of control over the image.

Change-Id: I2e22c9d149fff7a73cd8cebaa280d68d3fb9096c
nova/rootwrap/compute.py
nova/virt/disk/base.py
nova/virt/disk/guestfs.py [new file with mode: 0644]