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

[Xen-devel] [OSSTest Nested v12 00/21] Introduction of netsted HVM test job

This patch set adds nested HVM test case for osstest.
In this test case, a Xen hypervisor (L1) runs on top of another Xen
hypervisor (L0). 
Upon L1 hypervisor, we will then create a nested guest (L2), and test
if the Linux guest can then be installed and run well.
About nested Xen virtualization, refer to

Test steps
        0. To run osstest in standalone mode, write a config file in
           '~/.xen-osstest/config', and then create a standalone.config file 
           to define 'TREE_LINUX', 'REVISION_LINUX' which will be used for
           nested test. The directory path of 'Debian ISO Images' which used
           for installing HVM guest VM could be defined in 
        1. run './standalone-reset' to generate standalone.db firstly then run 
           'build-amd64' job and then 'build-amd64-pvops', to prepare xen
           installation tarball and hvm guest kernel.
        2. run 'test-amd64-amd6-qemuu-nested' job, it does following:
                a. invoke test step of 'ts-debain-hvm-install' to install 
                   a normal HVM guest
                b. invoke test step of 'ts-nested-setup' to make some
                   appropriate runvars which selecthost() would recognise and
                   prepare the configurations for installing L2 guest VM.
                c. invoke 'nested-layer-descend' to manipulate
                   need_xen_host stack. 
                d. invoke test step of 'ts-debain-hvm-install' again, but 
                   take the L1 hypervisor as host, install the L2 guest on it
                e. invoke test step of 'ts-guest-stop', stop L2 guest.
                f. invoke test step of 'ts-guest-destroy' to destroy L1 guest.

This patch set reuse 'ts-debian-hvm-install' for both L1 installation
and L2 installation, use 'l1' as L1's guestname and identity 
and use 'l2' as L2's guestname.

This patch series has been tested on test machines of amd64 arch,
Debian-7.2.0-amd64 as guests OS, with hvm domain0 of Linux kernel
4.1.2, in standalone mode.
Also, we use linux-stable tree as domain0 kernel source.

Changes since v11:
1. Some refactor like format and code style, and a correction on grub
menu manipulation in v11.
2. Adopt Ian Jackson's patch in make job runner framework (tcl part)
accommodated to nested cases.
3. After Ian's runner framework change, some further accomodation
changes in other parts.

Ian Jackson (4):
  Tcl: Provide lunappend
  sg-run-job: Declare Tcl (for the benefit of Emacs)
  sg-run-job: Break out per-host-prep and per-host-finish
  sg-run-job: Provide infrastructure for layers of nesting

Robert Ho (17):
  Optimize and re-format previous code of 'submenu' parsing
  Correct a mistake in setboot_grup2() of Xen entry parsing pattern
  Allow runvars to specify guest disk and ram size (turning         
    previous values into defaults)
  Comment out CDROM entry in HVM guest VM
  Honour $xopts{ExtraConfig} and use it to enable nestedhvm
  Add new function of 'host_install_postboot_complete'
  Replace 'start osstest-confirm-booted' code by function
  Add new script to customize nested test configuration
  Wrapper and use core_dump_setup() for nested host and normal host to
    setup coredump sysctl
  Add test job for nest test case
  Integrate Ian J. code and small corrections.
  Add PDU power method for nested L1 and L2 guest
  Compose the main recipe of nested test job
  After Xen install, configure its xenbr0 interface as dhcp.
  Selecthost uses dynamic IP address if the host is not configured    
    static IP.
  Don't lvextend if actually no more space to extend
  await_tcp(): check_ip for each loop iteration

 Osstest/Debian.pm           | 12 ++++---
 Osstest/DhcpWatch/leases.pm |  2 +-
 Osstest/PDU/guest.pm        | 63 ++++++++++++++++++++++++++++++++++++
 Osstest/TestSupport.pm      | 59 ++++++++++++++++++++++++++-------
 make-flight                 | 29 +++++++++++++++++
 sg-run-job                  | 61 +++++++++++++++++++++++++++-------
 tcl/osstestlib.tcl          |  7 ++++
 ts-debian-hvm-install       | 27 +++++++++++++---
 ts-host-install             | 17 ++--------
 ts-nested-setup             | 79 +++++++++++++++++++++++++++++++++++++++++++++
 ts-xen-build-prep           |  3 +-
 ts-xen-install              |  5 +--
 12 files changed, 310 insertions(+), 54 deletions(-)
 create mode 100755 Osstest/PDU/guest.pm
 create mode 100755 ts-nested-setup


Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.