From mboxrd@z Thu Jan 1 00:00:00 1970 From: "longtao.pang" Subject: [OSSTEST Nested PATCH v9 0/9] Introduction of netsted HVM test job Date: Sat, 2 May 2015 14:28:09 +0800 Message-ID: <1430548098-5233-1-git-send-email-longtaox.pang@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xen.org Cc: wei.liu2@citrix.com, longtaox.pang@intel.com, Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com, robert.hu@intel.com List-Id: xen-devel@lists.xenproject.org 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 http://wiki.xenproject.org/wiki/Nested_Virtualization_in_Xen. 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 Images' could be defined in '~/.xen-osstest/config'. 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 test step of 'ts-xen-install' to install xen on the normal guest, alter it into a L1 hypervisor 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 'nestedl1' as L1's guestname and identity and use 'nestedl2 as L2's guestname. It also reuses 'ts-xen-install' with L1's identity 'nestedl1' input parameter to differentiate from L0 Xen installation. 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 3.18.5, in standalone mode. Also, we use linux-stable tree as domain0 kernel source. ---------------------------------------------------------------- longtao.pang (9): parsing grub which has 'submenu' primitive Changes to support '/boot' leading paths of kernel, xen, in grub Refactor installation of overlays for guest used Edit some APIs in TestSupport.pm for nested test Move the codes about memory size setting into prep() Changes on test step of Debian hvm guest install Add new script to customize nested test configuration Compose the main recipe of nested test job Add test job for nest test case Osstest/Debian.pm | 22 ++++++++++++---- Osstest/TestSupport.pm | 27 ++++++++++++-------- make-flight | 32 +++++++++++++++++++++++ sg-run-job | 11 ++++++++ ts-debian-hvm-install | 37 +++++++++++++++++---------- ts-nested-setup | 66 ++++++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 167 insertions(+), 28 deletions(-) create mode 100755 ts-nested-setup