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

[Xen-devel] [OSSTEST PATCH 2/2] make-flight: create the vNUMA HVM test job



as a variant of regular Debian HVM jobs.

For now, the vNUMA topology is just hardcoded
here, and it is 4 vCPUs and 2 vNUMA nodes. How
to split resources is left to the test
implementation (right now, it is just evenly
split them between the 2 virtual nodes).

Note that we do not yet support save/restore
and migration for vNUMA enabled guests, so
this test will fail (and in fact, it's added
to the non-blocking list).

Since I think we should, at some point, support
both, things are ok to be that way.

Signed-off-by: Dario Faggioli <dario.faggioli@xxxxxxxxxx>
---
Cc: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
Cc: Ian Campbell <ian.campbell@xxxxxxxxxx>
Cc: Wei Liu <wei.liu2@xxxxxxxxxx>
---
 allow.all   |    1 +
 make-flight |   36 ++++++++++++++++++++++++++++++++++--
 2 files changed, 35 insertions(+), 2 deletions(-)

diff --git a/allow.all b/allow.all
index 8060595..983b279 100644
--- a/allow.all
+++ b/allow.all
@@ -6,3 +6,4 @@ test-@@-libvirt@@
 test-@@-rumpuserxen@@          rumpuserxen-demo-xenstorels/xenstorels
 test-@@-win7-@@                        guest-stop
 test-@@-rumpuserxen-@@         rumpuserxen-demo-xenstorels/xenstorels.repeat
+test-@@-vnuma@@                 guest-saverestore
diff --git a/make-flight b/make-flight
index 70c909d..cc04e81 100755
--- a/make-flight
+++ b/make-flight
@@ -261,6 +261,7 @@ do_hvm_debian_test_one () {
   bios=$3
   xsm=$4 # 'false' or 'true'
   stubdom=$5 # '' (or unset) or 'true'
+  vnuma=$6 # '' (or unset) or 'true'
 
   local arch=$(branch_debianhvm_arch)
   local testvars
@@ -280,10 +281,17 @@ do_hvm_debian_test_one () {
       stubdom_runvar="debianhvm_stubdom=$stubdom"
   fi
 
-  job_create_test 
test-$xenarch$kern-$dom0arch-$toolstack$qemuu_suffix$stubdom_suffix-$testname-$arch\
+  vnuma_suffix=""
+  vnuma_runvars=""
+  if [ x$vnuma = xtrue ]; then
+      vnuma_suffix="-vnuma"
+      vnuma_runvars="guests_vcpus=4 guests_vnodes=2"
+  fi
+
+  job_create_test 
test-$xenarch$kern-$dom0arch-$toolstack$qemuu_suffix$stubdom_suffix-$testname$vnuma_suffix-$arch\
     test-debianhvm $toolstack $xenarch $dom0arch $qemuu_runvar \
     enable_xsm=$xsm                             \
-    $stubdom_runvar $testvars                   \
+    $stubdom_runvar $vnuma_runvars $testvars    \
     debianhvm_image=debian-7.2.0-$arch-CD-1.iso \
     debianhvm_iso_kernel=/$iso_dir/vmlinuz \
     debianhvm_iso_ramdisk=/$iso_dir/initrd.gz \
@@ -341,6 +349,14 @@ do_hvm_rhel6_tests () {
   done
 }
 
+do_hvm_vnuma_tests() {
+    # amd64 and qemu-usptream only is enough, as vNUMA shouldn't
+    # really be bitness or emulator dependant.
+    if [ $xenarch = amd64 -a $dom0arch = amd64 -a "x$qemuu_suffix" == 
"x-qemuu" ]; then
+      do_hvm_debian_test_one debianhvm xl seabios false false true
+    fi
+}
+
 do_credit2_tests () {
   if [ $xenarch != $dom0arch ]; then
     return
@@ -525,6 +541,18 @@ test_matrix_do_one () {
   *)               test_pvh=y ;;
   esac
 
+  # HVM vNUMA tests for versions >= 4.6 only
+  case "$xenbranch" in
+  xen-3.*-testing) test_hvm_vnuma=n ;;
+  xen-4.0-testing) test_hvm_vnuma=n ;;
+  xen-4.1-testing) test_hvm_vnuma=n ;;
+  xen-4.2-testing) test_hvm_vnuma=n ;;
+  xen-4.3-testing) test_hvm_vnuma=n ;;
+  xen-4.4-testing) test_hvm_vnuma=n ;;
+  xen-4.5-testing) test_hvm_vnuma=n ;;
+  *)               test_hvm_vnuma=y ;;
+  esac
+
   do_rumpkernel_tests
 
   # xend PV guest test on x86 only
@@ -571,6 +599,10 @@ test_matrix_do_one () {
 
     do_hvm_debian_tests
 
+    if [ x$test_hvm_vnuma = xy ]; then
+      do_hvm_vnuma_tests
+    fi
+
   done # qemuu_suffix
 
   # Test live migration


_______________________________________________
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®.