KVM-Autotest

From KVM
Revision as of 22:20, 28 April 2011 by Lmr (talk | contribs)

KVM-Autotest

The KVM-Autotest system is a client test for the autotest framework. Its main purpose is to serve as an automated regression testing tool for KVM developers, and for doing regular automated testing of KVM (provided you use it with the server testing infrastructure).

Autotest is a project that aims to provide tools and libraries to perform automated testing on the linux platform. KVM autotest is a subproject under the autotest umbrella. For more information on autotest, see http://autotest.kernel.org/. Autotest is a modular framework, and KVM autotest is nothing more than a submodule of the client module. Of course, for more complex testing we also use other parts of autotest, and for centralized tests, we deploy a full autotest infrastructure.

KVM autotest aims to be a centralizing project for most of the KVM functional and performance testing needs. We cover:

  • Guest OS install, for both Windows (WinXP - Win7) and Linux (RHEL, Fedora, OpenSUSE and others through step engine mechanism)
  • Serial output for Linux guests
  • Migration, networking, timedrift and other types of tests
  • Monitor control for both human and QMP protocols
  • Build and use qemu using various methods (source tarball, git repo, rpm)
  • Some level of performance testing can be made.
  • The KVM unit tests can be run comfortably from inside kvm autotest, we do have full integration with the unittest execution

We support x86_64 hosts with hardware virtualization support (AMD and intel), and intel 32 and 64 bits operating systems for the guests.

For an overview about KVM autotest, how this project was created, its goals, structure, and how to develop simple tests, you can refer to the KVM forum 2010 presentation, Slides

  • Adding New Step files - The default install mode for most guests now is the unattended install, but for some guests, we might need to use step based install. This explains how to do so.

  • TODO - TODO list, for those interested in helping.