libguestfs is a set to virt tools and a library for viewing, editing and inspecting virtual machines and disk images. Some of the tools include guestfish, virt-df, virt-edit, virt-inspector, virt-rescue, virt-resize, virt-sparsify, virt-win-reg.
In Fedora 17, libguestfs 1.17.x will be available (upgraded from 1.10 in Fedora 15 and 1.16 in Fedora 16).
You will need a Fedora 17 machine. Having at least one guest will be very helpful.
You can test libguestfs inside an F17 virtual machine, but it will run a lot slower. For best performance, run the tests in F17 running on baremetal with VT extensions.
Installing libguestfs and the virt tools
As root, do:
# yum install libguestfs-tools
If you want to write libguestfs scripts or programs, install one of the language bindings, eg:
# yum install libguestfs-devel \ perl-Sys-Guestfs python-libguestfs \ ruby-libguestfs ocaml-libguestfs-devel
Check it's working by running this command (you don't need to be root):
This command will run some simple tests and eventually print out:
===== TEST FINISHED OK =====
If it doesn't print this out, or seems to fail for some other reason, please file a bug including the complete, unedited output.
Now check how fast the appliance gets created:
$ time guestfish -a /dev/null run
Run this a few times so the cache is "hot". Note that the first time you run it, it creates a cached appliance (in
/var/tmp/.guestfs-*) so that is much slower. As a typical guide, you should see times like:
- 3-6 seconds, on modern hardware with virtualization extensions and KVM enabled
- 30-60 seconds, in a VM
If you get times wildly outside these ranges, let us know, unless you're using an AMD Geode.
There is a good set of tests upstream, and rather than just copying them here, follow the link: http://libguestfs.org/guestfs-testing.1.html
If you find bugs, please file them using this link: https://bugzilla.redhat.com/enter_bug.cgi?component=libguestfs&product=Virtualization+Tools
IRC and mailing list
During the test day (2012-04-12) we will be on the #fedora-test-day IRC channel. The rest of the time, find us on #libguestfs (on FreeNode). There is also a mailing list.