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

[Xen-devel] [PATCH v2 4/6] osstest: limit FreeBSD jobs to hardware booting in BIOS mode



There's no support yet in osstest to install FreeBSD from UEFI, so for
the time being limit the FreeBSD jobs to boxes booting with legacy
BIOS.

The hostflags are not set for examine jobs, in order to avoid them
from only running on BIOS boxes.

Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>
Acked-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
---
Note that this patch depends on Ian Jackson's resource allocation
series.
---
Changes since v1:
 - Fix nonbreaking space.
 - Fix long line.
---
 make-flight |  3 ++-
 mfi-common  | 16 ++++++++++++----
 2 files changed, 14 insertions(+), 5 deletions(-)

diff --git a/make-flight b/make-flight
index 4e2d464f..deb2276d 100755
--- a/make-flight
+++ b/make-flight
@@ -704,7 +704,8 @@ do_examine_one () {
   local freebsd_runvars
   # set_freebsd_runvars expects $arch to be set to the desired FreeBSD arch.
   local arch=$dom0arch
-  set_freebsd_runvars
+  # Pass true to not append any hostflags when creating the FreeBSD runvars.
+  set_freebsd_runvars true
   job_create_test test-$xenarch$kern-$dom0arch-examine \
                   host-examine-xen xl $xenarch $dom0arch \
                   all_hostflags=$most_hostflags $freebsd_runvars
diff --git a/mfi-common b/mfi-common
index 0e6cf01e..74645259 100644
--- a/mfi-common
+++ b/mfi-common
@@ -149,27 +149,35 @@ set_freebsd_runvars () {
     #
     # 4. Look for an anointed build of FreeBSD `master' (Executive only)
     #
+    local no_hostflags=$1
     local envvar="FREEBSD_${arch^^}_BUILDJOB"
+
+    if [ x$no_hostflags != xtrue ]; then
+        # osstest doesn't yet know how to install FreeBSD on UEFI hosts, so
+        # limit the usable hardware to boxes that boot from BIOS.
+        freebsd_runvars="all_hostflags,=PropEq:Firmware:bios:bios"
+    fi
+
     if [ -n "${!envvar}" ]; then
-        freebsd_runvars="freebsdbuildjob=${!envvar}"
+        freebsd_runvars="$freebsd_runvars freebsdbuildjob=${!envvar}"
         return
     fi
     if [ -n "$FREEBSD_DIST" ] && [ -n "$FREEBSD_VERSION" ]; then
-        freebsd_runvars="freebsd_distpath=$FREEBSD_DIST/$arch \
+        freebsd_runvars="$freebsd_runvars freebsd_distpath=$FREEBSD_DIST/$arch 
\
                          freebsd_version=$FREEBSD_VERSION"
         return
     fi
     local distpath=`getconfig "FreeBSDDist"`
     if [ -n "$distpath" ]; then
         local version=`getconfig "FreeBSDVersion"`
-        freebsd_runvars="freebsd_distpath=$distpath/$arch \
+        freebsd_runvars="$freebsd_runvars freebsd_distpath=$distpath/$arch \
                          freebsd_version=$version"
         return
     fi
     local anointment="freebsd build master $arch"
     local flightjob=`./mg-anoint retrieve --tolerate-unprepared "$anointment"`
     if [ -n "$flightjob" ]; then
-        freebsd_runvars="freebsdbuildjob=${flightjob/ /.}"
+        freebsd_runvars="$freebsd_runvars freebsdbuildjob=${flightjob/ /.}"
         return
     fi
 }
-- 
2.17.1


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

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