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 | * <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 09: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?