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

[Xen-devel] [PATCH OSSTEST] Add basic PVH flights.



These are the usual PV debian flights with pvh=1 added to the
configuration file.

A job is created for each of Intel and AMD, although obviously AMD is
expected to fail at the moment.

In my testing I got:
    (XEN) Attempt to create a PVH guest on a system without necessary hardware 
support
because my test box happens to be AMD.

I have confirmed that the pvh=1 option is correctly present in the
guest cfg for the new pvh job, and that no pvh= is present at all in
the existing test-amd64-amd64-xl job (which is expected and desired if
no pvh runvar is present).

Beyond that I've not tested this at all I fully expect even Intel to
fail in the first instance, due to issues such as lack of necessary
kernel options etc. I suggest to take this now and iterate on any
further changes.

For a xen-unstable flight this results in these runvars:
$ ./mg-show-flight-runvars pvh| grep -- -pvh | sort
test-amd64-amd64-xl-pvh-amd               all_hostflags               
arch-amd64,arch-xen-amd64,suite-wheezy,purpose-test,hvm-amd
test-amd64-amd64-xl-pvh-amd               arch                        amd64
test-amd64-amd64-xl-pvh-amd               buildjob                    
build-amd64
test-amd64-amd64-xl-pvh-amd               debian_arch                 amd64
test-amd64-amd64-xl-pvh-amd               debian_kernkind             pvops
test-amd64-amd64-xl-pvh-amd               debian_pvh                  1
test-amd64-amd64-xl-pvh-amd               kernbuildjob                
build-amd64-pvops
test-amd64-amd64-xl-pvh-amd               kernkind                    pvops
test-amd64-amd64-xl-pvh-amd               toolstack                   xl
test-amd64-amd64-xl-pvh-amd               xenbuildjob                 
build-amd64
test-amd64-amd64-xl-pvh-intel             all_hostflags               
arch-amd64,arch-xen-amd64,suite-wheezy,purpose-test,hvm-intel
test-amd64-amd64-xl-pvh-intel             arch                        amd64
test-amd64-amd64-xl-pvh-intel             buildjob                    
build-amd64
test-amd64-amd64-xl-pvh-intel             debian_arch                 amd64
test-amd64-amd64-xl-pvh-intel             debian_kernkind             pvops
test-amd64-amd64-xl-pvh-intel             debian_pvh                  1
test-amd64-amd64-xl-pvh-intel             kernbuildjob                
build-amd64-pvops
test-amd64-amd64-xl-pvh-intel             kernkind                    pvops
test-amd64-amd64-xl-pvh-intel             toolstack                   xl
test-amd64-amd64-xl-pvh-intel             xenbuildjob                 
build-amd64

Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
---
 make-flight     | 23 +++++++++++++++++++++++
 ts-debian-fixup |  6 ++++++
 2 files changed, 29 insertions(+)

diff --git a/make-flight b/make-flight
index 9963a46..a91f256 100755
--- a/make-flight
+++ b/make-flight
@@ -309,6 +309,17 @@ test_matrix_do_one () {
   *)               test_xend=n ;;
   esac
 
+  # PVH tests for versions >= 4.5 only
+  case "$xenbranch" in
+  xen-3.*-testing) test_pvh=n ;;
+  xen-4.0-testing) test_pvh=n ;;
+  xen-4.1-testing) test_pvh=n ;;
+  xen-4.2-testing) test_pvh=n ;;
+  xen-4.3-testing) test_pvh=n ;;
+  xen-4.4-testing) test_pvh=n ;;
+  *)               test_pvh=y ;;
+  esac
+
   do_rumpkernel_tests
 
   # xend PV guest test on x86 only
@@ -364,6 +375,18 @@ test_matrix_do_one () {
 
   fi
 
+  if [ x$test_pvh = xy -a $xenarch = amd64 -a $dom0arch = amd64 ]; then
+
+    for cpuvendor in amd intel; do
+
+      job_create_test test-$xenarch$kern-$dom0arch-xl-pvh-$cpuvendor \
+                test-debian xl $xenarch $dom0arch \
+                debian_pvh=1 $debian_runvars \
+                all_hostflags=$most_hostflags,hvm-$cpuvendor
+
+    done
+
+  fi
   do_passthrough_tests
 }
 
diff --git a/ts-debian-fixup b/ts-debian-fixup
index f001418..00477c5 100755
--- a/ts-debian-fixup
+++ b/ts-debian-fixup
@@ -118,6 +118,12 @@ sub otherfixupcfg () {
     $cfg =~ s/^vcpus.*//mg;
     $cfg .= "\nvcpus = $vcpus\n";
 
+    my $pvh = guest_var($gho,'pvh',undef);
+    if ($pvh) {
+       $cfg =~ s/^pvh.*//mg;
+       $cfg .= "\npvh=$pvh\n";
+    }
+
     # PCI passthrough
     # Look for runvars   <gn>_pcipassthrough_<devtype>=<hostident>
     # and pass through all matching devices from the specified host.
-- 
2.1.1


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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