Fedora Test Days | |
---|---|
Virtualization Test Day | |
Date | 2013-10-08 |
Time | all day |
Website | Virtualization |
IRC | #fedora-test-day |
Mailing list | virt |
What to test?
Today's installment of Fedora Test Day will focus on Virtualization in Fedora 20. Test cases will basic virtualization workflow, some cool functionality, as well as new features introduced in Fedora 20.
Who's available
The following cast of characters will be available for testing, workarounds, bug fixes, and general discussion.
- Cole Robinson (crobinso)
- Eric Blake (eblake on IRC)
- Kashyap Chamarthy (kashyap on IRC)
- Alexander Todorov (atodorov on IRC)
Known issues
Before you begin testing, there are a few known bugs that should be taken into account:
- libvirt managed save occasionally fails with 'unexpected migration status in setup': https://bugzilla.redhat.com/show_bug.cgi?id=1015636
- virt-manager doesn't correctly report 'current' VM CPUs: https://bugzilla.redhat.com/show_bug.cgi?id=1016318
- Selinux denial on the host when enabling multiqueue nic in the guest: https://bugzilla.redhat.com/show_bug.cgi?id=1016326
- 'groupinstall virtualization' needs additional 'yum install libvirt-daemon-config-network': https://bugzilla.redhat.com/show_bug.cgi?id=1016606
- virt-manager fails creating /root/.cache/virt-manager, if you hit issues create that director manually: https://bugzilla.redhat.com/show_bug.cgi?id=1016435
- libvirt generates conflicting pci address when adding qxl device: https://bugzilla.redhat.com/show_bug.cgi?id=1016775
What's needed to test
For starters, your physical machine should have:
- Hardware virtualization support (e.g. Intel VT or AMD-V) (see Is My Guest Using KVM?).
- Up to 10-20Gb free disk space. Guest images take up a lot of space.
- Get the packages with:
yum groupinstall virtualization
As for getting the latest virt packages, you have a few options:
Virt Test Day Live CD
There's a Fedora 20 live CD image that already has all the required virtualization packages installed (though you should still yum update
after booting). You will probably want a good amount of RAM if using this option (greater than 4G) since you'll be using RAM for both a VM and running the live OS.
- Get the image:
wget -c http://fedorapeople.org/groups/virt/virt-testday-2013-10-08.iso
- For Live CD or USB setup instructions, see: FedoraLiveCD#Download_and_Create_Live_image_or_Live_USB
- If you have a really beefy machine, you can probably run the Live CD in a VM using nested virtualization! (see instructions below)
- After booting the livecd, make sure to do a yum update to get all the latest packages
Fedora 20 on a physical machine
The preferred testing platform is a fully updated Fedora 20 machine. You have a few options for getting the Fedora 20 bits:
Install with CD/DVD
You can download the Fedora 20 Alpha in various formats here.
Upgrade from Fedora 19
- The supported way is using 'fedup': FedUp#How_Can_I_Upgrade_My_System_with_FedUp.3F You may also find the instructions in the fedup test case useful for using fedup to upgrade to a pre-release.
- Upgrade using 'yum': This method is not officially supported, but is very commonly used by developers. If you're a power user this is a possible option!
Run Fedora 20 in a VM with nested virtualization
Do you have a new machine with a ton of ram and storage space, running Fedora 19? Nested virt might be an option! This allows you to create KVM guests inside a Fedora 20 VM.
Use the virt-preview instructions below, install a guest using one of the install test cases, and follow the nested virt test case to finish the setup and verify things are working correctly.
Fedora 20 virt packages on Fedora 19
If you aren't ready to make the jump to Fedora 20, this is the next best thing! Run latest virt packages on Fedora 19 from the virt-preview repo:
http://fedoraproject.org/wiki/Virtualization_Preview_Repository
Areas to test
All these tests have an entry in the Test Results table, please record them there.
VM Install
If you don't already have a VM available, run through one of these test cases. A fully functioning VM is required for every other test case!
- Guest install via CDROM/ISO
- Guest install via URL
- Guest install via PXE (only if you have a pre-existing PXE setup)
- Import existing VM image (only if you have a pre-existing VM image)
Standard features
These are recurring tests of standard virt features, they ensure nothing obvious is broken.
- VM Lifecycle (start, stop, save, clone, delete, ...)
- VM serial console login
- Host USB device hotplug
- Enabling nested virtualization for a VM
- Live migration (steps included for doing this with a single physical host)
- Host PCI device assignment
- Change CDROM media for running VM
- Spice features: copy/paste, drag/drop, USB redirection
New features
New or improved features in Fedora 20:
- Virt ACLs
- Import ARM guest on your x86 machine and manage with virt-manager/libvirt
- Snapshot UI in virt-manager
- VM CPU hotplug
- Enable multiqueue virtio networking
Extra tests
These tests aren't listed in the 'test results' table, but consider giving them a spin and reporting any issues on IRC or bugzilla.
OpenVZ
libguestfs and tools
You will need Fedora 20 (host) and at least one guest (but the more the merrier).
Install libguestfs: # yum install '*guestf*'
and run through the tests here: http://libguestfs.org/guestfs-testing.1.html
Previous test cases
Some test cases used in previous test days. Still useful to test for regressions!
Fedora 19 features:
- Virtio RNG (Random Number Generator)
- Live migration without shared storage (steps included for doing this with a single physical host)
- Host PCI device assignment using VFIO
Fedora 18 features:
- Live VM disk backup
- VM suspend/hibernate
- VM sandboxing w/ syscall filters
- VM IO throttling
- VM PV EOI performance optimization
- USB3 device passthrough
Misc tests:
All tests:
Debugging
Test Results
VM Install
User | Hardware | Guest Install via CDROM | Guest Install via url | PXE Install | Import VM | References |
---|---|---|---|---|---|---|
mrezanin | HP Z400 | |||||
Skip_Wyatt | Dell PowerEdge 2950 |
| ||||
Jorge_Fabregas | Dell_Optiplex_790 (F19 with Preview Repo) | [long 1] | ||||
atodorov | IBM LS22 Blade | [2][4] | ||||
atodorov | IBM LS22 Blade qemu-kvm-1.6.0-9.fc20.x86_64 libvirt-daemon-kvm-1.1.3-2.fc20.x86_64 | |||||
hhuang | Lenovo T500 |
| ||||
dustymabe | Nested Virt - F19(L0) F20(L1) F20(L2) | [long 3] | ||||
bsd | Dell Poweredge M620 | |||||
zbyszek | ASUSTeK COMPUTER INC. Z9PE-D16 Series | |||||
Tadej | HP EliteBook 8530p | [2] | [long 4] | |||
rhn-support-jrodrigu | Lenovo T430s |
Standard Features
User | Hardware | VM Lifecycle | VM Serial console login | Host USB device hotplug | Nested Virt | Live Migration | Host PCI device assignment | Change CDROM media for running VM | Spice features | References |
---|---|---|---|---|---|---|---|---|---|---|
mrezanin | HP Z400 | [2] | ||||||||
Jorge_Fabregas | Dell_Optiplex_790 (F19 with Preview Repo) | |||||||||
atodorov | IBM LS22 Blade qemu-kvm-1.6.0-9.fc20.x86_64 libvirt-daemon-kvm-1.1.3-2.fc20.x86_64 | [3] | ||||||||
dustymabe | Nested Virt - F19(L0) F20(L1) F20(L2) | |||||||||
bsd | Dell Poweredge M620 |
| ||||||||
zbyszek | ASUSTeK COMPUTER INC. Z9PE-D16 Series | [3] | ||||||||
Tadej | HP EliteBook 8530p | [long 11] | [3] | |||||||
rhn-support-jrodrigu | Lenovo T430s |
New Features
User | Hardware | Virt ACLs | ARM on x86 | Snapshot UI | CPU Hotplug | Mulitiqueue NIC | References |
---|---|---|---|---|---|---|---|
mrezanin | HP Z400 | ||||||
Jorge_Fabregas | Dell_Optiplex_790 (F19 with Preview Repo) |
| |||||
atodorov | IBM LS22 Blade qemu-kvm-1.6.0-9.fc20.x86_64 libvirt-daemon-kvm-1.1.3-2.fc20.x86_64 | [3] | |||||
bsd | Dell Poweredge M620 |
| |||||
Tadej | HP EliteBook 8530p |
Long comments
- ↑ Encountered the issue described in this bug ("Nothing Selected" in Software Selection). The workaround mentioned solved the issue. After that, I was able to start installation but while I was creating a user the installation aborted (error populatint transaction: failure: ntfsprogs...). Could be network issue.
- ↑ # F20 iso image was attached to cdrom of L1 guest
- Following command was run to create and install L2 guest
- ↑ PXE and network components worked fine (used virt-install --pxe...). Only issue came at the end of install when I had to force reboot the guest. This may be a result of my odd nested virt setup.
- ↑ After working around the first bug, I didn't manage to install via URL due to mirror problems (a needed several retries to get the initial image, later anaconda failed in the middle of install due to a missing rpm package).
- ↑ After installing Fedora-20-Beta-TC2-x86_64-DVD.iso, I can't see the mouse pointer on the Desktop (this VM was installed with virt-install ...--os-variant fedora20)
- ↑ Found out that once you open the console thru virt-manager...no matter if you close the viewer window you can't use the virsh line. You have to close virt-manager completely in order to use virsh console...
- ↑ It worked thru virt-manager. With "virsh console test-day-vm" I received: Connected to domain test-day-vm Escape character is ^] error: operation failed: Active console session exists for this domain This was using Fedora-20-Beta-TC2-x86_64-DVD.iso
- ↑ It worked thru virt-manager. With "virsh console test-day-vm" I received: Connected to domain test-day-vm Escape character is ^] error: operation failed: Active console session exists for this domain
- ↑ Install guest with --os-variant fedora20 and verified guest xml has serial console device and can login using virsh console and virt-manager.
- ↑ Launched L1 using virt-manager (CPU copy host). Verified that qemu on host has -cpu SandyBridge,+pdpe1gb,+osxsave,+dca,+pcid,+pdcm,+xtpr,+tm2,+est,+smx,+vmx,+ds_cpl,+monitor,+dtes64,+pbe,+tm,+ht,+ss,+acpi,+ds,+vme. Inside guest, cpuinfo shows SandyBridge but no vmx flags found.
- ↑ Same thing as observed by atodorov. However, if I manually add the Console Device via "Add Hardware" option, I get a working console in virt-manager. 'virsh console vm-name' still doesn't work though.
- ↑ Error saving domain: internal error: unexpected migration status in setup Traceback (most recent call last): File "/usr/share/virt-manager/virtManager/asyncjob.py", line 91, in cb_wrapper callback(asyncjob, *args, **kwargs) File "/usr/share/virt-manager/virtManager/engine.py", line 918, in cb vm.save(path, meter=asyncjob.get_meter()) File "/usr/share/virt-manager/virtManager/domain.py", line 1309, in save self._backend.managedSave(0) File "/usr/lib64/python2.7/site-packages/libvirt.py", line 911, in managedSave if ret == -1: raise libvirtError ('virDomainManagedSave() failed', dom=self) libvirtError: internal error: unexpected migration status in setup
- ↑ Finally I have been able to add a virtio console and it works fine from virt-manager. From command line I have been able to connect but login didn't appear and I haven't been able to login.
- ↑ My Guest didn't have a virtio console. After add it guest doesn't start and in /var/log/libvirt/qemu/fedora20.log I have: ... Warning: option deprecated, use lost_tick_policy property of kvm-pit instead. char device redirected to /dev/pts/2 (label charserial0) char device redirected to /dev/pts/3 (label charconsole1) Failed to allocate 1073741824 B: Cannot allocate memory 2013-10-09 13:33:50.918+0000: shutting down
- ↑ I have been able to attach USB pen-drive from my Lenovo to my first Fedora 20 VM. When I try to attach this pen-drive to my nested Fedora 20 nested VM I receive this error: Path '/dev/bus/usb/000/000' is not accessible: No such file or directory Traceback (most recent call last): File "/usr/share/virt-manager/virtManager/addhardware.py", line 1261, in add_device self.vm.attach_device(self._dev) File "/usr/share/virt-manager/virtManager/domain.py", line 851, in attach_device self._backend.attachDevice(devxml) File "/usr/lib64/python2.7/site-packages/libvirt.py", line 429, in attachDevice if ret == -1: raise libvirtError ('virDomainAttachDevice() failed', dom=self) libvirtError: Path '/dev/bus/usb/000/000' is not accessible: No such file or directory It says that it's possible to see the attached pen-drive in next reboot but after rebooting it's no possible to see it.