From Fedora Project Wiki

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 34: Line 34:
=== Test Cases ===
=== Test Cases ===


Things to test:
Things to test, roughly in dependency order:


{|
! Test !! Method
|-
| 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:
libguestfs-test-tool
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 [http://libguestfs.org/virt-inspector.1.html virt-inspector] on them:
virt-inspector /path/to/disk.img
(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 [http://libguestfs.org/virt-df.1.html 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 [http://libguestfs.org/virt-cat.1.html 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 (<i>output.img</i>) 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:
virt-snapshot <guest>
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:
[libvirtxml]
bridge.xenbr1=virbr0
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
[files]
rhel.5.kernel=/path/to/kernel.arch.el5.rpm
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:
http://libguestfs.org/recipes.html
|}
Thanks for your contribution to making Fedora better and less buggy!


=== Issues that were identified ===
=== Issues that were identified ===
Line 141: Line 47:
|}
|}


[[Category:Fedora_12_Test_Days]]
[[Category:Test Days]]
[[Category:Virtualization]]
[[Category:Virtualization]]
Please note that all contributions to Fedora Project Wiki are considered to be released under the Attribution-Share Alike 4.0 International (see Fedora Project Wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To edit this page, please solve the following task below and enter the answer in the box (more info):

Cancel Editing help (opens in new window)