]> xenbits.xensource.com Git - people/iwj/osstest.git/log
people/iwj/osstest.git
6 years agoFIX NEXT-UNIQUE-NAME wip.stretch
Ian Jackson [Fri, 30 Nov 2018 17:16:55 +0000 (17:16 +0000)]
FIX NEXT-UNIQUE-NAME

6 years agoFIX
Ian Jackson [Fri, 30 Nov 2018 16:50:24 +0000 (16:50 +0000)]
FIX

6 years agots-guests-nbd-mirror: Use target_getfile_root_stash
Ian Jackson [Fri, 30 Nov 2018 16:45:21 +0000 (16:45 +0000)]
ts-guests-nbd-mirror: Use target_getfile_root_stash

That removes the rather ad-hoc open-coding.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
6 years agoTestSupport: Provide target_getfile_root_stash
Ian Jackson [Fri, 30 Nov 2018 16:44:36 +0000 (16:44 +0000)]
TestSupport: Provide target_getfile_root_stash

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>
6 years agoTestSupport: target_somefile_leaf rename and change a variable
Ian Jackson [Fri, 30 Nov 2018 16:42:26 +0000 (16:42 +0000)]
TestSupport: target_somefile_leaf rename and change a variable

Rename this function.  `getleaf' contains `get' which makes it sound
like the function copies something, or returns answers suitable for
getting, or something.

Also rename `$rdest' to `$rfile' since it might be a source too.
(Although we are not about to make it a source...)

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
6 years agoTestSupport: Move `target_somefile_getleaf' earlier
Ian Jackson [Fri, 30 Nov 2018 16:41:14 +0000 (16:41 +0000)]
TestSupport: Move `target_somefile_getleaf' earlier

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>
6 years agoTestSupport: Move `stashed files' earlier
Ian Jackson [Fri, 30 Nov 2018 16:39:13 +0000 (16:39 +0000)]
TestSupport: Move `stashed files' earlier

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>
6 years agots-xen-build: Enable ITS driver in Xen
Julien Grall [Fri, 30 Nov 2018 15:23:42 +0000 (15:23 +0000)]
ts-xen-build: Enable ITS driver in Xen

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>
6 years agots-kernel-build: Enable some additonal drivers for Thunder-X
Ian Jackson [Fri, 30 Nov 2018 15:18:32 +0000 (15:18 +0000)]
ts-kernel-build: Enable some additonal drivers for Thunder-X

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>
6 years agoRevert "production-config: Temporarily drop arm64"
Ian Jackson [Tue, 27 Nov 2018 14:56:21 +0000 (14:56 +0000)]
Revert "production-config: Temporarily drop arm64"

This reverts commit c65d7eb3f6c424d6c1fe69c5ecfca9c0b6cf4302.

6 years agoXXX Switch to Debian Stretch
Wei Liu [Tue, 31 Oct 2017 09:22:57 +0000 (09:22 +0000)]
XXX Switch to Debian Stretch

xxx - cambridge (images, d-i, config)
xxx - rerun di?

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
6 years agoNET2 net.ifnames=0 in di_installcmdline_core
Ian Jackson [Wed, 21 Nov 2018 16:14:13 +0000 (16:14 +0000)]
NET2 net.ifnames=0 in di_installcmdline_core

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
6 years agopersistent-net: Include initramfs script to copy to target
Ian Jackson [Thu, 29 Nov 2018 16:00:56 +0000 (16:00 +0000)]
persistent-net: Include initramfs script to copy to target

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>
6 years agots-host-install: Put canary in 70-persistent-net.rules
Ian Jackson [Thu, 29 Nov 2018 18:01:26 +0000 (18:01 +0000)]
ts-host-install: Put canary in 70-persistent-net.rules

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>
6 years agots-host-install: Break out $persistent_net_rules
Ian Jackson [Thu, 29 Nov 2018 18:00:55 +0000 (18:00 +0000)]
ts-host-install: Break out $persistent_net_rules

We're going to want to reuse this value.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
6 years agopersistent-net: Add overlay in installer >= stretch
Ian Jackson [Tue, 27 Nov 2018 14:33:41 +0000 (14:33 +0000)]
persistent-net: Add overlay in installer >= stretch

We are going to need this in the installer so that the interface names
from the installer environment are captured so that they can be the
same on the host.

This prepares the ground for turning off net.ifnames.  The actual
rules are gated on net.ifnames so right now there is no change.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
6 years agopersistent-net: Add overlay on installed systems >= stretch
Ian Jackson [Tue, 27 Nov 2018 14:25:23 +0000 (14:25 +0000)]
persistent-net: Add overlay on installed systems >= stretch

This prepares the ground for turning off net.ifnames.  The actual
rules are gated on net.ifnames so right now there is no change.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
6 years agooverlay-persistent-net: Copy from jessie
Ian Jackson [Tue, 27 Nov 2018 14:18:38 +0000 (14:18 +0000)]
overlay-persistent-net: Copy from jessie

These were copied from a system running Debian jessie.

The nontrivial files are:
 # Copyright (C) 2006 Marco d'Itri <md@Linux.IT>
 # Copyright (C) 2007 Kay Sievers <kay.sievers@vrfy.org>
and licenced GPLv2+.  That is compatible with osstest's AGPLv3+.

Right now we do nothing with these.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
6 years agocontents_make_cpio: Make files owned by root
Ian Jackson [Tue, 27 Nov 2018 18:58:34 +0000 (18:58 +0000)]
contents_make_cpio: Make files owned by root

This function is called to generate overlays for use, mainly, by the
initramfs.

We are going to use it to ship udev rules.  Annoyingly, udev hates
files which aren't owned by root - it simply ignores them.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
6 years agocontents_make_cpio: Include symlinks
Ian Jackson [Tue, 27 Nov 2018 16:50:26 +0000 (16:50 +0000)]
contents_make_cpio: Include symlinks

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 we will introduce the ciruomlocution involving ( ).

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
6 years agoXXX ts-kernel-build: disable components that don't build
Wei Liu [Tue, 8 May 2018 15:51:39 +0000 (16:51 +0100)]
XXX ts-kernel-build: disable components that don't build

XXX What does this have to do with stretch ?

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
6 years agoXXX ts-guests-nbd-mirror: use target_{get,put}file_root to transfter cfg
Wei Liu [Mon, 30 Oct 2017 14:34:20 +0000 (14:34 +0000)]
XXX ts-guests-nbd-mirror: use target_{get,put}file_root to transfter cfg

The original code used target_cmd_output_root which caused a trailing
new line to be deleted, which caused libvirt converter to fail.

It wasn't discovered until now because we appended too many "\n".

Use target_{get,put}file_root to do the job.

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
---
XXX Ian asks to invent some new APIs to do that.

6 years agoDebian: Fix http:// url for bugs.xenproject.org
Ian Jackson [Tue, 20 Nov 2018 15:28:54 +0000 (15:28 +0000)]
Debian: Fix http:// url for bugs.xenproject.org

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
6 years agoDrop rumprun tests
Wei Liu [Wed, 9 May 2018 08:59:37 +0000 (09:59 +0100)]
Drop rumprun tests

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
6 years agostretch: Use chainloading when booting using GRUB on Arm64
Julien Grall [Tue, 8 May 2018 15:31:17 +0000 (16:31 +0100)]
stretch: Use chainloading when booting using GRUB on Arm64

The GRUB package in Stretch is not able to boot Xen on Arm64.
Use chainloading as we did for Jessie for the time being.

Note that a bug has been filled on Debian to integrate Xen
pactches for the next release (see [1]).

[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=884770

Signed-off-by: Julien Grall <julien.grall@arm.com>
Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
6 years agomake-flight: guest should use jessie to test pvgrub
Wei Liu [Thu, 2 Nov 2017 15:15:04 +0000 (15:15 +0000)]
make-flight: guest should use jessie to test pvgrub

Stretch has 64bit feature enabled for ext4, which pvgrub can't cope.
We want to continue to test pvgrub, so specify jessie in the guest
suite field.

A consequence is that this test will test jessie forever.  Eventually
jessie will rot and then we will no longer be testing pvgrub1.
Hopefully by then no-one will be using it.

CC: Juergen Gross <jgross@suse.com>
Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
6 years agots-debian-di-install: use gho to pick d-i
Wei Liu [Thu, 2 Nov 2017 18:19:25 +0000 (18:19 +0000)]
ts-debian-di-install: use gho to pick d-i

The original code used ho which gave us the host suite, but we wanted
the guest suite.

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
6 years agoadjust how to skip bootloader installation for arm32, in Stretch
Wei Liu [Tue, 31 Oct 2017 12:26:39 +0000 (12:26 +0000)]
adjust how to skip bootloader installation for arm32, in Stretch

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
6 years agoExtend workaround `clk_ignore_unused' to stretch
Wei Liu [Thu, 26 Oct 2017 12:14:43 +0000 (13:14 +0100)]
Extend workaround `clk_ignore_unused' to stretch

This is https://bugs.xenproject.org/xen/bug/45

Without that parameter we lose uart output.

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Julien Grall <julien.grall@linaro.org>
6 years agots-guests-nbd-mirror: make it work with stretch
Wei Liu [Fri, 20 Oct 2017 14:35:06 +0000 (15:35 +0100)]
ts-guests-nbd-mirror: make it work with stretch

On the server side, only add oldstyle= and port= on Wheezy and Jessie.
Stretch doesn't support or need those anymore.

On the client side, generate new style configuration file.

Reorder nbd-client setup a bit. Install it first, then write our own
configuration file, then start it. This make dpkg to not ask what to
do regarding configuration files.

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
v3: invert some tests, rearrange client setup code.

6 years agots-xen-build-prep: install e2fslibs-dev
Wei Liu [Wed, 18 Oct 2017 14:40:01 +0000 (15:40 +0100)]
ts-xen-build-prep: install e2fslibs-dev

The in-tree libfsimage ext2fs implementation can't handle 64bit
enabled ext4, which is the default in stretch.

Installing e2fslibs-dev causes libfsimage to pick up the packaged
ext2fs implementation.

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
6 years agots-debian-fixup: append noresume
Wei Liu [Fri, 13 Oct 2017 12:14:16 +0000 (13:14 +0100)]
ts-debian-fixup: append noresume

See code comment for explanation.

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
6 years agots-debian-fixup: merge origin extra= to our own if necessary
Wei Liu [Tue, 17 Oct 2017 16:10:10 +0000 (17:10 +0100)]
ts-debian-fixup: merge origin extra= to our own if necessary

The original extra= was not removed, so there were two extra= in the
resulting config file.

It wasn't a problem for xl because the second extra= took precedence.
However libvirt tests would only pick up the first extra= --  they
worked by chance.

Fix this issue by merging the original. If there isn't already extra=
in $cfg, use our own.

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
v3: handle situation when no extra= is in $cfg

6 years agots-host-install: don't use the new nic naming scheme
Wei Liu [Thu, 12 Oct 2017 10:01:36 +0000 (11:01 +0100)]
ts-host-install: don't use the new nic naming scheme

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
6 years agots-leak-check: suppress systemd-shim, which leaks in stretch
Wei Liu [Sun, 30 Jul 2017 10:25:45 +0000 (11:25 +0100)]
ts-leak-check: suppress systemd-shim, which leaks in stretch

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
6 years agoDebian.pm: use sysvinit-core instead of systemd
Wei Liu [Thu, 27 Jul 2017 18:16:07 +0000 (19:16 +0100)]
Debian.pm: use sysvinit-core instead of systemd

Install that packages for suites >wheezy, because they use systemd as
the default init.

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
6 years agots-xen-install: install some packages on stretch
Wei Liu [Thu, 27 Jul 2017 10:06:13 +0000 (11:06 +0100)]
ts-xen-install: install some packages on stretch

The "route" command is now in that package.

libnl is needed when running xl.

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
v3: invert condition.

6 years agots-xen-build-prep: install packages for suites >jessie
Wei Liu [Mon, 5 Jun 2017 10:05:03 +0000 (11:05 +0100)]
ts-xen-build-prep: install packages for suites >jessie

Stubdom build needs texinfo.

Libvirt build needs autopoint.

QEMU build needs libpciaccess-dev.

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Acked-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
6 years agots-xen-build-prep: only install w3c-dtd-xhtml for suites <Stretch
Wei Liu [Fri, 2 Jun 2017 17:05:10 +0000 (18:05 +0100)]
ts-xen-build-prep: only install w3c-dtd-xhtml for suites <Stretch

That package is not included in Stretch.

That package was installed because libvirt build needed it. However
libvirt builds fine without it in Stretch.

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
6 years agogitignore: ignore vim swap file
Wei Liu [Thu, 12 Oct 2017 10:03:31 +0000 (11:03 +0100)]
gitignore: ignore vim swap file

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
6 years agoproduction-config: Temporarily drop arm64
Ian Jackson [Mon, 13 Aug 2018 14:54:25 +0000 (15:54 +0100)]
production-config: Temporarily drop arm64

Both our arm64 boxes are out of commission again.

I have filed a ticket to have the recently failed box investigated.
And I am working on the stretcb upgrade which will bring our
Thunder-X into service.

But for now this is the best we can do to unblock everything.

CC: Julien Grall <julien.grall@arm.com>
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
6 years agoproduction-config*: Update to fishdescriptor with chroot bugfix
Ian Jackson [Mon, 19 Nov 2018 16:24:42 +0000 (16:24 +0000)]
production-config*: Update to fishdescriptor with chroot bugfix

Deployment note: I have copied this binary to the images directory in
Cambridge and Massachusetts.  The corresponding patch to chiark-utils
is on its way to my upstream hat.

CC: George Dunlap <george.dunlap@citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
6 years agots-depriv-audit-qemu: chmod +x qemu's chroot
Ian Jackson [Mon, 19 Nov 2018 16:22:04 +0000 (16:22 +0000)]
ts-depriv-audit-qemu: chmod +x qemu's chroot

libxl creates this directory with mode 0.  That prevents
fishdescriptor from working.  chmod it.  This is OK for testing.

CC: George Dunlap <george.dunlap@citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
6 years agots-depriv-audit-qemu: Create complete /run/user in appropriate root
Ian Jackson [Mon, 19 Nov 2018 16:19:44 +0000 (16:19 +0000)]
ts-depriv-audit-qemu: Create complete /run/user in appropriate root

* Use mkdir -p, rather than trying to only create /run/user/$uid.
  That helps if /run and/or /run/user do not exist, as they do in
  libxl-made chroots with recent libxl (which gets qemu to chroot).

* Do all of this in the root directory of the qemu process, not our
  own root directory.  So it works if qemu is chrooted.

CC: George Dunlap <george.dunlap@citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
v2: Actually use $qpid rather than hardcoding 8123 !

squash! ts-depriv-audit-qemu: Create complete /run/user in appropriate root

6 years agots-xen-build: Force reliance on ipxe tarball
Ian Jackson [Mon, 5 Nov 2018 18:31:04 +0000 (18:31 +0000)]
ts-xen-build: Force reliance on ipxe tarball

xen.git/tools/firmware/etherboot/Makefile tries to get a tarball from
xen-extfiles first and if that fails, tries cloning from ipxe.org.

ipxe.org is sometimes down (or half-down) and when that happens
without a tarball the build breaks and is hard to fix.

We would like, therefore, to ensure that the tarball is always made
before the commit which refers to it is in xen.git#master.

osstest has no knowledge of ipxe as a separate thing and just lets
xen.git have whatever version is in Config.mk.  So osstest never needs
to specify particular ipxe version by hash, or the like.

So simply make osstest rely on the tarball existing, by having it
specify a completely invalid URL for the git clone.  This will detect
attempts to update IPXE_GIT_TAG without making a corresponding
tarball.

CC: Paul Durrant <paul.durrant@citrix.com>
Acked-by: Wei Liu <wei.liu2@citrix.com>
6 years agomfi-common: Enable livepatch tests in 4.10 and 4.11 as intended (!)
Ian Jackson [Thu, 1 Nov 2018 13:02:50 +0000 (13:02 +0000)]
mfi-common: Enable livepatch tests in 4.10 and 4.11 as intended (!)

The pattern xen-4.1* matches xen-4.10-testing, xen-4.11-testing, etc.
The right approach is to state the excluded branch names explicitly
as is done elsewhere.

Resulting changes (standalone-generate-dump-flight-runvars):
 * new jobs: test-amd64-{amd64,i386}-livepatch
 * runvar set: enable_livepatch=true in build-ARCH, build-ARCH-xsm
 * all of the above in branches: xen-4.10-testing xen-4.11-testing

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
CC: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>
6 years agomfi-common: Do not set enable_livepatch on build-*-prev
Ian Jackson [Thu, 1 Nov 2018 13:25:50 +0000 (13:25 +0000)]
mfi-common: Do not set enable_livepatch on build-*-prev

branch_wants_livepatch checks the current Xen version.  We don't want
to try enabling livepatch on trees that don't have it.  And for the
-prev build we care about forward migration etc., not about
livepatching the previous version.

Resulting changes (standalone-generate-dump-flight-runvars):
  runvar removed: enable_livepatch=true
  in jobs:        build-amd64-prev build-i386-prev
  in branches:    xen-4.8-testing xen-4.9-testing xen-unstable

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
CC: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>
6 years agocr-for-branches: Add linux-4.19
Ian Jackson [Tue, 30 Oct 2018 16:04:56 +0000 (16:04 +0000)]
cr-for-branches: Add linux-4.19

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
6 years agoproduction-config-cambridge: Use squid cache, not local apt proxy
Ian Jackson [Fri, 26 Oct 2018 10:57:42 +0000 (11:57 +0100)]
production-config-cambridge: Use squid cache, not local apt proxy

debian.uk.xensource.com is no more (and the service name seems to have
been discarded).  There is repo.citrite.net instead but it is a
proprietary appliance which - although it claims to be able to handle
apt repositories - is not compatible with debian-installer; at least,
jessie's d-i.

Swap to ftp.uk.debian.org (and rely for caching on the squid cache
which we have for non-apt stuff already).  That works well enough for
stable suites, at least.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
6 years agomfi-common: Drop freebsd builds on non-freebsd flights
Ian Jackson [Wed, 24 Oct 2018 10:16:32 +0000 (11:16 +0100)]
mfi-common: Drop freebsd builds on non-freebsd flights

Something is wrong with the freebsd repositories.  This causes freebsd
host installation to fail.  This problem has persisted for a while now
and is blocking other work.

For now, drop these.  The jobs being dropped are
      build-amd64-xen-freebsd
      build-amd64-xen-xsm-freebsd
in the branches
      osstest
      xen-unstable
(verified with standalone-generate-dump-flight-runvars).

CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Wei Liu <wei.liu2@citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Roger Pau Monné <roger.pau@citrix.com>
6 years agostandalone-generate-dump-flight-runvars: Add example usage
Ian Jackson [Wed, 24 Oct 2018 10:25:38 +0000 (11:25 +0100)]
standalone-generate-dump-flight-runvars: Add example usage

I have to reinvent these runes each time, which is somewhat annoying.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
6 years agosa-init-db: Fix argument parsing
Ian Jackson [Wed, 24 Oct 2018 10:24:36 +0000 (11:24 +0100)]
sa-init-db: Fix argument parsing

It claimed to have a default db name, but it didn't.  Rework the
option parsing to make the usage message true.  (That saves me typing
  sa-init-db standalone
and getting bizarre errors as sqlite tries to treat the shell script
`standalone' as if it were a database file.)

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
6 years agocr-for-branches: Add linux 4.4 branch as that is an LTS
Ian Jackson [Wed, 17 Oct 2018 15:47:28 +0000 (16:47 +0100)]
cr-for-branches: Add linux 4.4 branch as that is an LTS

6 years agolibvirt.pm: Drop some unneeded parens (no functional change0
Ian Jackson [Thu, 27 Sep 2018 10:29:23 +0000 (11:29 +0100)]
libvirt.pm: Drop some unneeded parens (no functional change0

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
6 years agots-xen-build-prep: install libgnutls28-dev for libvirt build
Wei Liu [Wed, 26 Sep 2018 16:37:04 +0000 (17:37 +0100)]
ts-xen-build-prep: install libgnutls28-dev for libvirt build

d54ecf31b2 placed the build dependency in a wrong file. This patch
adds the dependency to the right file.  Add a runtime dependency in
libvirt.pm.

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
6 years agomake-flight: Test with `sched=credit'
Ian Jackson [Wed, 19 Sep 2018 10:52:37 +0000 (11:52 +0100)]
make-flight: Test with `sched=credit'

The default in xen-unstable#staging is soon to be sched=credit2.  That
leaves osstest not testing credit1 at all.

Add a job that does this.  It's a copy of the -credit2 job.  (It's
a pretty nugatory test but it will probably do.)

We call the test -credit1, although the Xen parameter is =credit.

I have verified with standalone-generate-dump-flight-runvars that the
effect is to add the appropriately mutated copy of the credit2 job to
every flight.  The mutations are solely the sched= parameter and the
job name.

CC: George Dunlap <george.dunlap@citrix.com>
CC: Dario Faggioli <dfaggioli@suse.com>
CC: Jan Beulich <JBeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
CC: Tim Deegan <tim@xen.org>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Reviewed-by: Wei Liu <wei.liu2@citrix.com>
6 years agostandalone: Mention sa-init-db on missing standalone.db
Ian Jackson [Wed, 19 Sep 2018 10:29:18 +0000 (11:29 +0100)]
standalone: Mention sa-init-db on missing standalone.db

I usually do not use standalone mode.  But I use it for
  standalone-generate-dump-flight-runvars

That means I have to have a standalone.db.  ./standalone prints a
message about standalone-reset, which does a lot of undesirable stuff.

Mention sa-init-db too.  That just creates the db with empty tables
and is sufficient for standalone-generate-dump-flight-runvars.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
6 years agolibvirt: Install GnuTLS for libvirt builds
Jim Fehlig [Wed, 5 Sep 2018 21:43:12 +0000 (15:43 -0600)]
libvirt: Install GnuTLS for libvirt builds

Since libvirt commit 60d9ad6f GnuTLS is required to build libvirt. The
various libvirt build tests in osstest began failing after the commit
hit libvirt.git master. Adding libgnutls28-dev to the list of packages
needed to build libvirt will fix the currently broken builds.

Signed-off-by: Jim Fehlig <jfehlig@suse.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
6 years agoREADME.dev: Document things that are now handled by ansible in Mass
Ian Jackson [Thu, 13 Sep 2018 16:51:55 +0000 (17:51 +0100)]
README.dev: Document things that are now handled by ansible in Mass

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
6 years agosg-run-job: Pair tests: Repeat the migration 10x
Ian Jackson [Fri, 7 Sep 2018 17:50:44 +0000 (18:50 +0100)]
sg-run-job: Pair tests: Repeat the migration 10x

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
6 years agoosstest: add missing disk driver name
Roger Pau Monne [Wed, 5 Sep 2018 14:11:39 +0000 (16:11 +0200)]
osstest: add missing disk driver name

elbling boxes uses the mfi driver and have the hard disks in
passthrough mode, which means the mfi driver will expose them as
mfisyspd? instead of mfid?. In order for the installer to detect such
disks add mfisyspd0 to the list of disks to probe.

This should fix the host-install issues reported on elbling boxes:

http://logs.test-lab.xenproject.org/osstest/logs/127304/

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
6 years agoRevert "production-config: Temporarily drop arm64"
Ian Jackson [Wed, 22 Aug 2018 10:49:35 +0000 (11:49 +0100)]
Revert "production-config: Temporarily drop arm64"

This reverts commit 2d3fd8087e746bc5f64d3cf01014aac388a1bb7e.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
CC: Julien Grall <julien.grall@arm.com>
6 years agoosstest: configure git proxy for FreeBSD
Roger Pau Monne [Mon, 20 Aug 2018 10:49:43 +0000 (12:49 +0200)]
osstest: configure git proxy for FreeBSD

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
6 years agoosstest: make git proxy setup common
Roger Pau Monne [Mon, 20 Aug 2018 10:00:19 +0000 (12:00 +0200)]
osstest: make git proxy setup common

By moving it into TestSupport. No functional change.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
6 years agoosstest: add a FreeBSD Xen build job to osstest flights
Roger Pau Monne [Wed, 18 Jul 2018 15:49:40 +0000 (17:49 +0200)]
osstest: add a FreeBSD Xen build job to osstest flights

The runvar diff is the following:

+osstest build-amd64-xen-freebsd     all_host_os        freebsd
+osstest build-amd64-xen-xsm-freebsd all_host_os        freebsd
+osstest build-amd64-xen-freebsd     all_hostflags      PropEq:Firmware:bios:bios
+osstest build-amd64-xen-xsm-freebsd all_hostflags      PropEq:Firmware:bios:bios
+osstest build-amd64-xen-freebsd     arch               amd64
+osstest build-amd64-xen-xsm-freebsd arch               amd64
+osstest build-amd64-xen-freebsd     build_lvextend_max 50
+osstest build-amd64-xen-xsm-freebsd build_lvextend_max 50
+osstest build-amd64-xen-freebsd     enable_livepatch   true
+osstest build-amd64-xen-xsm-freebsd enable_livepatch   true
+osstest build-amd64-xen-freebsd     enable_ovmf        false
+osstest build-amd64-xen-xsm-freebsd enable_ovmf        false
+osstest build-amd64-xen-freebsd     enable_xend        false
+osstest build-amd64-xen-xsm-freebsd enable_xend        false
+osstest build-amd64-xen-freebsd     enable_xsm         false
+osstest build-amd64-xen-xsm-freebsd enable_xsm         true
+osstest build-amd64-xen-freebsd     host_hostflags     arch-amd64,purpose-build
+osstest build-amd64-xen-xsm-freebsd host_hostflags     arch-amd64,purpose-build
+osstest build-amd64-xen-freebsd     revision_minios
+osstest build-amd64-xen-xsm-freebsd revision_minios
+osstest build-amd64-xen-freebsd     revision_ovmf
+osstest build-amd64-xen-xsm-freebsd revision_ovmf
+osstest build-amd64-xen-freebsd     revision_qemu
+osstest build-amd64-xen-xsm-freebsd revision_qemu
+osstest build-amd64-xen-freebsd     revision_qemuu     ap-fetch-version-baseline:qemu-upstream-unstable
+osstest build-amd64-xen-xsm-freebsd revision_qemuu     ap-fetch-version-baseline:qemu-upstream-unstable
+osstest build-amd64-xen-freebsd     revision_seabios
+osstest build-amd64-xen-xsm-freebsd revision_seabios
+osstest build-amd64-xen-freebsd     revision_xen       ap-fetch-version-baseline:xen-unstable
+osstest build-amd64-xen-xsm-freebsd revision_xen       ap-fetch-version-baseline:xen-unstable
+osstest build-amd64-xen-freebsd     tree_minios
+osstest build-amd64-xen-xsm-freebsd tree_minios
+osstest build-amd64-xen-freebsd     tree_ovmf
+osstest build-amd64-xen-xsm-freebsd tree_ovmf
+osstest build-amd64-xen-freebsd     tree_qemu          git://xenbits.xen.org/qemu-xen-traditional.git
+osstest build-amd64-xen-xsm-freebsd tree_qemu          git://xenbits.xen.org/qemu-xen-traditional.git
+osstest build-amd64-xen-freebsd     tree_qemuu         git://xenbits.xen.org/qemu-xen.git
+osstest build-amd64-xen-xsm-freebsd tree_qemuu         git://xenbits.xen.org/qemu-xen.git
+osstest build-amd64-xen-freebsd     tree_seabios
+osstest build-amd64-xen-xsm-freebsd tree_seabios
+osstest build-amd64-xen-freebsd     tree_xen           git://xenbits.xen.org/xen.git
+osstest build-amd64-xen-xsm-freebsd tree_xen           git://xenbits.xen.org/xen.git

Suggested-by: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
6 years agoosstest: add FreeBSD Xen build job
Roger Pau Monne [Fri, 29 Jun 2018 10:09:37 +0000 (12:09 +0200)]
osstest: add FreeBSD Xen build job

To both the FreeBSD and the xen-unstable flights.

This is the runvar difference of all flights:

+freebsd-master build-amd64-xen-freebsd     all_host_os        freebsd
+freebsd-master build-amd64-xen-freebsd     all_hostflags      PropEq:Firmware:bios:bios
+freebsd-master build-amd64-xen-freebsd     arch               amd64
+freebsd-master build-amd64-xen-freebsd     enable_ovmf
+freebsd-master build-amd64-xen-freebsd     enable_xend
+freebsd-master build-amd64-xen-freebsd     enable_xsm
+freebsd-master build-amd64-xen-freebsd     freebsdbuildjob    build-amd64-freebsd
+freebsd-master build-amd64-xen-freebsd     host_hostflags     arch-amd64,purpose-build
+freebsd-master build-amd64-xen-freebsd     recipe_testinstall true
+freebsd-master build-amd64-xen-freebsd     revision_minios
+freebsd-master build-amd64-xen-freebsd     revision_ovmf
+freebsd-master build-amd64-xen-freebsd     revision_qemu
+freebsd-master build-amd64-xen-freebsd     revision_qemuu     ap-fetch-version-baseline:qemu-upstream-unstable
+freebsd-master build-amd64-xen-freebsd     revision_seabios
+freebsd-master build-amd64-xen-freebsd     revision_xen       ap-fetch-version-baseline:xen-unstable
+freebsd-master build-amd64-xen-freebsd     tree_minios
+freebsd-master build-amd64-xen-freebsd     tree_ovmf
+freebsd-master build-amd64-xen-freebsd     tree_qemu          git://xenbits.xen.org/qemu-xen-traditional.git
+freebsd-master build-amd64-xen-freebsd     tree_qemuu         git://xenbits.xen.org/qemu-xen.git
+freebsd-master build-amd64-xen-freebsd     tree_seabios
+freebsd-master build-amd64-xen-freebsd     tree_xen           git://xenbits.xen.org/xen.git
+xen-unstable   build-amd64-xen-freebsd     all_host_os        freebsd
+xen-unstable   build-amd64-xen-xsm-freebsd all_host_os        freebsd
+xen-unstable   build-amd64-xen-freebsd     all_hostflags      PropEq:Firmware:bios:bios
+xen-unstable   build-amd64-xen-xsm-freebsd all_hostflags      PropEq:Firmware:bios:bios
+xen-unstable   build-amd64-xen-freebsd     arch               amd64
+xen-unstable   build-amd64-xen-xsm-freebsd arch               amd64
+xen-unstable   build-amd64-xen-freebsd     build_lvextend_max 50
+xen-unstable   build-amd64-xen-xsm-freebsd build_lvextend_max 50
+xen-unstable   build-amd64-xen-freebsd     enable_livepatch   true
+xen-unstable   build-amd64-xen-xsm-freebsd enable_livepatch   true
+xen-unstable   build-amd64-xen-freebsd     enable_ovmf        false
+xen-unstable   build-amd64-xen-xsm-freebsd enable_ovmf        false
+xen-unstable   build-amd64-xen-freebsd     enable_xend        false
+xen-unstable   build-amd64-xen-xsm-freebsd enable_xend        false
+xen-unstable   build-amd64-xen-freebsd     enable_xsm         false
+xen-unstable   build-amd64-xen-xsm-freebsd enable_xsm         true
+xen-unstable   build-amd64-xen-freebsd     host_hostflags     arch-amd64,purpose-build
+xen-unstable   build-amd64-xen-xsm-freebsd host_hostflags     arch-amd64,purpose-build
+xen-unstable   build-amd64-xen-freebsd     revision_minios
+xen-unstable   build-amd64-xen-xsm-freebsd revision_minios
+xen-unstable   build-amd64-xen-freebsd     revision_ovmf
+xen-unstable   build-amd64-xen-xsm-freebsd revision_ovmf
+xen-unstable   build-amd64-xen-freebsd     revision_qemu
+xen-unstable   build-amd64-xen-xsm-freebsd revision_qemu
+xen-unstable   build-amd64-xen-freebsd     revision_qemuu     ap-fetch-version-baseline:qemu-upstream-unstable
+xen-unstable   build-amd64-xen-xsm-freebsd revision_qemuu     ap-fetch-version-baseline:qemu-upstream-unstable
+xen-unstable   build-amd64-xen-freebsd     revision_seabios
+xen-unstable   build-amd64-xen-xsm-freebsd revision_seabios
+xen-unstable   build-amd64-xen-freebsd     revision_xen       ap-fetch-version:xen-unstable
+xen-unstable   build-amd64-xen-xsm-freebsd revision_xen       ap-fetch-version:xen-unstable
+xen-unstable   build-amd64-xen-freebsd     tree_minios
+xen-unstable   build-amd64-xen-xsm-freebsd tree_minios
+xen-unstable   build-amd64-xen-freebsd     tree_ovmf
+xen-unstable   build-amd64-xen-xsm-freebsd tree_ovmf
+xen-unstable   build-amd64-xen-freebsd     tree_qemu          git://xenbits.xen.org/qemu-xen-traditional.git
+xen-unstable   build-amd64-xen-xsm-freebsd tree_qemu          git://xenbits.xen.org/qemu-xen-traditional.git
+xen-unstable   build-amd64-xen-freebsd     tree_qemuu         git://xenbits.xen.org/qemu-xen.git
+xen-unstable   build-amd64-xen-xsm-freebsd tree_qemuu         git://xenbits.xen.org/qemu-xen.git
+xen-unstable   build-amd64-xen-freebsd     tree_seabios
+xen-unstable   build-amd64-xen-xsm-freebsd tree_seabios
+xen-unstable   build-amd64-xen-freebsd     tree_xen           git://xenbits.xen.org/xen.git
+xen-unstable   build-amd64-xen-xsm-freebsd tree_xen           git://xenbits.xen.org/xen.git

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
Changes since v2:
 - Only add FreeBSD Xen buildjobs to the xen-* branches.

Changes since v1:
 - Fix enabling of FreeBSD Xen buildjob based on branch.
 - Introduce a helper to add the FreeBSD Xen build jobs.
 - Introduce the ts-xen-build-freebsd wrapper around ts-xen-build for
   FreeBSD.
 - Introduce a create_xen_build_job helper.

6 years agoosstest: introduce a helper to create Xen build jobs
Roger Pau Monne [Thu, 12 Jul 2018 14:54:41 +0000 (16:54 +0200)]
osstest: introduce a helper to create Xen build jobs

This is currently a non-functional change, since no new jobs are
added, and the existing ones should stay unchanged. Runvars of all
flights remain unchanged.

The purpose of the helper is to allow adding different Xen build jobs,
with likely different runvars in the future.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
6 years agoosstest: set the make command to use for xen-build
Roger Pau Monne [Fri, 29 Jun 2018 08:18:04 +0000 (10:18 +0200)]
osstest: set the make command to use for xen-build

The default make on FreeBSD is the BSD make, and Xen requires the GNU
make in order to build. Set the make command based on the OS for the
Xen build.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
Changes since v1:
 - Use gmake for all BSDs.

6 years agoosstest: limit FreeBSD jobs to hardware booting in BIOS mode
Roger Pau Monne [Wed, 4 Jul 2018 16:06:17 +0000 (18:06 +0200)]
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@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
Changes since v2:
 - Fix hosts flight to not require BIOS firmware.

Changes since v1:
 - Fix nonbreaking space.
 - Fix long line.

6 years agoosstest: abstract code to create a FreeBSD build job
Roger Pau Monne [Wed, 4 Jul 2018 15:21:48 +0000 (17:21 +0200)]
osstest: abstract code to create a FreeBSD build job

Into a helper. A diff of the runvars of flights generated with and
without the patch show no differences.

No functional change.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
6 years agoosstest: remove duplicate set_freebsd_runvars
Roger Pau Monne [Fri, 29 Jun 2018 11:45:09 +0000 (13:45 +0200)]
osstest: remove duplicate set_freebsd_runvars

The set_freebsd_runvars helper in mfi-common is a superset of the
original function present in make-freebsd-flight, and will attempt to
fetch the last anointed FreeBSD build as a last resort option if no
FreeBSD build is signaled from the FreeBSD env vars. There's no reason
to have this duplication, since the set_freebsd_runvars in mfi-common
is perfectly suitable to be used by make-freebsd-flight.

This duplication was wrongly introduced by d36a7d892f by adding a
set_freebsd_runvars to mfi-common without removing the original
function in make-freebsd-flight.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
Changes since v1:
 - Add commit message.

6 years agoosstest: allow appending to existing runvars
Ian Jackson [Wed, 4 Jul 2018 15:21:15 +0000 (17:21 +0200)]
osstest: allow appending to existing runvars

So that the contents of the runvar can be expanded. There are
currently two ways to do this:

 - Using += will append to the end of the runvar.
 - Using ,= will append to the end of the runvar using ',' as the
   separator.

Note that if the runvar is empty {,|+}= just sets the runvar.

Signed-off-by: Ian Jackson <ian.jackson@citrix.com>
6 years agodummy flight generation: cs-hosts-list should not print { }
Ian Jackson [Tue, 17 Jul 2018 14:51:42 +0000 (14:51 +0000)]
dummy flight generation: cs-hosts-list should not print { }

With newer bash, this causes
      local envvar="FREEBSD_${arch^^}_BUILDJOB"
      if [ -n "${!envvar}" ]; then
to (properly) report a syntax error.

As Roger says, it is better to print a dummy host for each
architecture, so do that.

Reported-by: Roger Pau Monné <roger.pau@citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
6 years agodummy flight generation: Tolerate lack of repos
Ian Jackson [Tue, 17 Jul 2018 14:50:35 +0000 (14:50 +0000)]
dummy flight generation: Tolerate lack of repos

In particular
  OSSTEST_CONFIG=standalone-config-example eatmydata bash -x ./standalone-generate-dump-flight-runvars
should not require ~/osstest-repos to exist.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
6 years agocr-publish-flight-logs: Work with --push-harness but no remote git
Ian Jackson [Tue, 14 Aug 2018 09:48:02 +0000 (10:48 +0100)]
cr-publish-flight-logs: Work with --push-harness but no remote git

--push-harness might be specified even though there is no git tree to
push to.  In that situation, do not daftly not even push the logs.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
6 years agoproduction-config: Temporarily drop arm64
Ian Jackson [Mon, 13 Aug 2018 14:54:25 +0000 (15:54 +0100)]
production-config: Temporarily drop arm64

Both our arm64 boxes are out of commission and repairing them is
taking too long.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Julien Grall <julien.grall@arm.com>
6 years agoPublish: Cambridge: Get the public URL right
Ian Jackson [Wed, 11 Jul 2018 14:10:30 +0000 (15:10 +0100)]
Publish: Cambridge: Get the public URL right

This URL is now accessible, although there are some webserver tweaks
remaining to do.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
6 years agoPublish: Cambridge: Publish to new public host
Ian Jackson [Wed, 11 Jul 2018 11:20:00 +0000 (12:20 +0100)]
Publish: Cambridge: Publish to new public host

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
6 years agoPublish: Introduce {Logs,Results}PublishSshOpts
Ian Jackson [Wed, 11 Jul 2018 11:06:12 +0000 (12:06 +0100)]
Publish: Introduce {Logs,Results}PublishSshOpts

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
6 years agoPublish: Introduce publish_ssh_opts
Ian Jackson [Wed, 11 Jul 2018 11:15:50 +0000 (12:15 +0100)]
Publish: Introduce publish_ssh_opts

We need to pass it $cfgbase because this will soon be configurable.

No functional change right now.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
6 years agocr-publish-flight-logs: Refactor rsync -e option construction
Ian Jackson [Wed, 11 Jul 2018 11:07:47 +0000 (12:07 +0100)]
cr-publish-flight-logs: Refactor rsync -e option construction

Previously this was hardcoded.  Now we make a variable @ssh, and use
rsync's quoting scheme to transform it into a value suitable for -e.

No overall functional change, although now the rsync command contains
additional quotes in the -e option.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
6 years agocr-publish-flight-logs: Refactor copydir args
Ian Jackson [Wed, 11 Jul 2018 11:02:26 +0000 (12:02 +0100)]
cr-publish-flight-logs: Refactor copydir args

Have it take $cfgbase and $subdir instead.  This allows us to lift the
config test into it.  And it will be even more useful in a moment.

No functional change.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
6 years agoPublish: Default LogsPublish and ResultsPublish from Publish
Ian Jackson [Wed, 11 Jul 2018 10:48:40 +0000 (11:48 +0100)]
Publish: Default LogsPublish and ResultsPublish from Publish

And delete the explicit settings from production-config.

No functional change.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
6 years agocr-ensure-disk-space: With -D, print check_space command
Ian Jackson [Wed, 11 Jul 2018 13:20:07 +0000 (14:20 +0100)]
cr-ensure-disk-space: With -D, print check_space command

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
6 years agoresource allocation: PropEq, PropMinVer: support defaults
Ian Jackson [Wed, 4 Jul 2018 10:53:11 +0000 (11:53 +0100)]
resource allocation: PropEq, PropMinVer: support defaults

Now you can pass another :-separated argument, the default value to
use if none is specified.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
CC: Roger Pau Monné <royger@FreeBSD.org>
6 years agoresource allocation: PropEq, PropMinVer: Honour HostProp_...
Ian Jackson [Wed, 4 Jul 2018 10:52:27 +0000 (11:52 +0100)]
resource allocation: PropEq, PropMinVer: Honour HostProp_...

We need to take these from the config too.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
CC: Roger Pau Monné <royger@FreeBSD.org>
6 years agoresource allocation: PropCompareBase: Break out _get_val
Ian Jackson [Wed, 4 Jul 2018 10:41:22 +0000 (11:41 +0100)]
resource allocation: PropCompareBase: Break out _get_val

This is going to make defaulting etc. a bit easier.

No functional change.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
CC: Roger Pau Monné <royger@FreeBSD.org>
6 years agoPDU: ipmi: Pass further options to ipmitool
Ian Jackson [Wed, 11 Jul 2018 14:31:30 +0000 (14:31 +0000)]
PDU: ipmi: Pass further options to ipmitool

This is useful, for example, for passing `-I lanplus'.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
6 years agoPDU: ipmi: Only log the first cmd run
Ian Jackson [Wed, 11 Jul 2018 14:31:03 +0000 (14:31 +0000)]
PDU: ipmi: Only log the first cmd run

This quietens the output again.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
6 years agoPDU: pause: Honour OSSTEST_PDU_NOPAUSE
Ian Jackson [Wed, 11 Jul 2018 14:27:27 +0000 (14:27 +0000)]
PDU: pause: Honour OSSTEST_PDU_NOPAUSE

For debugging.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
6 years agoPDU: ipmi: Use arrays rather than strings for cmd
Ian Jackson [Wed, 11 Jul 2018 14:26:45 +0000 (14:26 +0000)]
PDU: ipmi: Use arrays rather than strings for cmd

This allows arguments with spaces, etc.

No functional change with the existing configurations I know about.
It would be good to fix this before any configurations are created
where this would make a difference...

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
6 years agocs-adjust-flight: Allow runvar-build-set new value to be just "."
Ian Jackson [Fri, 6 Jul 2018 13:36:37 +0000 (14:36 +0100)]
cs-adjust-flight: Allow runvar-build-set new value to be just "."

This is useful because if you say new: for the flight to be adjusted,
you don't have the flight number.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
6 years agots-depriv-audit-qemu: Leaked substeps are `blocked', and then script is fail
Ian Jackson [Fri, 6 Jul 2018 11:08:33 +0000 (12:08 +0100)]
ts-depriv-audit-qemu: Leaked substeps are `blocked', and then script is fail

If thus script crash in some non-substep-specific operation, the
substeps may have been created (and thus be in the db as `running').
Leaving them like this is not allowed: it is treated by sg-run-job,
and by the archaeologists as an internal error.

If this happens, what we want is for the script as a whole to be
`fail', and for the failing tests to be `blocked'.  The former will
spot if this crash is a regression.  The latter will avoid treating
the substeps themselves as regressions.

Reported-by: Anthony PERARD <anthony.perard@citrix.com>
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
6 years agoarmhf, xsm: Drop XSM tests on 32-bit ARM
Ian Jackson [Fri, 6 Jul 2018 11:05:37 +0000 (12:05 +0100)]
armhf, xsm: Drop XSM tests on 32-bit ARM

We are at the limit of ARM capacity, which has not kept pace with X86
expansion.  New hardware is on the way but it is not here yet.

Dropping the XSM tests drops one test, but also one build, which saves
considerable effort.  Builds are currently the bottleneck, because we
avoid building on the unreliable Arndale boards.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Julien Grall <julien.grall@arm.com>
6 years agoxsm_variants: Allow XSM enablement to depend on the architecture
Ian Jackson [Fri, 6 Jul 2018 11:04:25 +0000 (12:04 +0100)]
xsm_variants: Allow XSM enablement to depend on the architecture

Builds and tests have different ideas about arch variables, because
tests have dom0 arch, xen arch, etc.  So pass it in as a parameter.

No functional change.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
6 years agolibvirt build: Set make_njobs=1 except when testing libvirt
Ian Jackson [Fri, 6 Jul 2018 10:36:59 +0000 (11:36 +0100)]
libvirt build: Set make_njobs=1 except when testing libvirt

libvirt has a -j bug.  This is allegedly going to be fixed in upstream
RSN ?  Anyway, for now, serialise all the builds on other branches so
they are not affected.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
6 years agoBuildSupport: Honour new runvar make_njobs
Ian Jackson [Fri, 6 Jul 2018 10:25:36 +0000 (11:25 +0100)]
BuildSupport: Honour new runvar make_njobs

Having a hardcoded -j4, and having this come via DefMakeFlags, is not
brilliant.  But at least this make_njobs variable has better semantics
so won't make it harder to make this more sophisticated later.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
6 years agoPDU::ipmi_try: New method
Ian Jackson [Mon, 2 Jul 2018 16:40:40 +0000 (16:40 +0000)]
PDU::ipmi_try: New method

For power on, this is just like ipmi.

For power off, it doesn't mind errors (although it has three
attempts).  This is useful when combined with pdu power: if the
chassis power is already off, ipmi will fail.

If the ipmi operation does fail, then the chassing pdu power operation
will do the job.  So this will also fix things if the test case
crashed the bmc or something.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
6 years agoPDU::pause: Better pause time configuration
Ian Jackson [Mon, 2 Jul 2018 15:39:47 +0000 (15:39 +0000)]
PDU::pause: Better pause time configuration

If no time is specified, use 120 (or the PowerOnTime host property
value) when powering on, or 10 when powering off.

This is all intended to be used like this:
  HostProp_rimava0_PowerMethod nest; msw --apc6 pdu2 19; pause; ipmi rimava0m

This means:
  * For power on, first turn on the APC PDU pdu2 port 19
  * Wait 120s (or HostProp_rimava0_PowerOnTime)
  * Then ipmi to the host name rimava0m with ADMIN/ADMIN
    (or HostProp_rimava0_IpmiUser/HostProp_rimava0_IpmiPassword)
  * For power off, do that in reverse, only with a 10s pause.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
6 years agoPowerMethod: New pause functionality
Ian Jackson [Fri, 29 Jun 2018 16:32:16 +0000 (16:32 +0000)]
PowerMethod: New pause functionality

And, an abbreviation for invoking it: just writing numbers (or
<on>/<off> pair of numbers).

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>