Test Day:2009-09-17 Virtualization libguestfs
|Thursday Sep 17, 2009||All day||#fedora-test-day (webchat)|
What to test?
If you come to this page after the test day is completed, your testing is still valuable, and you can use the information on this page to test libguestfs and provide feedback.
Richard Jones is your host for today.
The following people have also agreed to be available for testing, workarounds, bug fixes, and general discussion:
- add your name here
What's needed to test
- A fully updated Fedora 12 Rawhide machine. See instructions on the main test day page. Note you can use a virtual machine for testing!
- (Optional) Existing virtual machine disk images.
How to test
Look at the Test Cases section below and run through them.
Add your comments below this in the Issues that were identified section, and/or file bugs in Bugzilla by following this link.
Things to test:
|Installation|| Install F12 (you can install it inside a virtual machine if you want, but it'll run a bit slower). Then:
yum install libguestfs guestfish perl-libguestfs \ virt-cat virt-df virt-inspector virt-v2v
If there are any installation errors or dependency problems, these are serious bugs and should be reported.
|Start up|| Does libguestfs start up? Firstly run this:
guestfish alloc /tmp/test.img 10M : run || echo failed
This should take a few seconds (perhaps up to a minute or two on a slow machine). It shouldn't print any error messages. You don't need to be root.
Edit: Although it "shouldn't print any error messages", if KVM is unavailable then you may see the following harmless warnings, and it'll also be a lot slower:
open /dev/kvm: No such file or directory Could not initialize KVM, will disable KVM support
If the short test above fails, please run:
If it doesn't print "== TEST FINISHED OK== " at the end, copy the complete, unedited output into a bug report, along with details of your test machine. You can also ask about problems in the IRC channel.
|Inspector|| If you have any existing virtual machine disk images around, then try running virt-inspector on them:
(Note you don't need to be root, but if the disk image isn't at least readable as non-root them you may need to chmod the image or become root). Does the output look sensible? Does it match the operating system you think is in the disk image? Are there any error messages?
|virt-df|| If you have any existing virtual machine disk images around, or the machine has libvirt guests, try running virt-df on them:
virt-df /path/to/disk.img virt-df
Does the output agree with the free/used space for that guest? Do you see any error messages?
|virt-cat|| If you have any existing virtual machine disk images around, or the machine has libvirt guests, try running virt-cat on them:
virt-cat guestname /etc/fstab virt-cat guestname /var/log/messages
virt-cat guestname /var/run/utmp > /tmp/utmp who /tmp/utmp
virt-cat mydomain /var/log/wtmp > /tmp/wtmp last -f /tmp/wtmp
Does the output agree with what is in the corresponding files in that guest? Do you see any error messages?
|Make image|| Choose a large tarball and construct a disk image from it.
You have to set the size of the disk image in advance, large enough to fit the tarball with some headroom. eg. If the tarball was 10 MB, you might choose a 14 MB image. So:
guestfish -x alloc output.img 14M : run : \ sfdiskM /dev/sda , : \ mkfs ext2 /dev/sda1 : \ mount /dev/sda1 / : \ tgz-in something.tar.gz /
That should produce an output file (output.img) which you can look at also with guestfish:
guestfish -a output.img -m /dev/sda1 ><fs> ls /
|virt-snapshot|| Snapshot, rollback and commit an existing virtual machine. Ensure the guest is shut down, then do:
Make some changes (including changing/adding/removing virtual hardware), shutdown the guest again, then do:
virt-snapshot --rollback <guest>
Check the guest is back in its original state. Shutdown, snapshot the guest again, make some more changes and shutdown again. Commit the changes with:
virt-snapshot --commit <guest>
Check the changes have persisted.
|virt-v2v|| If you have any Xen Fedora/RHEL guests around, copy them their images over to the test box and export their libvirt domain XML on the remote box with:
virsh dumpxml <guest> > <guest>.xml
Make sure you copy the images to the same location on the test box as they were in on the origin box. Alternatively do some path surgery on the domain xml. Create the following basic virt-v2v.conf:
If the guest has a PV kernel, obtain an FV kernel relevant to the target OS and add something like the following to your virt-v2v.conf:
[aliases] rhel.kernel-xen=kernel rhel.kernel-xenU=kernel fedora.kernel-xen=kernel fedora.kernel-xenU=kernel
See virt-v2v.conf(5) for more. Snapshot the images and convert them to run on KVM with:
virt-snapshot -o <guest>-snapshot.xml -i libvirtxml <guest>.xml virt-v2v -s virt-v2v.conf -i libvirtxml <guest>-snapshot.xml
Does the resulting guest boot? Does it give any errors on boot? Are the VirtIO drivers enabled? If anything looks wrong, please report any error messages, along with any config files in the guest which look broken.
|Advanced||If you have lots of time, try some of the guestfish recipes here:|
Thanks for your contribution to making Fedora better and less buggy!
Issues that were identified