KVM-Autotest/TODO: Difference between revisions
From KVM
No edit summary |
(Mark a few items done) |
||
Line 6: | Line 6: | ||
* <s>Enable multiple user controlled port redirections (with -redir)</s> [Michael] [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> [Michael] [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 [Michael] | * <s>Support TAP networking with a user specified MAC address for each NIC</s> [Michael] [DONE] | ||
* <s>Add <tt>display</tt> parameter to enable user control of the QEMU display method (VNC/SDL/nographic)</s> [Michael] [DONE] | * <s>Add <tt>display</tt> parameter to enable user control of the QEMU display method (VNC/SDL/nographic)</s> [Michael] [DONE] | ||
* <s>Implement VM.clone() -- to be used by tests that need to add new VMs by themselves</s> [Michael] [DONE] | * <s>Implement VM.clone() -- to be used by tests that need to add new VMs by themselves</s> [Michael] [DONE] | ||
Line 12: | Line 12: | ||
* 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> [Michael] [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) [Michael] | * <s>Enable tests to modify a VM's params (while it's down)</s> [Michael] [DONE] | ||
* Make tests shorter by using small utility functions that fail a test and display a failure message [Michael] | * <s>Make tests shorter by using small utility functions that fail a test and display a failure message</s> [Michael] [DONE] | ||
* <s>Improve the stepmaker data naming system (e.g. name PPM files according to their MD5 sums)</s> [Michael] [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) | ||
Line 24: | Line 24: | ||
* <s>Implement <tt>include</tt> functionality in the config file parser</s> [Michael] [DONE] | * <s>Implement <tt>include</tt> functionality in the config file parser</s> [Michael] [DONE] | ||
* <s>Implement kvm_spawn.get_command_status_output() to make sending SSH commands easier</s> [Michael] [DONE] | * <s>Implement kvm_spawn.get_command_status_output() to make sending SSH commands easier</s> [Michael] [DONE] | ||
* Config file parser: enable selective modification of parameters based on regular expressions, e.g. mem.* ?= 256 [Michael] | * <s>Config file parser: enable selective modification of parameters based on regular expressions, e.g. mem.* ?= 256</s> [Michael] [DONE] | ||
* Support running user specified pre-job, post-job, pre-test and post-test scripts [Michael] | * <s>Support running user specified pre-job, post-job, pre-test and post-test scripts</s> [Michael] [DONE] | ||
* <s>Make Step Editor accept a filename command line argument</s> [Michael] [DONE] | * <s>Make Step Editor accept a filename command line argument</s> [Michael] [DONE] | ||
* <s>When running step files, detect frozen (stuck) guests even in the presence of a blinking cursor</s> [Michael] [DONE] | * <s>When running step files, detect frozen (stuck) guests even in the presence of a blinking cursor</s> [Michael] [DONE] | ||
* Support running tests in parallel with multiple queues for each host [Michael] | * Support running tests in parallel with multiple queues for each host [Michael] | ||
* Automatically convert PPM images in debug dirs to PNG format to save space [Michael] | * <s>Automatically convert PPM images in debug dirs to PNG format to save space</s> [Michael] [DONE] | ||
* Automatically assign a UUID to a VM (use the '-uuid' QEMU parameter). Once assigned, should be used in all dependent tests. [jasowang] | * <s>Automatically assign a UUID to a VM (use the '-uuid' QEMU parameter). Once assigned, should be used in all dependent tests.</s> [jasowang] [DONE] | ||
* Automatically assign a MAC address to a NIC. Once assigned, should be used in all dependent tests. [jasowang] | * <s>Automatically assign a MAC address to a NIC. Once assigned, should be used in all dependent tests.</s> [jasowang] [DONE] | ||
* <s>Allow run_bg to track a child process's stdin and stderr even after the parent process has exited; achieved by merging run_bg with kvm_spawn</s> [Michael] [DONE] | * <s>Allow run_bg to track a child process's stdin and stderr even after the parent process has exited; achieved by merging run_bg with kvm_spawn</s> [Michael] [DONE] | ||
Line 39: | Line 39: | ||
* Find out how to use Autotest's netperf test with guests [Yolkfull] | * Find out how to use Autotest's netperf test with guests [Yolkfull] | ||
* If needed, write a netperf/iperf test [jasowang] [NEEDS MORE WORK] | * If needed, write a netperf/iperf test [jasowang] [NEEDS MORE WORK] | ||
* Write a time drift test (pic/apic/pm_timer) | * <s>Write a time drift test (pic/apic/pm_timer)</s> [Michael] [DONE] | ||
* <s>Write a test which adds VMs until one of them becomes unresponsive, and records the maximum number of VMs successfully started</s> [Yolkfull] [ALREADY DONE] | * <s>Write a test which adds VMs until one of them becomes unresponsive, and records the maximum number of VMs successfully started</s> [Yolkfull] [ALREADY DONE] | ||
* cpu hotplug [Glauber] | * cpu hotplug [Glauber] | ||
Line 45: | Line 45: | ||
* pci block hot plug [Yolkfull] | * pci block hot plug [Yolkfull] | ||
* <s>s3 hibernation</s> [Gleb] [DONE] | * <s>s3 hibernation</s> [Gleb] [DONE] | ||
* tap networking [jasowang] | * <s>tap networking</s> [jasowang] [DONE] | ||
* pxe boot * net types [jasowang] | * pxe boot * net types [jasowang] | ||
* qcow1, qcow2, vmdk, vhd | * qcow1, qcow2, vmdk, vhd | ||
Line 71: | Line 71: | ||
* <s>Goal -- get accepted into upstream autotest</s> [DONE] | * <s>Goal -- get accepted into upstream autotest</s> [DONE] | ||
* Add docstrings to all functions that still lack them, including the ones in stepmaker.py, stepeditor.py and kvm_tests.py [Michael] | * 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] | * <s>Add module headers and docstrings</s> [Michael] [DONE] | ||
* 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 |
Revision as of 19:14, 13 August 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[Michael] [DONE]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] [DONE]- 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] [DONE]Make tests shorter by using small utility functions that fail a test and display a failure message[Michael] [DONE]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 shutting-down after every test) [Michael]
Implement include functionality in the config file parser[Michael] [DONE]Implement kvm_spawn.get_command_status_output() to make sending SSH commands easier[Michael] [DONE]Config file parser: enable selective modification of parameters based on regular expressions, e.g. mem.* ?= 256[Michael] [DONE]Support running user specified pre-job, post-job, pre-test and post-test scripts[Michael] [DONE]Make Step Editor accept a filename command line argument[Michael] [DONE]When running step files, detect frozen (stuck) guests even in the presence of a blinking cursor[Michael] [DONE]- Support running tests in parallel with multiple queues for each host [Michael]
Automatically convert PPM images in debug dirs to PNG format to save space[Michael] [DONE]Automatically assign a UUID to a VM (use the '-uuid' QEMU parameter). Once assigned, should be used in all dependent tests.[jasowang] [DONE]Automatically assign a MAC address to a NIC. Once assigned, should be used in all dependent tests.[jasowang] [DONE]Allow run_bg to track a child process's stdin and stderr even after the parent process has exited; achieved by merging run_bg with kvm_spawn[Michael] [DONE]
Tests
- Find out how to use Autotest's netperf test with guests [Yolkfull]
- If needed, write a netperf/iperf test [jasowang] [NEEDS MORE WORK]
Write a time drift test (pic/apic/pm_timer)[Michael] [DONE]Write a test which adds VMs until one of them becomes unresponsive, and records the maximum number of VMs successfully started[Yolkfull] [ALREADY DONE]- cpu hotplug [Glauber]
- pci net hot plug [Yolkfull]
- pci block hot plug [Yolkfull]
s3 hibernation[Gleb] [DONE]tap networking[jasowang] [DONE]- pxe boot * net types [jasowang]
- qcow1, qcow2, vmdk, vhd
- qcow2 internal snapshots
Run autotest tests inside Linux guest[Michael] [ALREADY DONE]- Further migration [jasowang]
- Multiple nics [jasowang]
- multiple disks
- ksm [jasowang, jzupka, ldoktor]
- -vga stg, nographics
- kvm unit-tests
- Add unattended guest installations (using kickstart or answer-files) [jasowang]
- 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)
- savevm test [jasowang]
- Guests with large page support [jzupka, ldoktor]
- Verify SMBIOS/DMI data (UUID, for example) [Yolkfull]
- Disk serial number (for IDE, SCSI, VirtIO drives) [Yolkfull]
- Test block device cancellation path using device mapper to generate errors ( after we had a crash in de_write_dma_cb)
Misc
Goal -- get accepted into upstream autotest[DONE]- 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] [DONE]- 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
Step Maker/Step Editor: fix the GDK MemoryError problem (do not pass gtk.gdk.pixbuf_new_from_data() a 0x0 pixmap even if a ppm file contains one)[DONE]