From KVM
Revision as of 03:17, 21 January 2010 by Jasowang (Talk | contribs)

KVM-Autotest To-Do list

Framework

  • 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]
  • 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]
  • Integrate the following code into the framework:
#!/usr/bin/python
import sys, os, re, random, ctypes, time
tasks = sys.argv[1:]
threads = [int(t)
           for k in tasks
           for t in os.listdir('/proc/%s/task' % (k,))]
cpus = [int(c[3:])
        for c in os.listdir('/sys/devices/system/cpu')
        if re.match(r'cpu[0-9]+', c)]
rand = random.Random()
sched_setaffinity = ctypes.CDLL('libc.so.6').sched_setaffinity
while True:
    pid = rand.choice(threads)
    cpu = rand.choice(cpus)
    mask = 1 << cpu
    sched_setaffinity(ctypes.c_int(pid), ctypes.c_size_t(4), 
ctypes.byref(ctypes.c_int(mask)))
    try:
        time.sleep(0.01)
    except:
        break
  • get the serial console information (BeiJing QE)
  • Random generated macaddress and ifname (BeiJing QE)
  • Postcommand for qemu-img check (BeiJing QE)

Web Interface

  • Integrate Dror Russo's patches [Lucas]

Tests

Client Side Test

  • Find out how to use Autotest's netperf test with guests [Yolkfull]
  • If needed, write a netperf/iperf test [jasowang] [NEEDS MORE WORK]
  • cpu hotplug [Glauber]
  • pxe boot * net types [BeiJing QE]
  • qcow1, qcow2, vmdk, vhd
  • qcow2 internal snapshots
  • Further migration [BeiJing QE]
  • Multiple nics [BeiJing QE]
  • multiple disks [BeiJing QE]
  • 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 [jasowang]
  • 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)
  • Pass through NICs / VFs to guest [Yolkfull]
  • Different CPU flags support [BeiJing QE]
  • Integrate the kvm unit test into kvm-autoteset [BeiJing QE]
  • further vlan [BeiJing QE]
  • ethtool test [BeiJing QE]
  • Jumbo Frame test [BeiJing QE]
  • Promisc Mode Nic test [BeiJing QE]
  • Guest nic bonding test [BeiJing QE]
  • Nic driver load/unload test [BeiJing QE]
  • Ping test [BeiJing QE]
  • Multicast test [BeiJing QE]
  • Use private bridge and dnsmasq to do the unattended installation [BeiJing QE]
  • Passthrough the perf keys of run_autotest to autotest server [BeiJing QE]

Server Side Tests

  • Run netperf test between two guests [Yolkfull]
  • Migration with/without workload(dbench,lmbench etc) [Yolkfull] [Patch Sent,need review]
  • Register the virtual machine into autotest server and run benchmark through autotest server [BeiJing QE]

Misc

  • Add docstrings to all functions that still lack them, including the ones in stepmaker.py, stepeditor.py and kvm_tests.py [Michael]
  • Document the setupssh.iso and setuptelnet.iso creation procedures in the wiki
  • Rename all Windows ISOs currently used to their official MSDN names
  • 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]

Bugs