[PATCH 0/7] KVM autotest refactor stage 1 v3

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



In order to maximize code reuse among different virtualization
technologies, refactor the KVM test code in a way that will allow
new implementations of virtualization testing, such as xen testing.

What was done
â Create autotest_lib.client.virt and move the libraries in there,
with some renaming and abstracting the KVM specific functions
â Create a dispatcher that can instantiate the appropriate vm class,
controlled by a new parameter 'vm_type'
(can be kvm, xen, futurely libvirt...)
â Make all the code use the new libraries
â Remove the 'old' libraries
â Make the KVM test loader to try finding the tests on a common
location, and if the test can't be found there, look for it on the
kvm subtest dir. This way other virt tests can benefit from thm
â Move the tests that have virt tech agnostic code to the common
location

This version incorporates bugfixes and suggestions from reviewers,
and hopefully will be very close to what will get upstream. My plan
is to shortly freeze the tree until we can get this in.

Lucas Meneghel Rodrigues (7):
  KVM test: Create autotest_lib.client.virt namespace
  KVM test: Move test utilities to client/tools
  KVM test: tests_base.cfg: Introduce parameter 'vm_type'
  KVM test: Adapt the test code to use the new virt namespace
  KVM test: Removing the old libraries and programs
  KVM test: Try to load subtests from a shared tests location
  KVM test: Moving generic tests to common tests area

 client/common_lib/cartesian_config.py              |  696 ++++++
 client/tests/kvm/build.cfg.sample                  |    2 +
 client/tests/kvm/cd_hash.py                        |   48 -
 client/tests/kvm/control                           |   18 +-
 client/tests/kvm/control.parallel                  |    8 +-
 client/tests/kvm/control.unittests                 |   14 +-
 client/tests/kvm/get_started.py                    |    5 +-
 client/tests/kvm/html_report.py                    | 1727 ---------------
 client/tests/kvm/installer.py                      |  838 -------
 client/tests/kvm/kvm.py                            |   32 +-
 client/tests/kvm/kvm_config.py                     |  698 ------
 client/tests/kvm/kvm_monitor.py                    |  763 -------
 client/tests/kvm/kvm_preprocessing.py              |  454 ----
 client/tests/kvm/kvm_scheduler.py                  |  229 --
 client/tests/kvm/kvm_subprocess.py                 | 1351 ------------
 client/tests/kvm/kvm_test_utils.py                 |  753 -------
 client/tests/kvm/kvm_utils.py                      | 2317 --------------------
 client/tests/kvm/kvm_vm.py                         | 1860 ----------------
 client/tests/kvm/migration_control.srv             |   12 +-
 client/tests/kvm/ppm_utils.py                      |  237 --
 client/tests/kvm/rss_file_transfer.py              |  519 -----
 client/tests/kvm/scan_results.py                   |   97 -
 client/tests/kvm/stepeditor.py                     | 1401 ------------
 client/tests/kvm/test_setup.py                     |  107 -
 client/tests/kvm/tests/autotest.py                 |   25 -
 client/tests/kvm/tests/balloon_check.py            |    2 +-
 client/tests/kvm/tests/boot.py                     |   26 -
 client/tests/kvm/tests/boot_savevm.py              |    2 +-
 client/tests/kvm/tests/build.py                    |    6 +-
 client/tests/kvm/tests/clock_getres.py             |   32 -
 client/tests/kvm/tests/enospc.py                   |    8 +-
 client/tests/kvm/tests/ethtool.py                  |  235 --
 client/tests/kvm/tests/file_transfer.py            |   83 -
 client/tests/kvm/tests/guest_s4.py                 |   76 -
 client/tests/kvm/tests/guest_test.py               |   80 -
 client/tests/kvm/tests/image_copy.py               |   45 -
 client/tests/kvm/tests/iofuzz.py                   |  136 --
 client/tests/kvm/tests/ioquit.py                   |   31 -
 client/tests/kvm/tests/iozone_windows.py           |   40 -
 client/tests/kvm/tests/jumbo.py                    |  127 --
 client/tests/kvm/tests/kdump.py                    |   75 -
 client/tests/kvm/tests/ksm_overcommit.py           |   37 +-
 client/tests/kvm/tests/linux_s3.py                 |   41 -
 client/tests/kvm/tests/mac_change.py               |   60 -
 client/tests/kvm/tests/migration.py                |    6 +-
 .../kvm/tests/migration_with_file_transfer.py      |    8 +-
 client/tests/kvm/tests/migration_with_reboot.py    |    4 +-
 client/tests/kvm/tests/module_probe.py             |    4 +-
 client/tests/kvm/tests/multicast.py                |   90 -
 client/tests/kvm/tests/netperf.py                  |  112 -
 client/tests/kvm/tests/nic_bonding.py              |    8 +-
 client/tests/kvm/tests/nic_hotplug.py              |   24 +-
 client/tests/kvm/tests/nic_promisc.py              |   39 -
 client/tests/kvm/tests/nicdriver_unload.py         |   62 -
 client/tests/kvm/tests/pci_hotplug.py              |   18 +-
 client/tests/kvm/tests/physical_resources_check.py |    2 +-
 client/tests/kvm/tests/ping.py                     |   73 -
 client/tests/kvm/tests/pxe.py                      |   30 -
 client/tests/kvm/tests/qemu_img.py                 |   22 +-
 client/tests/kvm/tests/qmp_basic.py                |    2 +-
 client/tests/kvm/tests/qmp_basic_rhel6.py          |    2 +-
 client/tests/kvm/tests/set_link.py                 |   16 +-
 client/tests/kvm/tests/shutdown.py                 |   43 -
 client/tests/kvm/tests/stepmaker.py                |   11 +-
 client/tests/kvm/tests/steps.py                    |    5 +-
 client/tests/kvm/tests/stress_boot.py              |   53 -
 client/tests/kvm/tests/timedrift.py                |   16 +-
 client/tests/kvm/tests/timedrift_with_migration.py |   10 +-
 client/tests/kvm/tests/timedrift_with_reboot.py    |   10 +-
 client/tests/kvm/tests/timedrift_with_stop.py      |   10 +-
 client/tests/kvm/tests/unattended_install.py       |   10 +-
 client/tests/kvm/tests/unittest.py                 |    6 +-
 client/tests/kvm/tests/virtio_console.py           |   30 +-
 client/tests/kvm/tests/vlan.py                     |  175 --
 client/tests/kvm/tests/vmstop.py                   |    6 +-
 client/tests/kvm/tests/whql_client_install.py      |  136 --
 client/tests/kvm/tests/whql_submission.py          |  275 ---
 client/tests/kvm/tests/yum_update.py               |   49 -
 client/tests/kvm/tests_base.cfg.sample             |    1 +
 client/tests/kvm/unittests.cfg.sample              |    1 +
 client/tools/cd_hash.py                            |   48 +
 client/tools/common.py                             |    8 +
 client/tools/html_report.py                        | 1727 +++++++++++++++
 client/tools/scan_results.py                       |   97 +
 client/virt/aexpect.py                             | 1351 ++++++++++++
 client/virt/common.py                              |    8 +
 client/virt/kvm_installer.py                       |  758 +++++++
 client/virt/kvm_monitor.py                         |  763 +++++++
 client/virt/kvm_vm.py                              | 1297 +++++++++++
 client/virt/ppm_utils.py                           |  237 ++
 client/virt/rss_client.py                          |  519 +++++
 client/virt/tests/autotest.py                      |   25 +
 client/virt/tests/boot.py                          |   26 +
 client/virt/tests/clock_getres.py                  |   32 +
 client/virt/tests/ethtool.py                       |  235 ++
 client/virt/tests/file_transfer.py                 |   84 +
 client/virt/tests/guest_s4.py                      |   76 +
 client/virt/tests/guest_test.py                    |   80 +
 client/virt/tests/image_copy.py                    |   45 +
 client/virt/tests/iofuzz.py                        |  136 ++
 client/virt/tests/ioquit.py                        |   31 +
 client/virt/tests/iozone_windows.py                |   40 +
 client/virt/tests/jumbo.py                         |  127 ++
 client/virt/tests/kdump.py                         |   75 +
 client/virt/tests/linux_s3.py                      |   41 +
 client/virt/tests/mac_change.py                    |   60 +
 client/virt/tests/multicast.py                     |   90 +
 client/virt/tests/netperf.py                       |  111 +
 client/virt/tests/nic_promisc.py                   |   39 +
 client/virt/tests/nicdriver_unload.py              |   63 +
 client/virt/tests/ping.py                          |   73 +
 client/virt/tests/pxe.py                           |   29 +
 client/virt/tests/shutdown.py                      |   43 +
 client/virt/tests/stress_boot.py                   |   53 +
 client/virt/tests/vlan.py                          |  175 ++
 client/virt/tests/whql_client_install.py           |  136 ++
 client/virt/tests/whql_submission.py               |  275 +++
 client/virt/tests/yum_update.py                    |   49 +
 client/virt/virt_env_process.py                    |  456 ++++
 client/virt/virt_installer.py                      |   40 +
 client/virt/virt_scheduler.py                      |  229 ++
 client/virt/virt_step_editor.py                    | 1401 ++++++++++++
 client/virt/virt_test_setup.py                     |  107 +
 client/virt/virt_test_utils.py                     |  754 +++++++
 client/virt/virt_utils.py                          | 2316 +++++++++++++++++++
 client/virt/virt_vm.py                             |  829 +++++++
 126 files changed, 16085 insertions(+), 15831 deletions(-)
 create mode 100755 client/common_lib/cartesian_config.py
 delete mode 100755 client/tests/kvm/cd_hash.py
 delete mode 100755 client/tests/kvm/html_report.py
 delete mode 100644 client/tests/kvm/installer.py
 delete mode 100755 client/tests/kvm/kvm_config.py
 delete mode 100644 client/tests/kvm/kvm_monitor.py
 delete mode 100644 client/tests/kvm/kvm_preprocessing.py
 delete mode 100644 client/tests/kvm/kvm_scheduler.py
 delete mode 100755 client/tests/kvm/kvm_subprocess.py
 delete mode 100644 client/tests/kvm/kvm_test_utils.py
 delete mode 100644 client/tests/kvm/kvm_utils.py
 delete mode 100755 client/tests/kvm/kvm_vm.py
 delete mode 100644 client/tests/kvm/ppm_utils.py
 delete mode 100755 client/tests/kvm/rss_file_transfer.py
 delete mode 100755 client/tests/kvm/scan_results.py
 delete mode 100755 client/tests/kvm/stepeditor.py
 delete mode 100644 client/tests/kvm/test_setup.py
 delete mode 100644 client/tests/kvm/tests/autotest.py
 delete mode 100644 client/tests/kvm/tests/boot.py
 delete mode 100644 client/tests/kvm/tests/clock_getres.py
 delete mode 100644 client/tests/kvm/tests/ethtool.py
 delete mode 100644 client/tests/kvm/tests/file_transfer.py
 delete mode 100644 client/tests/kvm/tests/guest_s4.py
 delete mode 100644 client/tests/kvm/tests/guest_test.py
 delete mode 100644 client/tests/kvm/tests/image_copy.py
 delete mode 100644 client/tests/kvm/tests/iofuzz.py
 delete mode 100644 client/tests/kvm/tests/ioquit.py
 delete mode 100644 client/tests/kvm/tests/iozone_windows.py
 delete mode 100644 client/tests/kvm/tests/jumbo.py
 delete mode 100644 client/tests/kvm/tests/kdump.py
 delete mode 100644 client/tests/kvm/tests/linux_s3.py
 delete mode 100644 client/tests/kvm/tests/mac_change.py
 delete mode 100644 client/tests/kvm/tests/multicast.py
 delete mode 100644 client/tests/kvm/tests/netperf.py
 delete mode 100644 client/tests/kvm/tests/nic_promisc.py
 delete mode 100644 client/tests/kvm/tests/nicdriver_unload.py
 delete mode 100644 client/tests/kvm/tests/ping.py
 delete mode 100644 client/tests/kvm/tests/pxe.py
 delete mode 100644 client/tests/kvm/tests/shutdown.py
 delete mode 100644 client/tests/kvm/tests/stress_boot.py
 delete mode 100644 client/tests/kvm/tests/vlan.py
 delete mode 100644 client/tests/kvm/tests/whql_client_install.py
 delete mode 100644 client/tests/kvm/tests/whql_submission.py
 delete mode 100644 client/tests/kvm/tests/yum_update.py
 create mode 100644 client/tools/__init__.py
 create mode 100755 client/tools/cd_hash.py
 create mode 100644 client/tools/common.py
 create mode 100755 client/tools/html_report.py
 create mode 100755 client/tools/scan_results.py
 create mode 100644 client/virt/__init__.py
 create mode 100755 client/virt/aexpect.py
 create mode 100644 client/virt/common.py
 create mode 100644 client/virt/kvm_installer.py
 create mode 100644 client/virt/kvm_monitor.py
 create mode 100755 client/virt/kvm_vm.py
 create mode 100644 client/virt/ppm_utils.py
 create mode 100755 client/virt/rss_client.py
 create mode 100644 client/virt/tests/autotest.py
 create mode 100644 client/virt/tests/boot.py
 create mode 100644 client/virt/tests/clock_getres.py
 create mode 100644 client/virt/tests/ethtool.py
 create mode 100644 client/virt/tests/file_transfer.py
 create mode 100644 client/virt/tests/guest_s4.py
 create mode 100644 client/virt/tests/guest_test.py
 create mode 100644 client/virt/tests/image_copy.py
 create mode 100644 client/virt/tests/iofuzz.py
 create mode 100644 client/virt/tests/ioquit.py
 create mode 100644 client/virt/tests/iozone_windows.py
 create mode 100644 client/virt/tests/jumbo.py
 create mode 100644 client/virt/tests/kdump.py
 create mode 100644 client/virt/tests/linux_s3.py
 create mode 100644 client/virt/tests/mac_change.py
 create mode 100644 client/virt/tests/multicast.py
 create mode 100644 client/virt/tests/netperf.py
 create mode 100644 client/virt/tests/nic_promisc.py
 create mode 100644 client/virt/tests/nicdriver_unload.py
 create mode 100644 client/virt/tests/ping.py
 create mode 100644 client/virt/tests/pxe.py
 create mode 100644 client/virt/tests/shutdown.py
 create mode 100644 client/virt/tests/stress_boot.py
 create mode 100644 client/virt/tests/vlan.py
 create mode 100644 client/virt/tests/whql_client_install.py
 create mode 100644 client/virt/tests/whql_submission.py
 create mode 100644 client/virt/tests/yum_update.py
 create mode 100644 client/virt/virt_env_process.py
 create mode 100644 client/virt/virt_installer.py
 create mode 100644 client/virt/virt_scheduler.py
 create mode 100755 client/virt/virt_step_editor.py
 create mode 100644 client/virt/virt_test_setup.py
 create mode 100644 client/virt/virt_test_utils.py
 create mode 100644 client/virt/virt_utils.py
 create mode 100755 client/virt/virt_vm.py

-- 
1.7.4.4

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux