Features/VirtTCK

= VirtTCK =

Summary
Provide a functional test suite for virtualization and report on hypervisor compatability

Owner

 * Name: Daniel Berrange
 * email: berrange@fedoraproject.org

Current status

 * Targeted release: Fedora 12
 * Last updated: 2009-08-05
 * Percentage of completion: 100%

Detailed Description
The libvirt management API provides drivers for a wide variety of virtualization platforms. Not all platforms have an equivalent level of support in libvirt. The libvirt TCK will provide a tool which will do functional testing of libvirt drivers. It will generate reports demonstrating the functionality available in Fedora for each supported libvirt driver. It will also quickly identify unexpected failures / regressions, allowing quality of virtualization platform in Fedora to be further improved prior to release of new RPMs.

Benefit to Fedora
Application developers will have a clear guide to the level of support in libvirt for each virtualization technology included in Fedora (QEMU/KVM, LXC (containers) and potentially a reappearance of Xen dom0).

Application developers will be able to determine the level of support for 3rd party virtualization technologies not included in the main Fedora repositories (OpenVZ, VirtualBox, etc)

The Fedora testing & virtualization teams will be able to verify correct operation of new packages in Fedora and thus avoid many regressions for users.

End users will see fewer regressions and bugs in the virtualization technologies.

Scope

 * libvirt-tck: extend coverage of its test suites [DONE]
 * libvirt-tck: do a formal release upstream [DONE]
 * libvirt-tck: submit package to Fedora for review & inclusion in repo [DONE] https://bugzilla.redhat.com/show_bug.cgi?id=513253
 * libvirt: fix whatever important bugs are identified in QEMU, Xen and LXC drivers (and any other drivers for virt technology shipped in Fedora repositories) [DONE]
 * qemu/xen: fix any low level bugs not fixable in libvirt itself. [DONE]

How To Test

 * Create a configuration file to determine which driver / functionality will be tested
 * Run the libvirt-tck command using this configuration
 * .....somehow..... determine regressions and file bugs for unexpected failures

NB. really need some report 'diff' tool to distinguish regressions, vs intentionally missing features

User Experience
Users of official Fedora virtualization technology will experience fewer bugs / regressions of functionality.

Dependencies

 * libvirt-tck: new RPM
 * libvirt, qemu, xen: fixes for bugs identified

Contingency Plan
This is a new testing framework, and no existing functionality will be impacted, so no contingency is required.

Documentation

 * Upstream project announcement http://www.mail-archive.com/libvir-list@redhat.com/msg12703.html (FWN#171)
 * Upstream source repository http://libvirt.org/hg/libvirt-tck

Release Notes
Fedora now includes the libvirt Technology Compatibility Kit (TCK), a functional test suite which provides detailed reports on functionality available for each libvirt driver and can be used to quickly identify failures or regressions in Fedora's virtualization features.

Comments and Discussion

 * See Talk:Features/VirtTCK