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>
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.
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>
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>
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>
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>
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.
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
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>
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>
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
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>
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>
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>
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>
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>
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>
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>
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>
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:
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>
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.
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>
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.
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.
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.
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>
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>
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>
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>
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>
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>
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>
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>