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 == |
|
| |
|