From 68b5d52999cb1c800467387a834d87b9339d4e3c Mon Sep 17 00:00:00 2001 From: Roger Pau Monne Date: Wed, 4 Jul 2018 18:06:17 +0200 Subject: [PATCH] osstest: limit FreeBSD jobs to hardware booting in BIOS mode MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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é Acked-by: Ian Jackson --- 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 0e63bc0..96c261b 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 d567085..f742293 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 3038f71..9d1bfac 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.39.5