All of lore.kernel.org
 help / color / mirror / Atom feed
* [Xen-devel] [OSSTEST PATCH 41/62] ts-debian-fixup: Use debian_overlays_fixup_cmd
From: Ian Jackson @ 2019-04-10 14:23 UTC (permalink / raw)
  To: xen-devel; +Cc: Ian Jackson
In-Reply-To: <20190410142408.22848-1-ian.jackson@eu.citrix.com>

Otherwise we get the same error for guests as was prevented for hosts
by "preseed_base: chmod ssh host private keys to placate sshd".

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 ts-debian-fixup | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/ts-debian-fixup b/ts-debian-fixup
index 0e553d47..7d9d0398 100755
--- a/ts-debian-fixup
+++ b/ts-debian-fixup
@@ -206,7 +206,12 @@ savecfg();
 ether();
 target_kernkind_check($gho);
 access();
+
 debian_overlays($ho, \&overlay);
+target_cmd_root($ho, <<END.debian_overlays_fixup_cmd($ho, $mountpoint));
+set -ex
+END
+
 console();
 filesystems();
 otherfixupcfg();
-- 
2.11.0


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

^ permalink raw reply related

* [OSSTEST PATCH 07/62] ts-leak-check: suppress systemd-shim, which leaks in stretch
From: Ian Jackson @ 2019-04-10 14:23 UTC (permalink / raw)
  To: xen-devel; +Cc: Wei Liu
In-Reply-To: <20190410142408.22848-1-ian.jackson@eu.citrix.com>

From: Wei Liu <wei.liu2@citrix.com>

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 ts-leak-check | 1 +
 1 file changed, 1 insertion(+)

diff --git a/ts-leak-check b/ts-leak-check
index 678d0696..41e6245d 100755
--- a/ts-leak-check
+++ b/ts-leak-check
@@ -202,6 +202,7 @@ xenstore /vm
 xenstore /libxl
 
 process .* udevd
+process .* /.+/systemd-shim
 
 file /var/run/xenstored/db
 file /var/run/xenstored/db.debug
-- 
2.11.0


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

^ permalink raw reply related

* [Xen-devel] [OSSTEST PATCH 42/62] preseed_hook_command: allow specifying di keys other than preseed/*
From: Ian Jackson @ 2019-04-10 14:23 UTC (permalink / raw)
  To: xen-devel; +Cc: Ian Jackson
In-Reply-To: <20190410142408.22848-1-ian.jackson@eu.citrix.com>

Ie, only add preseed/ if there is not already a slash.

No functional change with existing call sites other than urls and
temporary filenames.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 Osstest/Debian.pm | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/Osstest/Debian.pm b/Osstest/Debian.pm
index 78d242e4..f8ff4f46 100644
--- a/Osstest/Debian.pm
+++ b/Osstest/Debian.pm
@@ -1472,9 +1472,12 @@ END
 
 sub preseed_hook_command ($$$$) {
     my ($ho, $di_key, $sfx, $text) = @_;
+    $di_key = "preseed/$di_key" unless $di_key =~ m{/};
+    my $basename = $di_key;
+    $basename =~ s{/}{--};
     my $ix= $#{ $preseed_cmds{$di_key} } + 1;
-    my $url= create_webfile($ho, "$di_key-$ix$sfx", $text);
-    my $file= "/tmp/$di_key-$ix";
+    my $url= create_webfile($ho, "$basename-$ix$sfx", $text);
+    my $file= "/tmp/$basename-$ix";
     my $cmd_cmd= "$preseed_wget -O $file '$url' && chmod +x $file && $file";
     push @{ $preseed_cmds{$di_key} }, $cmd_cmd;
 }
@@ -1521,7 +1524,7 @@ END
 sub preseed_hook_cmds () {
     my $preseed;
     foreach my $di_key (keys %preseed_cmds) {
-        $preseed .= "d-i preseed/$di_key string ".
+        $preseed .= "d-i $di_key string ".
             (join ' && ', @{ $preseed_cmds{$di_key} }). "\n";
     }
     return $preseed;
-- 
2.11.0


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

^ permalink raw reply related

* [Xen-devel] [OSSTEST PATCH 40/62] preseed_base: break out debian_overlays_fixup_cmd
From: Ian Jackson @ 2019-04-10 14:23 UTC (permalink / raw)
  To: xen-devel; +Cc: Ian Jackson
In-Reply-To: <20190410142408.22848-1-ian.jackson@eu.citrix.com>

We are going to want this for guests too.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 Osstest/Debian.pm | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/Osstest/Debian.pm b/Osstest/Debian.pm
index d76dd03d..78d242e4 100644
--- a/Osstest/Debian.pm
+++ b/Osstest/Debian.pm
@@ -36,7 +36,7 @@ BEGIN {
     @EXPORT      = qw(debian_boot_setup
                       di_installer_path di_special_kernel
                       setupboot_bootloader_edited_rune
-                      debian_overlays
+                      debian_overlays debian_overlays_fixup_cmd
                       debian_guest_suite debian_guest_di_version
                       %preseed_cmds
                       preseed_base
@@ -815,6 +815,14 @@ sub debian_overlays ($$) {
     $maybe->("$c{OverlayLocal}-$suite", 'overlay-local-$suite.tar');
 }
 
+sub debian_overlays_fixup_cmd ($;$) {
+    my ($ho, $subdir) = @_;
+    $subdir //= '';
+    return <<END;
+chmod 600 $subdir/etc/ssh/ssh_host_*_key ||:
+END
+}
+
 sub preseed_base ($$$;@) {
     my ($ho,$sfx,$extra_packages,%xopts) = @_;
 
@@ -873,10 +881,10 @@ END
 
     # Host private keys in the overlays have to be group-readable
     # at least, or no-one can use them.  But ssh is very fussy.
-    preseed_hook_command($ho, 'late_command', $sfx, <<END);
+    preseed_hook_command($ho, 'late_command', $sfx,
+			 <<END. debian_overlays_fixup_cmd($ho, '/target'));
 #!/bin/sh
 set -ex
-chmod 600 /target/etc/ssh/ssh_host_*_key ||:
 END
 
     my $preseed = <<"END";
-- 
2.11.0


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

^ permalink raw reply related

* [Xen-devel] [OSSTEST PATCH 22/62] contents_make_cpio: Include symlinks
From: Ian Jackson @ 2019-04-10 14:23 UTC (permalink / raw)
  To: xen-devel; +Cc: Ian Jackson
In-Reply-To: <20190410142408.22848-1-ian.jackson@eu.citrix.com>

We are going to introduce some symlinks into one of our preprepared
overlays.  We must therefore arrange to copy them as appropriate.

The syntax `-type f,l' is an extension in GNU find.  If this causes
trouble in the future we will then have to introduce the obvious
circumlocution involving ( ).

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 Osstest/TestSupport.pm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Osstest/TestSupport.pm b/Osstest/TestSupport.pm
index d35a784b..1f01ac6a 100644
--- a/Osstest/TestSupport.pm
+++ b/Osstest/TestSupport.pm
@@ -1518,7 +1518,7 @@ sub contents_make_cpio ($$$) {
     if (!$child) {
         postfork();
         chdir($srcdir) or die $!;
-        open STDIN, 'find ! -name "*~" ! -name "#*" -type f -print0 |'
+        open STDIN, 'find ! -name "*~" ! -name "#*" -type f,l -print0 |'
             or die $!;
         open STDOUT, '>&', $fh or die $!;
         system "cpio -H$format -o --quiet -0 -R 1000:1000";
-- 
2.11.0


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

^ permalink raw reply related

* [Xen-devel] [OSSTEST PATCH 18/62] Drop rumprun tests
From: Ian Jackson @ 2019-04-10 14:23 UTC (permalink / raw)
  To: xen-devel; +Cc: Wei Liu
In-Reply-To: <20190410142408.22848-1-ian.jackson@eu.citrix.com>

From: Wei Liu <wei.liu2@citrix.com>

These have been failing for some time and it doesn't any more look
like this will be an attractive route to stub device models.  (At
least two Xen downstream projects are using Linux-based stub device
models.)

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
v4: Expand commit message.
---
 Osstest/RumpRun.pm                                |  68 -------------
 Osstest/Toolstack/rumprun.pm                      |  33 -------
 allow.all                                         |   1 -
 allow.rumprun                                     |   1 -
 ap-common                                         |   7 --
 ap-fetch-version                                  |   4 -
 ap-fetch-version-old                              |   5 -
 ap-print-url                                      |   3 -
 ap-push                                           |   5 -
 cr-daily-branch                                   |   9 --
 cri-common                                        |   1 -
 crontab                                           |   4 +-
 daily-cron-email-real--rumpuserxen                |   4 -
 daily-cron-email-real-bisectcomplete--rumpuserxen |   4 -
 make-flight                                       |  35 -------
 mfi-common                                        |  37 -------
 sg-run-job                                        |  26 -----
 ts-rumprun-bake                                   |  88 -----------------
 ts-rumprun-build                                  | 103 --------------------
 ts-rumprun-demo-build                             |  67 -------------
 ts-rumprun-demo-setup                             |  54 -----------
 ts-rumprun-demo-xenstorels                        | 113 ----------------------
 ts-rumprun-test-prep                              |  37 -------
 23 files changed, 2 insertions(+), 707 deletions(-)
 delete mode 100644 Osstest/RumpRun.pm
 delete mode 100644 Osstest/Toolstack/rumprun.pm
 delete mode 100644 allow.rumprun
 delete mode 100644 daily-cron-email-real--rumpuserxen
 delete mode 100644 daily-cron-email-real-bisectcomplete--rumpuserxen
 delete mode 100755 ts-rumprun-bake
 delete mode 100755 ts-rumprun-build
 delete mode 100755 ts-rumprun-demo-build
 delete mode 100755 ts-rumprun-demo-setup
 delete mode 100755 ts-rumprun-demo-xenstorels
 delete mode 100755 ts-rumprun-test-prep

diff --git a/Osstest/RumpRun.pm b/Osstest/RumpRun.pm
deleted file mode 100644
index f46d520b..00000000
--- a/Osstest/RumpRun.pm
+++ /dev/null
@@ -1,68 +0,0 @@
-# This is part of "osstest", an automated testing framework for Xen.
-# Copyright (C) 2009-2013 Citrix Inc.
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU Affero General Public License for more details.
-# 
-# You should have received a copy of the GNU Affero General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-
-package Osstest::RumpRun;
-
-use strict;
-use warnings;
-
-use Osstest::TestSupport;
-
-BEGIN {
-    use Exporter ();
-    our ($VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS);
-    $VERSION     = 1.00;
-    @ISA         = qw(Exporter);
-    @EXPORT      = qw(
-		      rumprun_guest_create
-		    );
-    %EXPORT_TAGS = ( );
-
-    @EXPORT_OK   = qw();
-}
-
-sub rumprun_guest_create ($) {
-    my ($gho) = @_;
-    my $ho = $gho->{Host};
-    my $gn = $gho->{Guest};
-    guest_prepare_disk($gho);
-
-    my $rumprun = target_var($gho, 'rumprun_path');
-    if (!$rumprun) {
-	logm("finding rumprun to use for $gho->{Name} on $ho->{Name}");
-	my $buildjob = $r{guests_rumprunbuildjob} // # todo: eliminate this
-	    target_var($gho, 'rumprunbuildjob');
-	my $rumprundist = target_extract_jobdistpath_subdir
-	    ($ho, "rumprun-rumprun-g-$gho->{Name}", "rumprun", $buildjob);
-	$rumprun = "$rumprundist/rumprun";
-	store_runvar("${gn}_rumprun_path", $rumprun);
-    }
-
-    my $imagepath = $r{"${gn}_imagepath"};
-    my $cmdline = guest_var($gho, 'cmdline', undef);
-
-    my $cmd = "$rumprun xen";
-    $cmd .= " -N $gn";
-    $cmd .= " -I xenif0,xenif,mac=$gho->{Ether}";
-    $cmd .= " -W xenif0,inet,dhcp";
-    $cmd .= " $imagepath";
-    $cmd .= " $cmdline";
-
-    target_cmd_root($ho, $cmd, 100);
-}
-
-1;
diff --git a/Osstest/Toolstack/rumprun.pm b/Osstest/Toolstack/rumprun.pm
deleted file mode 100644
index 74742c45..00000000
--- a/Osstest/Toolstack/rumprun.pm
+++ /dev/null
@@ -1,33 +0,0 @@
-# This is part of "osstest", an automated testing framework for Xen.
-# Copyright (C) 2014 Citrix Inc.
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-
-package Osstest::Toolstack::rumprun;
-
-use strict;
-use warnings;
-
-use Osstest::RumpRun;
-
-# Defer to xl driver for most things
-use parent qw(Osstest::Toolstack::xl);
-
-sub create ($$) {
-    my ($self,$gho) = @_;
-    rumprun_guest_create($gho);
-}
-
-1;
diff --git a/allow.all b/allow.all
index 5d8d9cb7..894b69ea 100644
--- a/allow.all
+++ b/allow.all
@@ -3,6 +3,5 @@ build-@@                        logs-capture@@
 test-@@-pcipt@@
 test-@@-qemuu-@@		guest-localmigrate
 test-@@-win7-@@			guest-stop
-test-@@-rumprun-@@		rumprun-demo-xenstorels/xenstorels.repeat
 @@-arm64			hosts-allocate
 @@-arm64-@@			hosts-allocate
diff --git a/allow.rumprun b/allow.rumprun
deleted file mode 100644
index 436417b1..00000000
--- a/allow.rumprun
+++ /dev/null
@@ -1 +0,0 @@
-!test-@@-rumprun-@@		rumprun-demo-xenstorels/xenstorels.repeat
diff --git a/ap-common b/ap-common
index 87df7948..6ae7cce6 100644
--- a/ap-common
+++ b/ap-common
@@ -45,12 +45,6 @@
 : ${PUSH_TREE_LIBVIRT:=$XENBITS:/home/xen/git/libvirt.git}
 : ${BASE_TREE_LIBVIRT:=git://xenbits.xen.org/libvirt.git}
 
-: ${TREE_RUMPRUN:=https://github.com/rumpkernel/rumprun}
-# ^ really http://repo.rumpkernel.org/rumprun
-: ${TREEVCS_RUMPRUN:=git}
-: ${BASE_TREE_RUMPRUN:=git://xenbits.xen.org/osstest/rumprun.git}
-: ${PUSH_TREE_RUMPRUN:=$XENBITS:/home/xen/git/osstest/rumprun.git}
-
 : ${TREE_SEABIOS_UPSTREAM:=https://git.seabios.org/seabios.git}
 : ${PUSH_TREE_SEABIOS:=$XENBITS:/home/xen/git/osstest/seabios.git}
 : ${BASE_TREE_SEABIOS:=git://xenbits.xen.org/osstest/seabios.git}
@@ -83,7 +77,6 @@ fi
 : ${LOCALREV_XEN:=daily-cron.$branch}
 : ${LOCALREV_LINUX:=daily-cron.$branch}
 : ${LOCALREV_LIBVIRT:=daily-cron.$branch}
-: ${LOCALREV_RUMPRUN:=daily-cron.$branch}
 : ${LOCALREV_SEABIOS:=daily-cron.$branch}
 : ${LOCALREV_OVMF:=daily-cron.$branch}
 : ${LOCALREV_XTF:=daily-cron.$branch}
diff --git a/ap-fetch-version b/ap-fetch-version
index 87725bf0..9abfbcb5 100755
--- a/ap-fetch-version
+++ b/ap-fetch-version
@@ -90,10 +90,6 @@ libvirt)
 	repo_tree_rev_fetch_git libvirt \
 		$TREE_LIBVIRT master $LOCALREV_LIBVIRT
 	;;
-rumprun)
-	repo_tree_rev_fetch_git rumprun \
-		$TREE_RUMPRUN master $LOCALREV_RUMPRUN
-	;;
 seabios)
 	repo_tree_rev_fetch_git seabios \
 		$TREE_SEABIOS_UPSTREAM master $LOCALREV_SEABIOS
diff --git a/ap-fetch-version-old b/ap-fetch-version-old
index 18213e01..420db9f6 100755
--- a/ap-fetch-version-old
+++ b/ap-fetch-version-old
@@ -30,7 +30,6 @@ check_ap_fetch_placeholders
 : ${BASE_TAG_LINUX2639:=tested/2.6.39.x}
 : ${BASE_LOCALREV_LINUX:=daily-cron.$branch.old}
 : ${BASE_LOCALREV_LIBVIRT:=daily-cron.$branch.old}
-: ${BASE_LOCALREV_RUMPRUN:=daily-cron.$branch.old}
 : ${BASE_LOCALREV_SEABIOS:=daily-cron.$branch.old}
 : ${BASE_LOCALREV_XTF:=daily-cron.$branch.old}
 : ${BASE_LOCALREV_OVMF:=daily-cron.$branch.old}
@@ -99,10 +98,6 @@ libvirt)
 	repo_tree_rev_fetch_git libvirt \
 		$BASE_TREE_LIBVIRT $BASE_TAG_LIBVIRT $BASE_LOCALREV_LIBVIRT
 	;;
-rumprun)
-	repo_tree_rev_fetch_git rumprun \
-		$BASE_TREE_RUMPRUN xen-tested-master $BASE_LOCALREV_RUMPRUN
-	;;
 seabios)
 	repo_tree_rev_fetch_git seabios \
 		$BASE_TREE_SEABIOS xen-tested-master $BASE_LOCALREV_SEABIOS
diff --git a/ap-print-url b/ap-print-url
index e9934bc0..27bdbfae 100755
--- a/ap-print-url
+++ b/ap-print-url
@@ -52,9 +52,6 @@ linuxfirmware)
 libvirt)
 	echo $TREE_LIBVIRT
 	;;
-rumprun)
-	echo $TREE_RUMPRUN
-	;;
 seabios)
 	echo $TREE_SEABIOS_UPSTREAM
 	;;
diff --git a/ap-push b/ap-push
index ded33f63..eb212c05 100755
--- a/ap-push
+++ b/ap-push
@@ -37,7 +37,6 @@ TREE_LINUX=$PUSH_TREE_LINUX
 TREE_QEMU_UPSTREAM=$PUSH_TREE_QEMU_UPSTREAM
 TREE_XEN=$PUSH_TREE_XEN
 TREE_LIBVIRT=$PUSH_TREE_LIBVIRT
-TREE_RUMPRUN=$PUSH_TREE_RUMPRUN
 TREE_SEABIOS=$PUSH_TREE_SEABIOS
 TREE_OVMF=$PUSH_TREE_OVMF
 TREE_XTF=$PUSH_TREE_XTF
@@ -114,10 +113,6 @@ libvirt)
 	cd $repos/libvirt
 	git push $TREE_LIBVIRT $revision:refs/heads/xen-tested-master
 	;;
-rumprun)
-	cd $repos/rumprun
-	git push $TREE_RUMPRUN $revision:refs/heads/xen-tested-master
-	;;
 seabios)
 	cd $repos/seabios
 	git push $TREE_SEABIOS $revision:refs/heads/xen-tested-master
diff --git a/cr-daily-branch b/cr-daily-branch
index 49b8ad8e..5698b083 100755
--- a/cr-daily-branch
+++ b/cr-daily-branch
@@ -223,10 +223,6 @@ if [ "x$REVISION_LIBVIRT" = x ]; then
 	determine_version REVISION_LIBVIRT libvirt LIBVIRT
 	export REVISION_LIBVIRT
 fi
-if [ "x$REVISION_RUMPRUN" = x ]; then
-	determine_version REVISION_RUMPRUN rumprun RUMPRUN
-	export REVISION_RUMPRUN
-fi
 if [ "x$REVISION_XTF" = x ]; then
 	determine_version REVISION_XTF xtf XTF
 	export REVISION_XTF
@@ -278,11 +274,6 @@ libvirt)
 	realtree=libvirt
 	NEW_REVISION=$REVISION_LIBVIRT
 	;;
-rumprun)
-	realtree=rumprun
-	NEW_REVISION=$REVISION_RUMPRUN
-	export REVISION_LIBVIRT=disable
-	;;
 seabios)
 	realtree=seabios
 	NEW_REVISION=$REVISION_SEABIOS
diff --git a/cri-common b/cri-common
index 8d2d26cf..5a425824 100644
--- a/cri-common
+++ b/cri-common
@@ -76,7 +76,6 @@ select_xenbranch () {
 	linux-*)		tree=linux;	xenbranch=xen-unstable ;;
 	linuxfirmware)	    tree=linuxfirmware;	xenbranch=xen-unstable ;;
 	libvirt)		tree=libvirt;	xenbranch=xen-unstable ;;
-	rumprun)	      tree=rumprun; xenbranch=xen-unstable ;;
 	seabios)		tree=seabios;	xenbranch=xen-unstable ;;
 	xtf)			tree=xtf;	xenbranch=xen-unstable ;;
 	ovmf)			tree=ovmf;	xenbranch=xen-unstable ;;
diff --git a/crontab b/crontab
index e1e798a5..8d9b31f1 100755
--- a/crontab
+++ b/crontab
@@ -14,8 +14,8 @@ MAILTO=osstest-admin@xenproject.org
 18		9	* * 1,3,5	cd testing.git && BRANCHES='linux-next freebsd-master' 	./cr-for-branches branches -w "./cr-daily-branch --real"
 18		9	* * 3,7		cd testing.git && BRANCHES=xen-unstable-coverity ./cr-for-branches branches -w "./cr-daily-branch --real"
 34		15	23 * *		cd testing.git && BRANCHES=examine		./cr-for-branches branches -w "./cr-daily-branch --real"
-18		4	* * *		cd testing.git && BRANCHES='linux-3.0 libvirt rumprun' ./cr-for-branches branches -w "./cr-daily-branch --real"
-6-59/15   	*	* * *		cd testing.git && EXTRA_BRANCHES='xen-unstable-smoke linux-3.0 rumprun libvirt freebsd-master' ./cr-for-branches bisects -w "./cr-try-bisect --real"
+18		4	* * *		cd testing.git && BRANCHES='linux-3.0 libvirt' ./cr-for-branches branches -w "./cr-daily-branch --real"
+6-59/15   	*	* * *		cd testing.git && EXTRA_BRANCHES='xen-unstable-smoke linux-3.0 libvirt freebsd-master' ./cr-for-branches bisects -w "./cr-try-bisect --real"
 #8-59/5		*	* * *		cd bisects/adhoc.git &&	with-lock-ex -q data-tree-lock bash -c "./cr-try-bisect-adhoc; exit $?"
 22		8	* * *		cd testing.git && BRANCHES=maintjobs		./cr-for-branches . -w ./cr-all-branch-statuses ''
 3		4	* * *		savelog -c28 testing.git/tmp/cr-for-branches.log >/dev/null
diff --git a/daily-cron-email-real--rumpuserxen b/daily-cron-email-real--rumpuserxen
deleted file mode 100644
index 8f950780..00000000
--- a/daily-cron-email-real--rumpuserxen
+++ /dev/null
@@ -1,4 +0,0 @@
-To: xen-devel@lists.xenproject.org,
-    rumpkernel-builds@freelists.org,
-    osstest-admin@xenproject.org
-Bcc: osstest-output@lists.xenproject.org
diff --git a/daily-cron-email-real-bisectcomplete--rumpuserxen b/daily-cron-email-real-bisectcomplete--rumpuserxen
deleted file mode 100644
index 8f950780..00000000
--- a/daily-cron-email-real-bisectcomplete--rumpuserxen
+++ /dev/null
@@ -1,4 +0,0 @@
-To: xen-devel@lists.xenproject.org,
-    rumpkernel-builds@freelists.org,
-    osstest-admin@xenproject.org
-Bcc: osstest-output@lists.xenproject.org
diff --git a/make-flight b/make-flight
index 2f875125..151b1435 100755
--- a/make-flight
+++ b/make-flight
@@ -85,14 +85,6 @@ job_create_build_filter_callback () {
         *)			return 1 ;;
       esac
     ;;
-    rumprun)
-      case "$job" in
-        build-*-pvops)		;;
-        build-*-rumprun)	;;
-        build-*-*)		return 1 ;;
-        *)			;;
-      esac
-    ;;
   esac
   return 0
 }
@@ -139,15 +131,6 @@ job_create_test_filter_callback () {
     libvirt)
       if [ x$toolstack != xlibvirt ] ; then return 1; fi
       ;;
-    rumprun)
-      case "$job" in
-      *-rumprun-*)
-          ;;
-      *)
-          : "suppressed $job"
-          return 1;;
-      esac
-      ;;
     xtf)
       case "$xenarch:$dom0arch" in
           amd64:amd64) ;;
@@ -211,7 +194,6 @@ arch_branch_filter_callback () {
         qemu-upstream-4.2-testing) return 1;;
         qemu-upstream-4.3-testing) return 1;;
         qemu-upstream-4.4-testing) return 1;;
-        rumprun) return 1;;
         seabios) return 1;;
         ovmf) return 1;;
         esac
@@ -235,21 +217,6 @@ test_matrix_branch_filter_callback () {
   return 0
 }
 
-do_rumpkernel_tests () {
-  branch_wants_rumpkernel_tests || return 0
-
-  rumparch=$dom0arch
-  job_create_test test-$xenarch$kern-$dom0arch-rumprun-$rumparch \
-                      test-rumprun xl \
-            $xenarch $dom0arch                                       \
-            guests_rumprunbuildjob=${bfi}build-$rumparch-rumprun   \
-            nettest_builtimage=rumpimages:nettest \
-            nettest_cmdline=4096 \
-            xenstorels_builtimage=rumpimages:xenstorels              \
-            xenstorels_cmdline='ls -fp device'                       \
-            all_hostflags=$most_hostflags
-}
-
 do_freebsd_tests () {
 
   if [ $xenarch != amd64 -o $dom0arch != i386 -o "$kern" != "" ]; then
@@ -769,8 +736,6 @@ test_matrix_do_one () {
   *)                test_shim=y ;;
   esac
 
-  do_rumpkernel_tests
-
   # xend PV guest test on x86 only
   if [ x$test_xend = xy -a \( $dom0arch = "i386" -o $dom0arch = "amd64" \) ]; then
     job_create_test test-$xenarch$kern-$dom0arch-pv test-debian xend \
diff --git a/mfi-common b/mfi-common
index 83d3c713..f91156fe 100644
--- a/mfi-common
+++ b/mfi-common
@@ -31,16 +31,6 @@ stripy () {
   eval "$out_vn=\"\$out_$out_val\""
 }
 
-branch_wants_rumpkernel_tests () {
-  case "$branch" in
-  osstest*) return 0;;
-  rump*)    return 0;;
-  xen-*)    return 0;;
-  linux*)   return 0;;
-  *)        return 1;;
-  esac
-}
-
 branch_wants_migrupgrade_tests () {
   case "$branch" in
     xen-3.*-testing) return 1 ;;
@@ -445,33 +435,6 @@ create_build_jobs () {
         fi
     fi
 
-    if branch_wants_rumpkernel_tests; then
-
-    case $arch in
-    i386|amd64)
-    job_create_build build-$arch-rumprun build-rumprun               \
-                arch=$arch                                                   \
-        tree_xen=$TREE_XEN                                                   \
-                $RUNVARS $BUILD_RUNVARS $BUILD_RUMPRUN_RUNVARS $arch_runvars \
-                $hostos_runvars                                              \
-                host_hostflags=$build_hostflags                              \
-                buildjob=${bfi}build-$arch                                   \
-                tree_rumprun=$TREE_RUMPRUN			\
-          ${TREEVCS_RUMPRUN:+treevcs_rumprun=}${TREEVCS_RUMPRUN} \
-                revision_rumprun=$REVISION_RUMPRUN		\
-                tree_xen=$TREE_XEN                                           \
-                tree_qemuu=$TREE_QEMU_UPSTREAM                               \
-                revision_xen=$REVISION_XEN                                   \
-                revision_qemuu=$REVISION_QEMU_UPSTREAM                       \
-                tree_rumprun_rumpsrc=$TREE_RUMPRUN_RUMPSRC	\
-                ${TREEVCS_RUMPRUN_RUMPSRC:+treevcs_rumprun_rumpsrc=}${TREEVCS_RUMPRUN_RUMPSRC}
-                # rumpsrc-related runvars needed only for old rumpuser-xen
-                # (ie ones which need $bodges=1 in ts-rumprun-build)
-		;;
-    esac
-
-    fi
-
     case "$arch" in
     arm*) continue;; # don't do any other kernel builds
     esac
diff --git a/sg-run-job b/sg-run-job
index 7d27f415..56b6384a 100755
--- a/sg-run-job
+++ b/sg-run-job
@@ -649,22 +649,6 @@ proc test-guest-nomigr {g} {
     run-ts . =   ts-guest-destroy + host $g
 }
 
-proc need-hosts/test-rumprun {} { return host }
-proc run-job/test-rumprun {} {
-    run-ts . =   ts-rumprun-test-prep       + host
-    set g nettest
-    run-ts . =   ts-rumprun-demo-setup      + host $g
-    run-ts . =   ts-guest-start             + host $g
-    run-ts . =   ts-guest-destroy           + host $g
-    set g xenstorels
-    run-ts . =   ts-rumprun-demo-setup      + host + $g
-    run-ts . =   ts-rumprun-demo-xenstorels + host + $g
-    run-ts . =   ts-guest-destroy-hard      + host + $g
-    repeat-ts 150 =.repeat \
-                 ts-rumprun-demo-xenstorels + host + $g   + \; \
-                 ts-guest-destroy-hard        host   $g   +
-}
-
 if {[file exists sg-run-job-adhoc]} {
     source sg-run-job-adhoc
 }
@@ -712,7 +696,6 @@ proc need-hosts/host-examine-linux {} { examine-host-examine debian }
 proc need-hosts/build {}                { return BUILD_LINUX }
 proc need-hosts/build-kern {}           { return BUILD_LINUX }
 proc need-hosts/build-libvirt {}        { return BUILD_LINUX }
-proc need-hosts/build-rumprun {}        { return BUILD_LINUX }
 proc need-hosts/build-xtf {}            { return BUILD_LINUX }
 proc need-hosts/build-freebsd {}        { return BUILD_FREEBSD }
 proc need-hosts/build-xen-freebsd {}    { return BUILD_FREEBSD }
@@ -729,15 +712,6 @@ proc run-job/build-libvirt {} {
     run-ts . = ts-libvirt-build
 }
 
-proc run-job/build-rumprun {} {
-    run-ts . = ts-rumprun-build
-    run-ts . = ts-rumprun-demo-build + host + nettest rump-test-net
-    run-ts . xen-build ts-xen-build-rump + host --no-kconfig --
-    run-ts . = ts-rumprun-bake + host \
-        nettest :nettest:/rump-test-net \
-        xenstorels ::/usr/local/bin/xenstore-ls
-}
-
 proc run-job/build-xtf {} {
     run-ts . = ts-xtf-build
 }
diff --git a/ts-rumprun-bake b/ts-rumprun-bake
deleted file mode 100755
index fc50db92..00000000
--- a/ts-rumprun-bake
+++ /dev/null
@@ -1,88 +0,0 @@
-#!/usr/bin/perl -w
-# This is part of "osstest", an automated testing framework for Xen.
-# Copyright (C) 2009-2013 Citrix Inc.
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU Affero General Public License for more details.
-# 
-# You should have received a copy of the GNU Affero General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-# ts-rumprun-bake HOST IMAGENAME [JOB]:DIST:SUBPATH [IMAGENAME ... [... ...]]
-#
-# Generates a dist stash `rumpimages' containg files IMAGENAME
-# From the specified files
-
-use strict qw(vars);
-use DBI;
-BEGIN { unshift @INC, qw(.); }
-use Osstest;
-use Osstest::TestSupport;
-use Osstest::BuildSupport;
-
-tsreadconfig();
-
-our ($whhost,$gn) = @ARGV;
-selectbuildhost(\@ARGV);
-
-
-
-our %images;
-
-our $jobdir = target_jobdir($ho);
-our $imagesdir = $jobdir.'/rumpbake-images';
-our $rumpbake = $jobdir.'/rumprun/rumprun/bin/rumprun-bake';
-
-target_cmd($ho, "mkdir -p $imagesdir");
-
-sub bakeimage ($$) {
-    my ($name,$spec) = @_;
-    
-    $spec =~ m/^(.*?)\:(.*?)\:/ or die "$spec ?";
-    my $buildjob = $1;
-    my $execpart = $2;
-    my $execpath = $';
-
-    logm("baking rump image $name from $spec");
-
-#    my $rumpbake = target_extract_jobdistpath_subdir
-#	($ho, 'rumpbake-base', 'rumprun', $r{guests_rumprunbuildjob});
-#    $rumpbake = "$rumpbake/rumpbake";
-
-    my $execdist;
-    eval {
-	$execdist = target_extract_jobdistpath_subdir
-	    ($ho, "rumpbake-n-$name", $execpart, $buildjob || $job);
-    };
-    if ($@) {
-	logm "*** WARNING: skipping $name: $@";
-	return;
-    }
-    my $execfile = $execdist.$execpath;
-
-    target_cmd_build($ho, 1000, $imagesdir, <<END);
-        ls -al $execfile
-        $rumpbake xen_pv $name $execfile
-END
-}
-
-sub stash () {
-    built_stash($ho, "$jobdir", "rumpbake-images", "rumpimagesdist");
-}
-
-while (@ARGV) {
-    die unless @ARGV>=2;
-    my $name = shift @ARGV;
-    my $rumpexec = shift @ARGV;
-
-    bakeimage($name,$rumpexec);
-}
-
-stash();
diff --git a/ts-rumprun-build b/ts-rumprun-build
deleted file mode 100755
index a09584c8..00000000
--- a/ts-rumprun-build
+++ /dev/null
@@ -1,103 +0,0 @@
-#!/usr/bin/perl
-# This is part of "osstest", an automated testing framework for Xen.
-# Copyright (C) 2009-2014 Citrix Inc.
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-use strict qw(vars);
-use DBI;
-BEGIN { unshift @INC, qw(.); }
-use Osstest;
-use Osstest::TestSupport;
-use Osstest::BuildSupport;
-
-tsreadconfig();
-selectbuildhost(\@ARGV);
-builddirsprops();
-
-our %submodmap = qw(buildrump.sh buildrumpsh
-                    src-netbsd netbsdsrc);
-
-our ($rux);
-
-sub checkout () {
-    prepbuilddirs();
-    xendist();
-
-    build_clone($ho, 'rumprun', $builddir, 'rumprun');
-    my $submodules =
-	submodulefixup($ho, 'rumprun', 'rumprun', \%submodmap);
-    $rux = "$builddir/rumprun";
-}
-
-sub massage() {
-}
-
-sub build() {
-    my $debug_build = $r{rumprun_build_debug} || 'y';
-    target_cmd_build($ho, 7200, $rux, ($debug_build ? <<END : ''). <<END);
-        export RUMP_DEV_XEN_DEBUG=1
-END
-        export XEN_HEADERS=$xendist/usr/local/include/xen
-        (./build-rr.sh xen && touch ../build-ok-stamp) |tee ../log
-        test -f ../build-ok-stamp #/
-        echo ok.
-END
-}
-
-my $bindir;
-my $gnutriplet;
-my $ccachedir;
-
-sub findtools() {
-    my $gcc = target_cmd_output($ho, "echo $rux/rumprun/bin/*-gcc");
-    chomp $gcc;
-    die "$gcc ?" unless $gcc =~ m#^(\S+)/([^/ \t]+)-g?cc$#;
-    $bindir = $1;
-    $gnutriplet = $2;
-}
-
-sub setupccache() {
-    $ccachedir = "$bindir.ccache";
-    target_cmd_build($ho, 600, $rux, <<END);
-        mkdir $ccachedir
-        ccache=\$(type -p ccache)
-        for f in $bindir/$gnutriplet-*; do
-            ln -s \$ccache $ccachedir/\${f##*/}
-        done
-END
-}
-
-sub recordtools() {
-    my $prefix = "PATH=$ccachedir:$bindir:\$PATH ";
-    $prefix .= "CROSS_COMPILE=$gnutriplet- HOSTCC=gcc ";
-    store_runvar('cmdprefix_configure', $prefix);
-    store_runvar('cmdprefix_make',      $prefix);
-    store_runvar('cmdsuffix_configure', " --host=$gnutriplet");
-    # "host" is daft GCC/GNU terminology for the target architecture of
-    # a cross-compile, ie in our case the rump environemnt architecture
-    # for which the rump compilers are going to generate code.
-}
-
-sub install() {
-}
-
-checkout();
-massage();
-build();
-findtools();
-setupccache();
-recordtools();
-install();
-built_stash($ho, $builddir, 'rumprun/rumprun/bin', 'rumprundist');
diff --git a/ts-rumprun-demo-build b/ts-rumprun-demo-build
deleted file mode 100755
index 925727a0..00000000
--- a/ts-rumprun-demo-build
+++ /dev/null
@@ -1,67 +0,0 @@
-#!/usr/bin/perl -w
-# This is part of "osstest", an automated testing framework for Xen.
-# Copyright (C) 2009-2013 Citrix Inc.
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU Affero General Public License for more details.
-# 
-# You should have received a copy of the GNU Affero General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-use strict qw(vars);
-use DBI;
-BEGIN { unshift @INC, qw(.); }
-use Osstest;
-use File::Path;
-use POSIX;
-use Osstest::TestSupport;
-use Osstest::BuildSupport;
-
-tsreadconfig();
-selectbuildhost(\@ARGV);
-
-our $dokconfig = 1;
-
-while (@ARGV && $ARGV[0] =~ m/^-/) {
-    $_ = shift @ARGV;
-    last if m/^--$/;
-    die "$_ ?";
-}
-# remaining arguments are passed as targets to "make"
-
-die unless @ARGV==2;
-my ($demo,$bn) = @ARGV;
-
-builddirsprops();
-
-my $demodir;
-
-sub build () {
-    prepbuilddirs($demo);
-
-    $demodir = "$builddir/$demo";
-
-    target_putfile($ho, 30, "$bn.c", "$demodir/$bn.c");
-
-    my $make_prefix =      $r{cmdprefix_make}      // '';
-
-    target_cmd_build($ho, 300, $demodir, <<END);
-        set -x
-        $make_prefix
-        \${CROSS_COMPILE}gcc -Wall -o $bn $bn.c
-END
-}
-
-sub stash () {
-    built_stash($ho, $builddir, "$demo", "${demo}dist");
-}
-
-build();
-stash();
diff --git a/ts-rumprun-demo-setup b/ts-rumprun-demo-setup
deleted file mode 100755
index f293fd7e..00000000
--- a/ts-rumprun-demo-setup
+++ /dev/null
@@ -1,54 +0,0 @@
-#!/usr/bin/perl -w
-# This is part of "osstest", an automated testing framework for Xen.
-# Copyright (C) 2009-2013 Citrix Inc.
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU Affero General Public License for more details.
-# 
-# You should have received a copy of the GNU Affero General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-use strict qw(vars);
-use DBI;
-BEGIN { unshift @INC, qw(.); }
-use Osstest;
-use Osstest::TestSupport;
-
-tsreadconfig();
-
-our ($whhost,$gn) = @ARGV;
-$whhost ||= 'host';
-$gn ||= 'rump';
-
-our $ho= selecthost($whhost);
-
-our $gho;
-
-our $rkdist;
-
-sub prep () {
-    $gho = prepareguest($ho, $gn, $gn, 4096, undef, 30);
-
-    my $builtimage = guest_var($gho, 'builtimage', undef);
-    my $buildjob = guest_var($gho, 'rumprunbuildjob', undef);
-
-    $builtimage =~ m/\:/ or die "$builtimage ?";
-    my $builtimage_part = $`;
-    my $builtimage_subpath = $'; #';
-
-    $rkdist = target_extract_jobdistpath_subdir
-       ($ho, "rumprun-g-$gn", $builtimage_part, $buildjob);
-    my $imagepath = $rkdist.'/'.$builtimage_subpath;
-
-    store_runvar("${gn}_imagepath", $imagepath);
-    store_runvar("${gn}_toolstack", 'rumprun');
-}
-
-prep();
diff --git a/ts-rumprun-demo-xenstorels b/ts-rumprun-demo-xenstorels
deleted file mode 100755
index cfc6a903..00000000
--- a/ts-rumprun-demo-xenstorels
+++ /dev/null
@@ -1,113 +0,0 @@
-#!/usr/bin/perl -w
-# This is part of "osstest", an automated testing framework for Xen.
-# Copyright (C) 2014 Citrix Inc.
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU Affero General Public License for more details.
-# 
-# You should have received a copy of the GNU Affero General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-use strict qw(vars);
-use DBI;
-BEGIN { unshift @INC, qw(.); }
-use Osstest;
-use Osstest::TestSupport;
-use Osstest::RumpRun;
-use Data::Dumper;
-
-tsreadconfig();
-
-our ($ho,$gho) = ts_get_host_guest(@ARGV);
-
-our $domid;
-
-our $gn = $gho->{Guest};
-
-sub start () {
-    rumprun_guest_create($gho);
-
-    $domid = guest_find_domid($ho, $gho);
-}
-
-sub await_end () {
-    poll_loop(30,3, "await ending of $gho->{Guest}", sub {
-        my $st= guest_get_state($ho,$gho);
-	return undef if $st =~ m/s/;
-        return "guest state is $st";
-    });
-}
-
-our (%file);
-our (%output);
-
-sub stash ($$) {
-    my ($data, $what) = @_;
-    my $leaf = "xenstore-ls-device--$gn--$what";
-    my $stashh = open_unique_stashfile(\$leaf);
-    print $stashh $data or die $!;
-    close $stashh or die $!;
-    $file{$what} = "$stash/$leaf";
-}
-
-sub some_xenstorels ($$$) {
-    my ($what, $massage, $cmd) = @_;
-    $output{$what} = target_cmd_output_root($ho,$cmd);
-    stash($output{$what}, "$what-raw");
-    $massage->();
-    $output{$what} = join "\n", sort split /\n/, $output{$what};
-    $output{$what} .= "\n";
-    stash($output{$what}, "$what-massaged");
-}
-
-sub our_xenstorels () {
-    some_xenstorels('ours', sub {
-	$output{ours} =~ s{^/local/domain/$domid/}{}gm;
-    }, <<END);
-        xenstore-ls -fp /local/domain/$domid/device
-END
-}
-
-sub their_xenstorels () {
-    some_xenstorels('theirs', sub {
-	$output{theirs} =~ s{\r\n}{\n}g;
-	while ($output{theirs} =~ m{\n=== calling ".*" main\(\) ===\n\n}) {
-	    $output{theirs} = $'; #';
-	}
-	$output{theirs} =~ m{\n=== main\(\) .* returned (\d+) ===\n} or die;
-	$output{theirs} = $`;
-	die "EXIT STATUS $1 ?" if $1 ne '0';
-	$output{theirs} =~ s{^STUB \`\`\w+'' called\n}{}mg;
-	$output{theirs} =~ s{^/dev/xen/xenbus[:[].*\n}{}mg;
-	$output{theirs} =~ s{^xen devsw:.*\n}{}mg;
-    }, <<END);
-        cat /var/log/xen/console/guest-$gn.log
-END
-}
-
-sub check_output () {
-    eval {
-	our_xenstorels();
-	their_xenstorels();
-	1;
-    };
-    if ($@) {
-	die Dumper(\%output)."$@";
-    }
-    if ($output{ours} ne $output{theirs}) {
-	system qw(diff -u), map { $file{"$_-massaged"} } qw(ours theirs);
-	die "$? COMPARISON FAILED";
-    }
-}
-
-start();
-await_end();
-check_output();
-logm("all good.");
diff --git a/ts-rumprun-test-prep b/ts-rumprun-test-prep
deleted file mode 100755
index 67371710..00000000
--- a/ts-rumprun-test-prep
+++ /dev/null
@@ -1,37 +0,0 @@
-#!/usr/bin/perl -w
-# This is part of "osstest", an automated testing framework for Xen.
-# Copyright (C) 2009-2013 Citrix Inc.
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU Affero General Public License for more details.
-# 
-# You should have received a copy of the GNU Affero General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-use strict qw(vars);
-use DBI;
-BEGIN { unshift @INC, qw(.); }
-use Osstest;
-use POSIX;
-use Osstest::TestSupport;
-use Osstest::Debian;
-
-tsreadconfig();
-
-our ($whhost) = @ARGV;
-$whhost ||= 'host';
-our $ho= selecthost($whhost);
-
-sub packages () {
-    target_install_packages($ho,
-			    qw(binutils));
-}
-
-packages();
-- 
2.11.0


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

^ permalink raw reply related

* [Xen-devel] [OSSTEST PATCH 35/62] TestSupport: Move `target_somefile_getleaf' earlier
From: Ian Jackson @ 2019-04-10 14:23 UTC (permalink / raw)
  To: xen-devel; +Cc: Ian Jackson
In-Reply-To: <20190410142408.22848-1-ian.jackson@eu.citrix.com>

We are going to make more use of this in intervening code.

Pure code motion.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 Osstest/TestSupport.pm | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/Osstest/TestSupport.pm b/Osstest/TestSupport.pm
index ce346097..4e2f120a 100644
--- a/Osstest/TestSupport.pm
+++ b/Osstest/TestSupport.pm
@@ -504,6 +504,15 @@ sub remote_perl_script_done ($) {
     !$? or die "$thing->{What} $?";
 }
 
+sub target_somefile_getleaf ($$$) {
+    my ($lleaf_ref, $rdest, $ho) = @_;
+    if (!defined $$lleaf_ref) {
+        $$lleaf_ref= $rdest;
+        $$lleaf_ref =~ s,.*/,,;
+    }
+    $$lleaf_ref= hostnamepath($ho)."--$$lleaf_ref";
+}
+
 sub sshuho ($$) { my ($user,$ho)= @_; return "$user\@$ho->{Ip}"; }
 
 sub sshopts () {
@@ -591,15 +600,6 @@ sub target_install_packages_norec ($@) {
     target_run_pkgmanager_install($ho,\@packages,1);
 }
 
-sub target_somefile_getleaf ($$$) {
-    my ($lleaf_ref, $rdest, $ho) = @_;
-    if (!defined $$lleaf_ref) {
-        $$lleaf_ref= $rdest;
-        $$lleaf_ref =~ s,.*/,,;
-    }
-    $$lleaf_ref= hostnamepath($ho)."--$$lleaf_ref";
-}
-
 sub tpfcs_core {
     my ($tputfilef,$ho,$timeout,$filedata, $rdest,$lleaf) = @_;
     target_somefile_getleaf(\$lleaf,$rdest,$ho);
-- 
2.11.0


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

^ permalink raw reply related

* [Xen-devel] [OSSTEST PATCH 37/62] TestSupport: Provide target_getfile_root_stash
From: Ian Jackson @ 2019-04-10 14:23 UTC (permalink / raw)
  To: xen-devel; +Cc: Ian Jackson
In-Reply-To: <20190410142408.22848-1-ian.jackson@eu.citrix.com>

This convenient function selects a local filename based on a target
filename, and copies the target file to the selected stash file.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 Osstest/TestSupport.pm | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/Osstest/TestSupport.pm b/Osstest/TestSupport.pm
index a5870e4d..ec867e4f 100644
--- a/Osstest/TestSupport.pm
+++ b/Osstest/TestSupport.pm
@@ -61,6 +61,7 @@ BEGIN {
                       target_cmd_inputfh_root sshuho
                       target_getfile target_getfile_root
                       target_putfile target_putfile_root
+		      target_getfile_root_stash
                       target_putfilecontents_stash
 		      target_putfilecontents_root_stash
                       target_put_guest_image target_editfile
@@ -553,6 +554,14 @@ sub target_getfile_root ($$$$) {
     my ($ho,$timeout, $rsrc,$ldst) = @_;
     tgetfileex('root', @_);
 }
+sub target_getfile_root_stash ($$$;$) {
+    my ($ho,$timeout,$rsrc, $lleaf) = @_; # => full path of local file
+    target_somefile_leaf(\$lleaf, $rsrc, $ho);
+    open_unique_stashfile(\$lleaf); # discard filehandle, leave file
+    my $lfile = "$stash/$lleaf";
+    target_getfile_root($ho,$timeout,$rsrc,$lfile);
+    return $lfile;
+}
 
 sub tputfileex {
     my ($ruser, $ho,$timeout, $lsrc,$rdst, $rsync) = @_;
-- 
2.11.0


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

^ permalink raw reply related

* [Xen-devel] [OSSTEST PATCH 34/62] TestSupport: Move `stashed files' and `next_unique_name' earlier
From: Ian Jackson @ 2019-04-10 14:23 UTC (permalink / raw)
  To: xen-devel; +Cc: Ian Jackson
In-Reply-To: <20190410142408.22848-1-ian.jackson@eu.citrix.com>

We are going to make more use of this in intervening code.

Pure code motion.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 Osstest/TestSupport.pm | 78 +++++++++++++++++++++++++-------------------------
 1 file changed, 39 insertions(+), 39 deletions(-)

diff --git a/Osstest/TestSupport.pm b/Osstest/TestSupport.pm
index 41f6f5f8..ce346097 100644
--- a/Osstest/TestSupport.pm
+++ b/Osstest/TestSupport.pm
@@ -300,6 +300,45 @@ sub get_filecontents ($;$) {
     return $data;
 }
 
+#---------- stashed files ----------
+
+sub next_unique_name ($) {
+    my ($fnref) = @_;
+    my $num = $$fnref =~ s/\+([1-9]\d*)$// ? $1 : 0;
+    $$fnref .= '+'.($num+1);
+}
+
+sub open_unique_stashfile ($) {
+    my ($leafref) = @_;
+    my $dh;
+    for (;;) {
+        my $df= $$leafref;
+        $dh= new IO::File "$stash/$df", O_RDWR|O_EXCL|O_CREAT;
+        last if $dh;
+        die "$df $!" unless $!==&EEXIST;
+        next_unique_name $leafref;
+    }
+    return $dh;
+}
+
+sub get_stashed ($$) {
+    my ($param, $otherflightjob) = @_; 
+    # may be run outside transaction, or with flights locked
+    my ($oflight, $ojob) = otherflightjob($otherflightjob);
+    my $path= get_runvar($param, $otherflightjob);
+    die "$path $& " if
+        $path =~ m,[^-+._0-9a-zA-Z/], or
+        $path =~ m/\.\./;
+    return "$c{Stash}/$oflight/$ojob/$path";
+}
+
+sub compress_stashed($) {
+    my ($path) = @_;
+    return unless -e "$stash/$path";
+    my $r= system 'gzip','-9vf','--',"$stash/$path";
+    die "$r $!" if $r;
+}
+
 #---------- runvars ----------
 
 sub store_runvar ($$) {
@@ -597,12 +636,6 @@ sub target_file_exists ($$) {
     die "$rfile $out ?";
 }
 
-sub next_unique_name ($) {
-    my ($fnref) = @_;
-    my $num = $$fnref =~ s/\+([1-9]\d*)$// ? $1 : 0;
-    $$fnref .= '+'.($num+1);
-}
-
 our $target_editfile_cancel_exception =
     bless { }, 'Osstest::TestSupport::TargetEditfileCancelException';
 
@@ -1369,39 +1402,6 @@ sub hostnamepath ($) {
     join '_', reverse @l;
 }
 
-#---------- stashed files ----------
-
-sub open_unique_stashfile ($) {
-    my ($leafref) = @_;
-    my $dh;
-    for (;;) {
-        my $df= $$leafref;
-        $dh= new IO::File "$stash/$df", O_RDWR|O_EXCL|O_CREAT;
-        last if $dh;
-        die "$df $!" unless $!==&EEXIST;
-        next_unique_name $leafref;
-    }
-    return $dh;
-}
-
-sub get_stashed ($$) {
-    my ($param, $otherflightjob) = @_; 
-    # may be run outside transaction, or with flights locked
-    my ($oflight, $ojob) = otherflightjob($otherflightjob);
-    my $path= get_runvar($param, $otherflightjob);
-    die "$path $& " if
-        $path =~ m,[^-+._0-9a-zA-Z/], or
-        $path =~ m/\.\./;
-    return "$c{Stash}/$oflight/$ojob/$path";
-}
-
-sub compress_stashed($) {
-    my ($path) = @_;
-    return unless -e "$stash/$path";
-    my $r= system 'gzip','-9vf','--',"$stash/$path";
-    die "$r $!" if $r;
-}
-
 #---------- other stuff ----------
 
 sub common_toolstack ($) {
-- 
2.11.0


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

^ permalink raw reply related

* [OSSTEST PATCH 53/62] ts-xen-install: Install libpciaccess0
From: Ian Jackson @ 2019-04-10 14:23 UTC (permalink / raw)
  To: xen-devel; +Cc: Ian Jackson
In-Reply-To: <20190410142408.22848-1-ian.jackson@eu.citrix.com>

In "ts-xen-build-prep: install packages for suites >jessie",
libpciaccess-dev was added for the benefit of qemu.  libvirt needs it
too.

We also need the runtime library.  Without it, libvirt does not start:

  2019-04-04 22:35:36.760+0000: 3623: error : virModuleLoadFile:53 : internal error: Failed to load module '/usr/local/lib/libvirt/connection-driver/libvirt_driver_nodedev.so': libpciaccess.so.0: cannot open shared object file: No such file or directory

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 ts-xen-install | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/ts-xen-install b/ts-xen-install
index 03f8c03e..9f78a75f 100755
--- a/ts-xen-install
+++ b/ts-xen-install
@@ -53,7 +53,8 @@ sub packages () {
 			       qemu-utils
                                netcat-openbsd));
     if ($ho->{Suite} !~ m/squeeze|wheezy|jessie/) {
-        target_install_packages($ho, qw(net-tools libnl-route-3-200));
+        target_install_packages($ho, qw(net-tools libnl-route-3-200 
+					libpciaccess0));
     }
     if ($ho->{Suite} =~ m/jessie/) {
         target_install_packages($ho, qw(libnl-route-3-200));
-- 
2.11.0


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

^ permalink raw reply related

* [OSSTEST PATCH 59/62] Debian: Fix /lib/udev/ifupdown-hotplug to not run if / is ro
From: Ian Jackson @ 2019-04-10 14:24 UTC (permalink / raw)
  To: xen-devel; +Cc: Ian Jackson
In-Reply-To: <20190410142408.22848-1-ian.jackson@eu.citrix.com>

Empirically, without this, on Debian stretch:

 1. udev starts before / is remounted rw
 2. udev spots eth0 and runs /lib/udev/ifupdown-hotplug
 3. ifupdown-hotplug runs ifup which runs isc-dhcp-client
 4. isc-dhcp-client talks to the dhcp server to get an address
 5. isc-dhcp-client tries to write the lease and run the hook
    scripts but something here fails with EROFS
 6. isc-dhcp-client sends DHCPDECLINE to the server
 7. GOTO 4

This loop continues for several seconds, until / is remounted rw.

None of this is appears in any of the guest's logs because syslog is
not running yet, and none of this stuff goes to the console either.
But it does appear in the dhcp *server* logs so that a conscientious
administrator will suffer consternation and concern.

It is not ever sensible to run /lib/udev/ifupdown-hotplug with /
mounted ro.  (Maybe it is not sensible to run udev so early.)
Skipping it is fine because the boot sequence contains an explicit
call to ifup which occurs *after* / is remounted, and that will
collect any interfaces which were skipped earlier.

In my osstest stretch series development tests I don't think I saw any
actual host install failures due to this situation.  The timeouts are
generous enough not to matter, and of course when we install Xen we
reconfigure the host networking to have a static IP address so then
the problem goes away.

In this patch we do this for the host.  We provide a function to
return the appropriate rune which we will use in a moment.

I have not yet reported this situation to the appropriate Debian
channels.  That's on my backlog.  But in any case I have limited the
workaround to stretch so we will revisit this for buster.

The approach to fixing this is somewhat awkward.

Firstly, since the bug is in /lib/udev/ifupdown-hotplug we want to
edit that script.  But we need to do it in the installer environment
as a late_command, because after first boot, via ssh, is too late.
The installer environment has no `patch'.  I didn't want to just
supply a whole new script.  So instead we use sed and mv.

Secondly, as for the contents of /lib/udev/ifupdown-hotplug: I wasn't
able to think of a convenient shell command which will tell us the
errno value from trying to write a file.  Plenty will print the
strerror but I balked at LC_MESSAGES=C and grep.  Perl, however, can
do this, and is always available on Debian.  So perl it is.

Thirdly, the code has a bad case of toothpicks (lots of \), because it
needs to pass through (i) perl (ii) the shell (iii) sed's regexp
syntax and/or i command.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 Osstest/Debian.pm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/Osstest/Debian.pm b/Osstest/Debian.pm
index 9d7d1518..41aa28b0 100644
--- a/Osstest/Debian.pm
+++ b/Osstest/Debian.pm
@@ -48,6 +48,7 @@ BEGIN {
                       preseed_hook_cmds
                       di_installcmdline_core
                       di_vg_name
+                      debian_dhcp_rofs_fix
                       );
     %EXPORT_TAGS = ( );
 
@@ -931,6 +932,9 @@ END
 set -ex
 END
 
+    preseed_hook_command($ho, 'late_command', $sfx,
+			 debian_dhcp_rofs_fix($ho, '/target'));
+
     my $preseed = <<"END";
 d-i debian-installer/locale string en_GB
 d-i console-keymaps-at/keymap select gb
@@ -1563,4 +1567,22 @@ sub debian_guest_di_version ($) {
     return $gho->{DiVersion};
 }
 
+sub debian_dhcp_rofs_fix ($$) {
+    my ($ho, $rootdir) = @_;
+    # Works around bug where /lib/udev/ifupdown-hotplug runs while
+    # / is still ro.  In stretch, the isc dhcp client spins requesting
+    # an address and then sending a DHCPDECLINE (and then, usually,
+    # eventually works).
+    return '' unless $ho->{Suite} =~ m/stretch/;
+    my $script = "$rootdir/lib/udev/ifupdown-hotplug";
+    <<END.<<'ENDQ'.<<END
+set -ex
+sed -e <'$script' >'$script.new' \\
+END
+'/^if \[ -d \/run\/systemd\/system ]; then/ i perl -e '\''use POSIX; my $f="/var/lib/dhcp/rw-fs-check"; exit 0 if open T, ">", $f; die "quitting: $f: $!\\n" if $!==EROFS; warn "warning: $f: $!\\n"'\'' || exit 0'
+ENDQ
+mv '$script.new' '$script'
+END
+}
+
 1;
-- 
2.11.0


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

^ permalink raw reply related

* [Xen-devel] [OSSTEST PATCH 32/62] ts-kernel-build: Enable some additional drivers for Thunder-X
From: Ian Jackson @ 2019-04-10 14:23 UTC (permalink / raw)
  To: xen-devel; +Cc: Ian Jackson
In-Reply-To: <20190410142408.22848-1-ian.jackson@eu.citrix.com>

Without this, our kernels do not find the storage.

Suggested-by: Julien Grall <julien.grall@arm.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 ts-kernel-build | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/ts-kernel-build b/ts-kernel-build
index 0bc443de..3dad7d36 100755
--- a/ts-kernel-build
+++ b/ts-kernel-build
@@ -242,6 +242,17 @@ setopt CONFIG_MMC_DW m
 setopt CONFIG_MMC_DW_EXYNOS m
 setopt CONFIG_REGULATOR_S5M8767 m
 
+# Enable some additonal drivers for Thunder-X
+setopt CONFIG_PCI_HOST_THUNDER_PEM=y
+setopt CONFIG_PCI_HOST_THUNDER_ECAM=y
+setopt CONFIG_THUNDER_NIC_PF=m
+setopt CONFIG_THUNDER_NIC_VF=m
+setopt CONFIG_THUNDER_NIC_BGX=m
+setopt CONFIG_THUNDER_NIC_RGX=m
+setopt CONFIG_MDIO_THUNDER=m
+setopt CONFIG_I2C_THUNDERX=m
+setopt CONFIG_SPI_THUNDERX=m
+
 ####
 
 END
-- 
2.11.0


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

^ permalink raw reply related

* [OSSTEST PATCH 46/62] Debian: set partman-lvm/device_remove_lvm_span
From: Ian Jackson @ 2019-04-10 14:23 UTC (permalink / raw)
  To: xen-devel; +Cc: Ian Jackson
In-Reply-To: <20190410142408.22848-1-ian.jackson@eu.citrix.com>

Web searching[1] suggests that this suppresses this error:

  !! ERROR: Unable to automatically remove LVM data
  Because the volume group(s) on the selected device also consist of
  physical volumes on other devices, it is not considered safe to
  remove its LVM data automatically. If you wish to use this device
  for partitioning, please remove its LVM data first.

[1] eg https://serverfault.com/questions/571363/unable-to-automatically-remove-lvm-data

It doesn't, though.  I am only experiencing it now because the ad-hoc
disk-erasing (25erase-other-disks) is broken for other reasons.  But
let's have it anyway as it sounds like a thing we might want.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 Osstest/Debian.pm | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Osstest/Debian.pm b/Osstest/Debian.pm
index 9dec321f..073b776c 100644
--- a/Osstest/Debian.pm
+++ b/Osstest/Debian.pm
@@ -907,6 +907,7 @@ d-i partman-partitioning/confirm_write_new_label boolean true
 d-i partman/choose_partition select finish
 d-i partman/confirm boolean true
 d-i partman-lvm/confirm boolean true
+d-i partman-lvm/device_remove_lvm_span boolean true
 
 d-i partman/confirm_nooverwrite true
 d-i partman-lvm/confirm_nooverwrite true
-- 
2.11.0


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

^ permalink raw reply related

* [OSSTEST PATCH 61/62] production-config-cambridge: Provide TftpDiVersion_stretch
From: Ian Jackson @ 2019-04-10 14:24 UTC (permalink / raw)
  To: xen-devel; +Cc: Ian Jackson
In-Reply-To: <20190410142408.22848-1-ian.jackson@eu.citrix.com>

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 production-config-cambridge | 1 +
 1 file changed, 1 insertion(+)

diff --git a/production-config-cambridge b/production-config-cambridge
index ce6239bd..a50b19b3 100644
--- a/production-config-cambridge
+++ b/production-config-cambridge
@@ -77,6 +77,7 @@ TftpNetGrubTemplatesReal Netgrub.cfg/%ether%
 TftpNetbootGroup osstest
 TftpDiVersion_wheezy 2016-06-08
 TftpDiVersion_jessie 2018-06-26
+TftpDiVersion_stretch 2019-04-10
 
 DebianSnapshotBackports_jessie http://snapshot.debian.org/archive/debian/20190206T211314Z/
 
-- 
2.11.0


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

^ permalink raw reply related

* [OSSTEST PATCH 51/62] dm restrict audit: always install (some) chiark-scripts
From: Ian Jackson @ 2019-04-10 14:23 UTC (permalink / raw)
  To: xen-devel; +Cc: Ian Jackson
In-Reply-To: <20190410142408.22848-1-ian.jackson@eu.citrix.com>

In
  dm restrict audit: install newer chiark-scripts for fishdescriptor
arrangements were made to install suitable chiark-scripts for
for jessie and stretch.

For buster and later, the mainline Debian version of chiark-scripts is
indeed sufficient, but nothing installed it.  Do that.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 Osstest/Debian.pm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Osstest/Debian.pm b/Osstest/Debian.pm
index 8d53bbe1..9d7d1518 100644
--- a/Osstest/Debian.pm
+++ b/Osstest/Debian.pm
@@ -997,7 +997,7 @@ d-i apt-setup/another boolean false
 d-i apt-setup/non-free boolean false
 d-i apt-setup/contrib boolean false
 
-d-i pkgsel/include string openssh-server, ntp, ntpdate, ethtool, chiark-utils-bin, wget, $extra_packages
+d-i pkgsel/include string openssh-server, ntp, ntpdate, ethtool, chiark-utils-bin, chiark-scripts, wget, $extra_packages
 
 d-i grub-installer/force-efi-extra-removable boolean true
 
-- 
2.11.0


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

^ permalink raw reply related

* [OSSTEST PATCH 57/62] platforms: Honour suite in get_arch_platforms
From: Ian Jackson @ 2019-04-10 14:24 UTC (permalink / raw)
  To: xen-devel; +Cc: Ian Jackson
In-Reply-To: <20190410142408.22848-1-ian.jackson@eu.citrix.com>

The available platforms may depend on the suite to be used.

Actually implement that for HostDB::Executive.
For Static, we leave it to the user.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 Osstest/HostDB/Executive.pm | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/Osstest/HostDB/Executive.pm b/Osstest/HostDB/Executive.pm
index bf6ec57d..7ffca6c4 100644
--- a/Osstest/HostDB/Executive.pm
+++ b/Osstest/HostDB/Executive.pm
@@ -99,18 +99,20 @@ SELECT DISTINCT hostflag
            FROM hostflags h0
    WHERE EXISTS (
        SELECT *
-         FROM hostflags h1, hostflags h2, hostflags h3
+         FROM hostflags h1, hostflags h2, hostflags h3, hostflags h4
         WHERE h0.hostname = h1.hostname
           AND h1.hostname = h2.hostname
           AND h2.hostname = h3.hostname
+          AND h3.hostname = h4.hostname
           AND h1.hostflag = ?
           AND h2.hostflag = ?
           AND h3.hostflag = 'purpose-test'
+          AND h4.hostflag = ?
    )
    AND hostflag like 'platform-%';
 END
 
-    $platsq->execute("blessed-$blessing", "arch-$arch");
+    $platsq->execute("blessed-$blessing", "arch-$arch", "suite-$suite");
 
     while (my ($plat) = $platsq->fetchrow_array()) {
 	$plat =~ s/^platform-//g or die;
-- 
2.11.0


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

^ permalink raw reply related

* [Xen-devel] [OSSTEST PATCH 33/62] ts-xen-build: Enable ITS driver in Xen
From: Ian Jackson @ 2019-04-10 14:23 UTC (permalink / raw)
  To: xen-devel; +Cc: Julien Grall
In-Reply-To: <20190410142408.22848-1-ian.jackson@eu.citrix.com>

From: Julien Grall <julien.grall@arm.com>

The ITS driver was added in Xen 4.10 as a technical preview feature.
However, it is required in order to boot Xen as Thunder-X because
PCI devices don't support legacy interrupt.

So enable CONFIG_ITS in our Xen build.

Signed-off-by: Julien Grall <julien.grall@arm.com>
---
 ts-xen-build | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/ts-xen-build b/ts-xen-build
index 6ddfc533..1762cd61 100755
--- a/ts-xen-build
+++ b/ts-xen-build
@@ -128,6 +128,10 @@ END
 		echo >>xen/.config CONFIG_EXPERT=y
 		echo >>xen/.config CONFIG_HVM_FEP=y
 		echo >>xen/.config CONFIG_VERBOSE_DEBUG=y
+		# ITS driver is required to boot the Hardware Domain
+		# on Xen. For now (Xen 4.10/4.11 at at least),
+		# will be not built by default and gated by expert mode
+		echo >>xen/.config CONFIG_HAS_ITS=y
 	fi
 END
                );
-- 
2.11.0


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

^ permalink raw reply related

* [Xen-devel] [OSSTEST PATCH 19/62] Debian: Fix http:// url for bugs.xenproject.org
From: Ian Jackson @ 2019-04-10 14:23 UTC (permalink / raw)
  To: xen-devel; +Cc: Ian Jackson
In-Reply-To: <20190410142408.22848-1-ian.jackson@eu.citrix.com>

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 Osstest/Debian.pm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Osstest/Debian.pm b/Osstest/Debian.pm
index 80b4cf37..414cd897 100644
--- a/Osstest/Debian.pm
+++ b/Osstest/Debian.pm
@@ -239,7 +239,7 @@ END
 	# Dom0 specific kernel options
 	my @xenkopt = @kopt;
 	push @xenkopt, $xenkopt;
-	# http://bugs.xenproject.org/xen/bug/45
+	# https://bugs.xenproject.org/xen/bug/45
 	push @xenkopt, "clk_ignore_unused"
 	    if $ho->{Suite} =~ m/wheezy|jessie|stretch/;
 
-- 
2.11.0


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

^ permalink raw reply related

* [Xen-devel] [OSSTEST PATCH 30/62] persistent-net: Include initramfs script to copy to target
From: Ian Jackson @ 2019-04-10 14:23 UTC (permalink / raw)
  To: xen-devel; +Cc: Ian Jackson
In-Reply-To: <20190410142408.22848-1-ian.jackson@eu.citrix.com>

This is the piece which actually copies the installer's network names
to the target.  It should not appear on the installed system, so it's
not in overlay-persistent-net.

Technically this is only useful when the installer has the
overlay-persistent-net in it, which is done only in ts-host-install
and not in all the places where setup_netboot_firstboot is used.
But without overlay-persistent-net it is harmless, and it is most
convenient to put it here.

The little script fragment was copied out of a jessie debian-installer
initramfs environment.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 Osstest/Debian.pm | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/Osstest/Debian.pm b/Osstest/Debian.pm
index e246c012..6309b246 100644
--- a/Osstest/Debian.pm
+++ b/Osstest/Debian.pm
@@ -848,6 +848,19 @@ if [ -f /target$grub ] ; then
 fi
 END
 
+    # See comment in debian_overlays re net.ifnames=1
+    $ho->{Suite} =~ m/jessie|wheezy/ or
+	preseed_hook_installscript($ho, $sfx,
+            '/usr/lib/base-installer.d/', '05udev', <<'END');
+#!/bin/sh -e
+
+RULESDIR=etc/udev/rules.d
+
+mkdir -p /target/$RULESDIR
+cp /$RULESDIR/70-persistent-*.rules /target/$RULESDIR 2>/dev/null || true
+
+END
+
     debian_overlays($ho, sub {
 	my ($srcdir, $tfilename) = @_;
 	preseed_hook_overlay($ho, $sfx, $srcdir, $tfilename);
-- 
2.11.0


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

^ permalink raw reply related

* [OSSTEST PATCH 44/62] Debian: preseed_hook_installscript: New $atonce option
From: Ian Jackson @ 2019-04-10 14:23 UTC (permalink / raw)
  To: xen-devel; +Cc: Ian Jackson
In-Reply-To: <20190410142408.22848-1-ian.jackson@eu.citrix.com>

This runs the script right away as well as merely installing it.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 Osstest/Debian.pm | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/Osstest/Debian.pm b/Osstest/Debian.pm
index 3afea62b..d1b52b5b 100644
--- a/Osstest/Debian.pm
+++ b/Osstest/Debian.pm
@@ -1482,20 +1482,23 @@ sub preseed_hook_command ($$$$) {
     push @{ $preseed_cmds{$di_key} }, $cmd_cmd;
 }
 
-sub preseed_hook_installscript ($$$$$) {
-    my ($ho, $sfx, $installer_dir, $installer_leaf, $data) = @_;
+sub preseed_hook_installscript ($$$$$;$) {
+    my ($ho, $sfx, $installer_dir, $installer_leaf, $data, $atonce) = @_;
     # the specified script is installed via partman/early_command
     my $installer_pathname= "$installer_dir/$installer_leaf";
     my $urlfile= $installer_pathname;
     $urlfile =~ s/[^-_0-9a-z]/ sprintf "X%02x", ord($&) /ge;
     my $url= create_webfile($ho, $urlfile, $data);
-    preseed_hook_command($ho, 'partman/early_command', $sfx, <<END);
+    preseed_hook_command($ho, 'partman/early_command', $sfx,
+			 <<END.($atonce?<<END_ATONCE:''));
 #!/bin/sh
 set -ex
 mkdir -p '$installer_dir'
 $preseed_wget -O '$installer_pathname' '$url'
 chmod +x '$installer_pathname'
 END
+'$installer_pathname'
+END_ATONCE
 }
 
 sub preseed_hook_overlay ($$$$) {
-- 
2.11.0


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

^ permalink raw reply related

* [OSSTEST PATCH 54/62] ts-debian-hvm-install: Honour linux_boot_append target var
From: Ian Jackson @ 2019-04-10 14:24 UTC (permalink / raw)
  To: xen-devel; +Cc: Ian Jackson
In-Reply-To: <20190410142408.22848-1-ian.jackson@eu.citrix.com>

This looks for:
  <guest>_linux_boot_append
  all_guest_linux_boot_append

Nothing sets these yet.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 ts-debian-hvm-install | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/ts-debian-hvm-install b/ts-debian-hvm-install
index 54d5d1c2..ed8803ed 100755
--- a/ts-debian-hvm-install
+++ b/ts-debian-hvm-install
@@ -129,6 +129,9 @@ sub gcmdline (;$) {
 					    PreseedScheme => 'file');
     push @dicmdline, $extra if $extra;
 
+    my $append = target_var($gho,'linux_boot_append');
+    push @dicmdline, $append if $append;
+
     push @dicmdline, "--";
     # See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=762007 for
     # why console= is repeated.
-- 
2.11.0


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

^ permalink raw reply related

* [Xen-devel] [OSSTEST PATCH 29/62] ts-host-install: Put canary in 70-persistent-net.rules
From: Ian Jackson @ 2019-04-10 14:23 UTC (permalink / raw)
  To: xen-devel; +Cc: Ian Jackson
In-Reply-To: <20190410142408.22848-1-ian.jackson@eu.citrix.com>

This will allow us to see if the initramfs's network names are being
properly copied to the installed system.  Ie, this is just a debugging
aid.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 ts-host-install | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/ts-host-install b/ts-host-install
index 7423eb9b..ea087a25 100755
--- a/ts-host-install
+++ b/ts-host-install
@@ -218,6 +218,10 @@ SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="$ho->{Ether}", A
 END
     }
 
+    open CANARY, '>>', "$persistent_net_rules" or die $!;
+    print CANARY "\n# - canary - came via initramfs\n" or die $!;
+    close CANARY or die $!;
+
     my %xopts;
 
     di_special_kernel($ho, sub {
-- 
2.11.0


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

^ permalink raw reply related

* [OSSTEST PATCH 58/62] dm restrict, fishdescriptor: Update to a fixed chiark-scripts
From: Ian Jackson @ 2019-04-10 14:24 UTC (permalink / raw)
  To: xen-devel; +Cc: Ian Jackson
In-Reply-To: <20190410142408.22848-1-ian.jackson@eu.citrix.com>

I have only just fixed a bug which stops our test from working
and the fix is not upstream yet.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 production-config | 1 +
 1 file changed, 1 insertion(+)

diff --git a/production-config b/production-config
index 59c74cca..fadfe8b9 100644
--- a/production-config
+++ b/production-config
@@ -106,6 +106,7 @@ MicrocodeUpdateI386 microcode.x86.2015-06-12.cpio
 TftpGrubVersion XXXX-XX-XX
 
 DebianExtraPackages_jessie chiark-scripts_6.0.3~citrix1_all.deb
+DebianExtraPackages_stretch chiark-scripts_6.0.4~citrix1_all.deb
 
 DebianExtraPackages_uefi_i386_jessie   extradebs-uefi-i386-2018-04-01/
 DebianExtraPackages_uefi_amd64_jessie  extradebs-uefi-amd64-2018-04-01/
-- 
2.11.0


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

^ permalink raw reply related

* [OSSTEST PATCH 60/62] Debian: Fix /lib/udev/ifupdown-hotplug in guests from debootstrap
From: Ian Jackson @ 2019-04-10 14:24 UTC (permalink / raw)
  To: xen-devel; +Cc: Ian Jackson
In-Reply-To: <20190410142408.22848-1-ian.jackson@eu.citrix.com>

The ifupdown-hotplug problem just described affects guests too.

Empirically, this occurs only with the guests from xen-tools.  In my
osstest stretch series development tests this resulted in occasional
failures of ts-guest-start.  The problem is not deterministic; and it
may be that it is a race between the guest's random dhcp retry and
osstest's timeout, or something.  The race affected both x86 and ARM.

I conjecture that it only affects xen-tools created guests because
those guests use sysvinit.  Presumably the other guests have systemd
which has some different ordering.  I conjecture that the sysvinit
boot arrangements were damaged by some changes made in stretch to
shared components (udev, probably) to support systemd.

An alternative explanation for seeing the failure only with xen-tools
created guests might be that all guests are affected, but only
xen-tools created guests are booted with a short timeout; whereas the
d-i created ones have a long timeout for firstboot at least.  I don't
believe this theory because all guests are restarted with
ts-guest-start and a short timeout.

So: in ts-debian-fixup, execute the sed rune to fix
/lib/udev/ifupdown-hotplug.  This then happens before first boot.

Debian guests installed via d-i are not affected by this patch.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 ts-debian-fixup | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/ts-debian-fixup b/ts-debian-fixup
index 7d9d0398..fef9836e 100755
--- a/ts-debian-fixup
+++ b/ts-debian-fixup
@@ -212,6 +212,8 @@ target_cmd_root($ho, <<END.debian_overlays_fixup_cmd($ho, $mountpoint));
 set -ex
 END
 
+target_cmd_root($ho, debian_dhcp_rofs_fix($ho, $mountpoint));
+
 console();
 filesystems();
 otherfixupcfg();
-- 
2.11.0


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

^ permalink raw reply related

* [Xen-devel] [OSSTEST PATCH 27/62] ts-host-install: Break out $persistent_net_rules
From: Ian Jackson @ 2019-04-10 14:23 UTC (permalink / raw)
  To: xen-devel; +Cc: Ian Jackson
In-Reply-To: <20190410142408.22848-1-ian.jackson@eu.citrix.com>

We're going to want to reuse this value.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 ts-host-install | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/ts-host-install b/ts-host-install
index 8ea81e24..f80a151c 100755
--- a/ts-host-install
+++ b/ts-host-install
@@ -195,6 +195,9 @@ sub setup_netboot_firstboot($) {
 	system_checked @cmd;
     }
 
+    my $persistent_net_rules =
+	"$initrd_overlay.d/etc/udev/rules.d/70-persistent-net.rules";
+
     my $ipappend = 2;
     my $wantphysif= get_host_property($ho,'interface force','auto');
     logm("Forcing interface $wantphysif");
@@ -206,7 +209,7 @@ sub setup_netboot_firstboot($) {
 	# ip(8) moved to /sbin in Jessie
 	my $ipcmd = $ho->{Suite} =~ m/wheezy/ ? "/bin/ip" : "/sbin/ip";
         file_simple_write_contents
-            ("$initrd_overlay.d/etc/udev/rules.d/70-persistent-net.rules",
+            ($persistent_net_rules,
              $ho->{Flags}{'force-mac-address'} ? <<END : <<END);
 SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", KERNEL=="$wantphysif", RUN += "$ipcmd link set $wantphysif address $ho->{Ether}"
 END
-- 
2.11.0


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

^ permalink raw reply related


This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.