KVM-Autotest/TODO: Difference between revisions

From KVM
(Mark 1 item done)
(Take a few to-do items to myself so nobody works on them in parallel. Also add my name to done ones so people know where to send complaints.)
Line 3: Line 3:
== Framework ==
== Framework ==


* <s>Verify MD5 sum of ISO image before starting a VM</s> [DONE]
* <s>Verify MD5 sum of ISO image before starting a VM</s> [Michael] [DONE]
* <s>Enable multiple user controlled port redirections (with -redir)</s> [DONE]
* <s>Enable multiple user controlled port redirections (with -redir)</s> [Michael] [DONE]
* <s>Implement functions to translate VM ports and addresses (e.g. VM.get_port(), VM.get_address())</s> [DONE]
* <s>Implement functions to translate VM ports and addresses (e.g. VM.get_port(), VM.get_address())</s> [Michael] [DONE]
* Support TAP networking with a user specified MAC address for each NIC
* Support TAP networking with a user specified MAC address for each NIC
* <s>Add <tt>display</tt> parameter to enable user control of the QEMU display method (VNC/SDL/nographic)</s> [DONE]
* <s>Add <tt>display</tt> parameter to enable user control of the QEMU display method (VNC/SDL/nographic)</s> [Michael] [DONE]
* Implement VM.clone() -- to be used by tests that need to add new VMs by themselves
* Implement VM.clone() -- to be used by tests that need to add new VMs by themselves [Michael]
* kickstart installation support
* kickstart installation support
* kvm-autotest auto resolve qemu-kvm backtraces
* kvm-autotest auto resolve qemu-kvm backtraces
* <s>Make sure ppm_utils.image_crop() handles bad input properly</s> [DONE]
* <s>Make sure ppm_utils.image_crop() handles bad input properly</s> [Michael] [DONE]
* Enable tests to modify a VM's params (while it's down)
* Enable tests to modify a VM's params (while it's down) [Michael]
* Make tests shorter by using small utility functions that fail a test and display a failure message
* Make tests shorter by using small utility functions that fail a test and display a failure message [Michael]
* <s>Improve the stepmaker data naming system (e.g. name PPM files according to their MD5 sums)</s> [DONE]
* <s>Improve the stepmaker data naming system (e.g. name PPM files according to their MD5 sums)</s> [Michael] [DONE]
* Redirect guest monitor to serial and capture guest error messages written to console. Log the errors and also scan for specific problems (e.g. oops)
* Redirect guest monitor to serial and capture guest error messages written to console. Log the errors and also scan for specific problems (e.g. oops)
* Support an "expected to fail" param (at least in our html report)
* Support an "expected to fail" param (at least in our html report)
* Log a gdb-backtrace for tests (executables) which generate a core dump file.
* Log a gdb-backtrace for tests (executables) which generate a core dump file.
* Enable "guest-load" for a VMs before/while tests are running (e.g. migration of a VM, while a movie is playing on it)
* Enable "guest-load" for a VMs before/while tests are running (e.g. migration of a VM, while a movie is playing on it) [Michael]
* Add support for kvm-trace.
* Add support for kvm-trace.
* Fail upon indentation/white-space problems in the configuration file
* Fail upon indentation/white-space problems in the configuration file
* Add a way to shutdown the VMs when the whole job completes (compared to doing nothing or shuting-down after every test).
* Add a way to shutdown the VMs when the whole job completes (compared to doing nothing or shuting-down after every test). [Michael]
* <s>Implement <tt>include</tt> functionality in the config file parser</s> [DONE]
* <s>Implement <tt>include</tt> functionality in the config file parser</s> [Michael] [DONE]




Line 34: Line 34:
* pci net hot plug -Glauber
* pci net hot plug -Glauber
* pci block hot plug -Glauber
* pci block hot plug -Glauber
* <s>s3 hibernation - Gleb</s> [DONE]
* <s>s3 hibernation</s> [Gleb] [DONE]
* tap networking
* tap networking
* pxe boot * net types
* pxe boot * net types
* qcow1, qcow2, vmdk, vhd
* qcow1, qcow2, vmdk, vhd
* qcow2 internal snapshots
* qcow2 internal snapshots
* <s>Run autotest tests inside Linux guest</s> [ALREADY DONE]
* <s>Run autotest tests inside Linux guest</s> [Michael] [ALREADY DONE]
* Further migration
* Further migration
* Multiple nics
* Multiple nics
Line 53: Line 53:


* Goal -- get accepted into upstream autotest
* Goal -- get accepted into upstream autotest
* Add docstrings to all functions that still lack them, including the ones in stepmaker.py, stepeditor.py and kvm_tests.py
* Add docstrings to all functions that still lack them, including the ones in stepmaker.py, stepeditor.py and kvm_tests.py [Michael]
* Add module headers and docstrings
* Add module headers and docstrings [Michael]
* Document the setupssh.iso and setuptelnet.iso creation procedures in the wiki
* Document the setupssh.iso and setuptelnet.iso creation procedures in the wiki
* Rename all Windows ISOs currently used to their official MSDN names
* Rename all Windows ISOs currently used to their official MSDN names
* <s>Move Windows-setup iso images into the windows directory.</s> [DONE]
* <s>Move Windows-setup iso images into the windows directory.</s> [DONE]
* Share all the stepmaker data somehow so other people can debug stepfiles
* Share all the stepmaker data somehow so other people can debug stepfiles
* Fill the sections "Working with step files" and "Step file creation tips" in the wiki
* Fill the sections "Working with step files" and "Step file creation tips" in the wiki [Michael]
* Document the kvm_install test in the "Tests" section of the wiki
* Document the kvm_install test in the "Tests" section of the wiki



Revision as of 10:05, 1 April 2009

KVM-Autotest To-Do list

Framework

  • Verify MD5 sum of ISO image before starting a VM [Michael] [DONE]
  • Enable multiple user controlled port redirections (with -redir) [Michael] [DONE]
  • Implement functions to translate VM ports and addresses (e.g. VM.get_port(), VM.get_address()) [Michael] [DONE]
  • Support TAP networking with a user specified MAC address for each NIC
  • Add display parameter to enable user control of the QEMU display method (VNC/SDL/nographic) [Michael] [DONE]
  • Implement VM.clone() -- to be used by tests that need to add new VMs by themselves [Michael]
  • kickstart installation support
  • kvm-autotest auto resolve qemu-kvm backtraces
  • Make sure ppm_utils.image_crop() handles bad input properly [Michael] [DONE]
  • Enable tests to modify a VM's params (while it's down) [Michael]
  • Make tests shorter by using small utility functions that fail a test and display a failure message [Michael]
  • Improve the stepmaker data naming system (e.g. name PPM files according to their MD5 sums) [Michael] [DONE]
  • Redirect guest monitor to serial and capture guest error messages written to console. Log the errors and also scan for specific problems (e.g. oops)
  • Support an "expected to fail" param (at least in our html report)
  • Log a gdb-backtrace for tests (executables) which generate a core dump file.
  • Enable "guest-load" for a VMs before/while tests are running (e.g. migration of a VM, while a movie is playing on it) [Michael]
  • Add support for kvm-trace.
  • Fail upon indentation/white-space problems in the configuration file
  • Add a way to shutdown the VMs when the whole job completes (compared to doing nothing or shuting-down after every test). [Michael]
  • Implement include functionality in the config file parser [Michael] [DONE]


Tests

  • Find out how to use Autotest's netperf test with guests
  • If needed, write a netperf/iperf test
  • Write a time drift test (pic/apic/pm_timer)
  • Write a test which adds VMs until one of them becomes unresponsive, and records the maximum number of VMs successfully started.
  • cpu hotplug - Glauber
  • pci net hot plug -Glauber
  • pci block hot plug -Glauber
  • s3 hibernation [Gleb] [DONE]
  • tap networking
  • pxe boot * net types
  • qcow1, qcow2, vmdk, vhd
  • qcow2 internal snapshots
  • Run autotest tests inside Linux guest [Michael] [ALREADY DONE]
  • Further migration
  • Multiple nics
  • ksm
  • -vga stg, nographics
  • kvm unit-tests
  • Add unattended guest installations (using kickstart or answer-files)
  • kvm_install -- keep src and build directories under <kvm_autotest_root> instead of under kvm_runtest_2.
  • Stable tsc test - http://people.redhat.com/mingo/time-warp-test/MINI-HOWTO
  • Guest installation with pv-block device/driver (for both windows and Linux)

Misc

  • Goal -- get accepted into upstream autotest
  • Add docstrings to all functions that still lack them, including the ones in stepmaker.py, stepeditor.py and kvm_tests.py [Michael]
  • Add module headers and docstrings [Michael]
  • Document the setupssh.iso and setuptelnet.iso creation procedures in the wiki
  • Rename all Windows ISOs currently used to their official MSDN names
  • Move Windows-setup iso images into the windows directory. [DONE]
  • Share all the stepmaker data somehow so other people can debug stepfiles
  • Fill the sections "Working with step files" and "Step file creation tips" in the wiki [Michael]
  • Document the kvm_install test in the "Tests" section of the wiki


Bugs

None so far?