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

[Xen-devel] [PATCH v4 6/9] 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.

The runvar difference with this patch applied is:

+freebsd-master build-amd64-freebsd       all_hostflags 
PropEq:Firmware:bios:bios
+freebsd-master build-amd64-freebsd-again all_hostflags 
PropEq:Firmware:bios:bios

Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>
Acked-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
---
Changes since v2:
 - Fix hosts flight to not require BIOS firmware.

Changes since v1:
 - Fix nonbreaking space.
 - Fix long line.
---
 make-flight       |  3 ++-
 make-hosts-flight |  2 +-
 mfi-common        | 16 ++++++++++++----
 3 files changed, 15 insertions(+), 6 deletions(-)

diff --git a/make-flight b/make-flight
index 0e63bc07..96c261b5 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/make-hosts-flight b/make-hosts-flight
index d5670857..f7422932 100755
--- a/make-hosts-flight
+++ b/make-hosts-flight
@@ -70,7 +70,7 @@ hosts_iterate () {
       xen|linux)
         local di_version=`getconfig_TftpDiVersion_suite $suite`
         local freebsd_runvars
-        set_freebsd_runvars
+        set_freebsd_runvars true
         runvars+=" 
                    kernkind=pvops
                    all_host_di_version=$di_version
diff --git a/mfi-common b/mfi-common
index 3038f713..9d1bfac7 100644
--- a/mfi-common
+++ b/mfi-common
@@ -155,27 +155,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®.