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 11: Line 11:
== Installing KVM and the virt tools ==
== Installing KVM and the virt tools ==


The minimum required versions are:
As root, do:


* qemu-kvm-1.0-11.fc17
  # yum install libvirt-daemon-kvm virt-manager
* ipxe-roms-qemu-20120328-1.gitaac9718.fc17
* libvirt-0.9.11-1.fc17
* libguestfs-tools-c-1.17.19-1.fc17
 
These are only available in the updates-testing repository. First make sure the rest of your system is fully updated
 
# yum update
 
Then pull in the extra pieces:
 
  # yum --enablerepo=updates-testing install libvirt-daemon-kvm virt-manager libguestfs-tools-c


After installation, check whether libvirtd is running:
After installation, check whether libvirtd is running:
Line 48: Line 37:
== Tests ==
== Tests ==


The four test cases which are described on this page should be repeated for each operating system.
Before start on the tests obtain the installation media for the operating to be tested, placing it in the following directory
/var/lib/libvirt/images/
The ISO image should be the primary '''install media''' for the OS in question, rather than the LiveCD media.
For example:
# cd /var/lib/libvirt/images
# wget http://mirror.bytemark.co.uk/fedora/linux/releases/16/Fedora/i386/iso/Fedora-16-i386-DVD.iso
To save some typing in the test cases, set an environment variable containing the base of the ISO image name
# export OSNAME=Fedora-16-i386-DVD
=== Test case 1: ISO media detection ===
The first test is to try to inspect the ISO media and see if libosinfo can identify the operating system. Use the 'osinfo-detect' command todo this
# osinfo-detect /path/to/iso/image
'''This test shall be considered successful if the above commands outputs the name of the operating system on the media'''
If this fails, file a bug report against the libosinfo component, providing the output of the following command as an attachment to the bug
# isoinfo -d -i /path/to/iso/image
For example a successful invocation on a Fedora 16 DVD looks like this:
# cd /var/lib/libvirt/images
# osinfo-detect $OSNAME.iso
Media is bootable.
Media is an installer for OS 'Fedora 16'
Even if this test fails, you can still proceed with the other three tests.
=== Test case 2: Installation ===
To install the guest operating system, we will use the command line virt-install tool. Feel free to use virt-manager instead, but be aware that you'll have less opportunity to tune things for rarer operating systems. For testing the basic configuration that is desired is
* 10 GB qcow2 disk
* 1 NIC connected to 'default' network (virbr0)
* Serial console
* 800 MB RAM (feel free to raise if the OS is known to need more)
Assuming the $OSNAME env variable is still set from earlier, the following command can be used:
  # virt-install --hvm --noreboot  --ram 800 --vnc --name $OSNAME \
                --network network=default \
                --disk path=/var/lib/libvirt/images/$OSNAME.raw,size=10 \
                --cdrom /var/lib/libvirt/images/$OSNAME.iso
For recent windows/linux guests, it is advisable to tell virt-install what the guest OS type is. Take the above command line and add in 2 more options:
  # virt-install ....previous args... --os-type linux --os-variant fedora16
See the ''virt-install(1)'' manual page for the full list of supported OS types.
When virt-install launches the guest, a virt-viewer window should appear allowing interaction with the guest OS. Run through the guest OS installer process.
'''This test shall be considered successful if the guest installation process completes without error, and the guest OS then shuts down.'''
Bad behaviour requiring bug reports include
* Installer kernel/OS hang
* Unsupported disk or NIC interface
* Disk / network I/O problems / errors
Essentially anything unusual as compared to installing the guest on bare metal.
Some OS may not support the default NIC or disk hardware. There are options for the --network and/or --disk options to virt-install to change the hardware, for example to switch from IDE to SCSI disks, or from e1000 to rtl8139 NICs.
File bugs against the 'virt-install' component if there was no '--os-variant' and the guest required custom hardware to successfully install. File bugs against 'qemu' in the event of any hangs/crashes/other wierd behaviour
If this test fails, skip the next two tests
=== Test case 3: Post-install ''first'' boot ===
Assuming a guest OS was successfully installed, it is time to try running it:
# virsh start $OSNAME
# virt-viewer $OSNAME
At the guest login prompt, login as the administrator and try to ping & connect to http://google.com
  # ping google.com
  # wget http://www.google.com  (or equivalent if you don't have wget)
'''This test shall be considered successful if the installed guest OS image booted & the administrator login was succesful'''
Be sure to check system logs for any unexpected error messages, and look out for things like unexpectedly slow disk/network I/O. File bugs against the "qemu" component if there were any problems
=== Test case 4: Disk image inspection ===
Assuming a guest OS was successfully installed, it is time to see if libguestfs can identify the disk image:
# virt-inspector /var/lib/libvirt/images/$OSNAME.qcow2
'''This test shall be considered successful if the above commands outputs an XML document containing an <operatingsystem> element and the following child elements'''
* <name>
* <distro>
* <arch>
* <major_version> + <minor_version>
* <format>installed</installer>
If any of this data is missing, file a bug report against the libguestfs component, providing details of the ISO image you used
== Reporting results ==
To keep the size of this page managable, results are to be reported on


* [[Test_Day:2012-04-12_Virtualization_Test_Day-GuestOS-Results]]
 
== Bugs ==
== Bugs ==


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)