]> xenbits.xensource.com Git - people/dariof/osstest.git/log
people/dariof/osstest.git
10 years agoTesting cpupools: recipe for it and job definition test-cpupools
Dario Faggioli [Thu, 18 Dec 2014 10:36:01 +0000 (11:36 +0100)]
Testing cpupools: recipe for it and job definition

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
---
Changes from v1:
 * added invocation to ts-guest-stop in the recipe to kill
   leak-check complaints (which went unnoticed during v1
   testing, sorry)
 * moved the test before the "ARM cutoff", and remove the
   per-arch filtering, so that the test can run on ARM
   hardware too

10 years agots-cpupools: new test script
Dario Faggioli [Thu, 11 Dec 2014 14:52:04 +0000 (15:52 +0100)]
ts-cpupools: new test script

for smoke testing cpupools a bit. It tries to partition
a live host in two cpupools, trying out the following 3
schedulers for the new cpupool (one after the other):
 credit, credit2 and RTDS.

It also tries to migrating a domain to the new cpupool
and then back to Pool-0.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
Acked-by: Juergen Gross <jgross@suse.com>
10 years agoDebian: Handle systems where u-boot includes 0x on $filesize master
Ian Campbell [Thu, 29 Jan 2015 11:37:39 +0000 (11:37 +0000)]
Debian: Handle systems where u-boot includes 0x on $filesize

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
10 years agoREADME.dev: Document the usage of stop files
Ian Campbell [Fri, 23 Jan 2015 15:34:51 +0000 (15:34 +0000)]
README.dev: Document the usage of stop files

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
10 years agoREADME.dev: Document how to do a force push.
Ian Campbell [Tue, 6 Jan 2015 13:51:17 +0000 (13:51 +0000)]
README.dev: Document how to do a force push.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
10 years agoAdd a flight to test OVMF master branch
Wei Liu [Mon, 12 Jan 2015 17:15:32 +0000 (17:15 +0000)]
Add a flight to test OVMF master branch

Do the usual stuffs for adding a new branch (ap-* cr-* etc).

Modify ts-xen-build so that it builds Xen with the specified ovmf tree
and revision.

Only build and test on x86 by modifying make-flight and mfi-common.

New branch is added to cr-daily-branch. It exports the tree and
changeset used for the test if set. Otherwise the values in Config.mk
are used.

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
10 years agomake-flight: reorganize scheduling related test jobs
Dario Faggioli [Thu, 8 Jan 2015 17:47:02 +0000 (18:47 +0100)]
make-flight: reorganize scheduling related test jobs

Scheduling related tests are ok to run on ARM, so do
not cut them off. They also do not depend on a
particular Dom0 architecture.

The net effect is that the following tests are removed:
 test-amd64-i386-xl-credit2
 test-amd64-i386-xl-multivcpu

while the following new ones are created:
 test-amd64-amd64-xl-credit2
 test-amd64-amd64-xl-multivcpu
 test-armhf-armhf-xl-credit2
 test-armhf-armhf-xl-multivcpu
 test-armhf-armhf-xl-sedf
 test-armhf-armhf-xl-sedf-pin

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
10 years agoSwitch ARM testing back to linux-arm-xen branch.
Ian Campbell [Thu, 22 Jan 2015 15:53:35 +0000 (15:53 +0000)]
Switch ARM testing back to linux-arm-xen branch.

The cubietruck and arndale boards need a newer kernel than our current
baseline of 3.14. Therefore switch all ARM testing to the
linux-arm-kernel branch which has been moved up to test v3.16.

This effectively reverts commit 38b2fe2020883 "Switch armhf to use
common default Linux."

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
10 years agoDebian: create boot.scr.nat when installing Xen on u-boot.
Ian Campbell [Thu, 22 Jan 2015 11:05:07 +0000 (11:05 +0000)]
Debian: create boot.scr.nat when installing Xen on u-boot.

This boots the kernel we've build natively, where boot.xen boots Xen
and boot.deb boots the original Debian kernel.

Sometimes convenient when debugging issues.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
10 years agoTestSupport: replace power_cycle_timeout with power_cycle_sleep
Ian Campbell [Thu, 22 Jan 2015 11:05:06 +0000 (11:05 +0000)]
TestSupport: replace power_cycle_timeout with power_cycle_sleep

Which does the actual sleep and logs that it is doing so.

Otherwise on a machine which has a longish PowerCycleTime I keep
wondering why osstest has hung...

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
10 years agoDebian: Create boot.scr with a suffix and copy to boot.scr
Ian Campbell [Thu, 22 Jan 2015 11:05:05 +0000 (11:05 +0000)]
Debian: Create boot.scr with a suffix and copy to boot.scr

This ensures that we always have a boot script to boot at least the
native Debian kernel and Xen available, even after multiple iterations
of installation, which is handy when debugging a system.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
10 years agots-kernel-build: Adjust kernel .config to work on the arndale boards.
Ian Campbell [Thu, 22 Jan 2015 11:05:04 +0000 (11:05 +0000)]
ts-kernel-build: Adjust kernel .config to work on the arndale boards.

Various drivers are missing from multi_v7_defconfig in v3.16, also
some drivers which don't play nice are enabled by default, so remove
them.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
10 years agoOsstest/Debian: Add 0x prefix to $filesize
Ian Campbell [Thu, 22 Jan 2015 11:05:03 +0000 (11:05 +0000)]
Osstest/Debian: Add 0x prefix to $filesize

$filesize is an unprefixed hex number, but fdt set requires the 0x to
interpret it properly. See
http://lists.denx.de/pipermail/u-boot/2014-October/193622.html,
http://lists.denx.de/pipermail/u-boot/2014-November/194150.html and
http://lists.denx.de/pipermail/u-boot/2014-November/194150.html.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
10 years agoOsstest/Debian: Add "clk_ignore_unused" to default command line
Ian Campbell [Thu, 22 Jan 2015 11:05:02 +0000 (11:05 +0000)]
Osstest/Debian: Add "clk_ignore_unused" to default command line

dom0 is not aware that some clocks are actually in use (e.g. by the
hypervisor), so this stops the kernel from messing with (specifically,
disabling) those clocks. It's harmless even when not needed.

Really there ought to be some interface to communicate this from Xen
to dom0, or some other mechanism to gate things. See
http://bugs.xenproject.org/xen/bug/45

This bug is present in at least Wheezy and Jessie so apply this
workaround to those.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
10 years agoOsstest/Debian: Remove hardcoded addresses from boot.scr
Ian Campbell [Thu, 22 Jan 2015 11:05:01 +0000 (11:05 +0000)]
Osstest/Debian: Remove hardcoded addresses from boot.scr

Those are specific to the midway platform.

This depends on a change to the hostdb to add "0x01000000" as the
value of a new UBootSetXenAddrR property of the midway machines.

Most platforms will need something similar. For both cubietruck and
arndale 0x41000000.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
10 years agoOsstest/Debian: support adding a rootdelay property to bootargs
Ian Campbell [Thu, 22 Jan 2015 11:05:00 +0000 (11:05 +0000)]
Osstest/Debian: support adding a rootdelay property to bootargs

arndale appears to be quite slow (and asynchronous) at finding it's
scsi controller. rootdelay=3 seems to do the trick.

For the dom0 case this involved refactoring the existing provision of
the commandline to be less open-coded in the boot script here doc.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
10 years agoOsstest/Debian.pm: Refactor common kernel cmdline setup.
Ian Campbell [Thu, 22 Jan 2015 11:04:59 +0000 (11:04 +0000)]
Osstest/Debian.pm: Refactor common kernel cmdline setup.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
10 years agoOsstest/Debian: Refactor setting of dom0 kernel command line.
Ian Campbell [Thu, 22 Jan 2015 11:04:58 +0000 (11:04 +0000)]
Osstest/Debian: Refactor setting of dom0 kernel command line.

This will make it easier to make components optional in the future.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
10 years agoOsstest/Debian: Support for loading an FDT from u-boot script
Ian Campbell [Thu, 22 Jan 2015 11:04:57 +0000 (11:04 +0000)]
Osstest/Debian: Support for loading an FDT from u-boot script

The currently supported platform provides an FDT preloaded at 0x1000.
Replace this with ${fdt_addr} (which the current platform exposes) and
for platforms which do not provide an fdt arrange to load the relevant
file as named in the ${fdtfile} (which is conventionally provided by
u-boot for platforms which need this).

Drop some random memory clearing rune, I've no idea what the intended
purpose was, 0x800000 doesn't correspond to any $foo_addr_r on the
midway systems for example.

Also get rid of the scsi scan which must necessarily have already
happened (since the boot.scr itselfs lives on a scsi drive).

Lastly, add some echos to show progress through the script, as an aid
to debugging.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
10 years agoOsstest/Debian: Install dtbs into target filesystem in /boot/dtbs
Ian Campbell [Thu, 22 Jan 2015 11:04:56 +0000 (11:04 +0000)]
Osstest/Debian: Install dtbs into target filesystem in /boot/dtbs

This is done whenever dtbs.tar.gz exists. mg-debian-installer-update
produces the necessary inputs on the relevant platform (armhf).

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
10 years agoOsstest/PDU: Add eth008.pm method to control the ARM rack PDU
Ian Campbell [Thu, 22 Jan 2015 11:04:55 +0000 (11:04 +0000)]
Osstest/PDU: Add eth008.pm method to control the ARM rack PDU

This controls the eth008 relay board:
http://www.robot-electronics.co.uk/htm/eth008tech.htm

Due to the use of the CGI interface this requires firmware version 4+.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
10 years agomake-flight: Run a basic test on each arm platform
Ian Campbell [Thu, 22 Jan 2015 11:04:54 +0000 (11:04 +0000)]
make-flight: Run a basic test on each arm platform

Unlike x86 there is enough variation in the ARM platforms that it is
worth having a basic test on each as part of a standard run. This
relies on each host having an appropriate platform-$platform host
flag.

The existing test-ARCH-ARCH-xl test is retained as a floating test,
while a new variant is added for each distinct platform present in the
hostdb which is tied to that platform type. The intention is that only
arm platforms will have platforms at first, although perhaps
platform-intel and platform-amd could be added in the future too.

There are currently no platform-* flags in the hostdb, so tested with
s/platform-/equiv-/ and:

  ( set -ex ;
    source ./cri-getplatforms ;
    blessing=real ;
    export OSSTEST_CONFIG=production-config ;
    for p in '' `getplatforms "armhf"` ; do
      set +x ;
      echo PLATFORM: $p ;
    done
  )
which prints:
  PLATFORM:
  PLATFORM: marilith
and with s/armhf/amd64/:
  PLATFORM:
  PLATFORM: rackservers-s40670
  PLATFORM: r310-moth
  PLATFORM: rackservers-s40680
  PLATFORM: dell-r310
  PLATFORM: rackservers-s40679
  PLATFORM: rackservers-s40663
  PLATFORM: rackservers-q21011

Also tested in standalone mode with a ~/.xen-osstest/config
containing:

  PlatformsArmhf midway cubietruck arndale

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
10 years agoTftpDiVersion 2015-01-10
Ian Campbell [Sat, 10 Jan 2015 16:01:00 +0000 (16:01 +0000)]
TftpDiVersion 2015-01-10

Picks up updated kernel + installer from Debian 7.8 point release.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
10 years agomg-debian-installer-update: produce deterministic output
Ian Campbell [Sat, 10 Jan 2015 14:58:02 +0000 (14:58 +0000)]
mg-debian-installer-update: produce deterministic output

Currently rerunning mg-debian-install-update when the external files
have changed still produces differences in the local files produced
during post-processing.

Avoid these differences by:

  - Using gzip -n, which avoids storing a timestamp in the gzip
    header (as well as the name, which we don't need).
  - Using pax -M norm, which normalises all timestamps (among other
    things, such as the owner, which we don't care about)
  - Using tar --mtime, with a reference within the dpkg-deb created
    hierarchy (which has timestamps from the package and is therefore
    dependent only on the downloaded package revision)

With this the results of two invocations of
mg-debian-installer-update(-all) are identical (assuming no changes to
the downloaded files) as demonstrated by runnign this quick hack:

#!/bin/bash

set -ex

TMP=$HOME/tmp/mg-di
rm -rf $TMP
mkdir -p $TMP

cat >$TMP/config <<EOF
TftpPath $TMP
TftpDiBase debian-installer
EOF
cat $TMP/config

mkdir -p $TMP/debian-installer

export OSSTEST_CONFIG=production-config:$TMP/config

# ./mg-debian-installer-update wheezy armhf firmware-bnx2
./mg-debian-installer-update-all

find $TMP/debian-installer -type f -print0 | xargs -0x md5sum > $TMP/SUMS.BASE

#rm -rf $TMP/debian-installer/*
mv $TMP/debian-installer $TMP/debian-installer.org
mkdir -p $TMP/debian-installer

# ./mg-debian-installer-update wheezy armhf firmware-bnx2
./mg-debian-installer-update-all
md5sum --quiet -c $TMP/SUMS.BASE

exit 0

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
10 years agoEmpty commit to force push gate run
Ian Jackson [Tue, 6 Jan 2015 17:59:31 +0000 (17:59 +0000)]
Empty commit to force push gate run

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
10 years agocr-for-branches: Branches for Xen 4.5
Ian Jackson [Tue, 6 Jan 2015 15:46:32 +0000 (15:46 +0000)]
cr-for-branches: Branches for Xen 4.5

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
10 years agots-libvirt-build: use Osstest::BuildSupport::submodulefixup
Ian Campbell [Mon, 5 Jan 2015 12:57:08 +0000 (12:57 +0000)]
ts-libvirt-build: use Osstest::BuildSupport::submodulefixup

Instead of cloning gnulib manually which can break if upstream gnulib
gets ahead of libvirt.git (which applies patches on the fly etc). By
using submodulefixup we automatically DTRT and use the version of
gnulib specified by the libvirt.git submodule metadata, but with a
runvar override if necessary.

This also removes a whole bunch of faffing in ap-*, cr-daily-branch
and mfi-common to get the version of gnulib to use, which was always a
bit of a wart (ungated for one thing...).

We continue to use --no-git and GNULIB_SRCDIR because otherwise
autogen.sh (via bootstrap) will force its own version, overwriting
what submodulefixup has done. For this we need a way to get the hash
representing the module, so introduce submodule_find (and rework
submodule_have in terms of it).

Tested in standalone mode with build-amd64-libvirt and
build-amd64-rumpuserxen (because I touched submodule_have, AFAICT the
bodges were not run). The libvirt build was tested both with the
automatic revisions and with:
    revision_libvirt=2360fe5d24175835d3f5fd1c7e8e6e13addab629
    revision_libvirt_gnulib=16518d9ed8f25d3e53931dd1aa343072933e4604
(used in successful libvirt flight 32648), in both cases confirming
that the build used the desired versions.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@citrix.com>
---
v2: Honour revision_libvirt_gnulib.
v3: Fix submodule_have, defined(&sub) is always true because defined
    is special wrt &sub.

10 years agoTftpDiVersion 2014-12-14
Ian Campbell [Sun, 14 Dec 2014 19:18:38 +0000 (19:18 +0000)]
TftpDiVersion 2014-12-14

Picks up changes on armhf to include dtbs and more modules in the initrd
overlay.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
10 years agoAdd basic PVH flights.
Ian Campbell [Thu, 4 Dec 2014 09:58:34 +0000 (09:58 +0000)]
Add basic PVH flights.

These are the usual PV debian flights with pvh=1 added to the
configuration file.

A job is created for each of Intel and AMD, although obviously AMD is
expected to fail at the moment.

In my testing I got:
    (XEN) Attempt to create a PVH guest on a system without necessary hardware support
because my test box happens to be AMD.

I have confirmed that the pvh=1 option is correctly present in the
guest cfg for the new pvh job, and that no pvh= is present at all in
the existing test-amd64-amd64-xl job (which is expected and desired if
no pvh runvar is present).

Beyond that I've not tested this at all I fully expect even Intel to
fail in the first instance, due to issues such as lack of necessary
kernel options etc. I suggest to take this now and iterate on any
further changes.

For a xen-unstable flight this results in these runvars:
$ ./mg-show-flight-runvars pvh| grep -- -pvh | sort
test-amd64-amd64-xl-pvh-amd               all_hostflags               arch-amd64,arch-xen-amd64,suite-wheezy,purpose-test,hvm-amd
test-amd64-amd64-xl-pvh-amd               arch                        amd64
test-amd64-amd64-xl-pvh-amd               buildjob                    build-amd64
test-amd64-amd64-xl-pvh-amd               debian_arch                 amd64
test-amd64-amd64-xl-pvh-amd               debian_kernkind             pvops
test-amd64-amd64-xl-pvh-amd               debian_pvh                  1
test-amd64-amd64-xl-pvh-amd               kernbuildjob                build-amd64-pvops
test-amd64-amd64-xl-pvh-amd               kernkind                    pvops
test-amd64-amd64-xl-pvh-amd               toolstack                   xl
test-amd64-amd64-xl-pvh-amd               xenbuildjob                 build-amd64
test-amd64-amd64-xl-pvh-intel             all_hostflags               arch-amd64,arch-xen-amd64,suite-wheezy,purpose-test,hvm-intel
test-amd64-amd64-xl-pvh-intel             arch                        amd64
test-amd64-amd64-xl-pvh-intel             buildjob                    build-amd64
test-amd64-amd64-xl-pvh-intel             debian_arch                 amd64
test-amd64-amd64-xl-pvh-intel             debian_kernkind             pvops
test-amd64-amd64-xl-pvh-intel             debian_pvh                  1
test-amd64-amd64-xl-pvh-intel             kernbuildjob                build-amd64-pvops
test-amd64-amd64-xl-pvh-intel             kernkind                    pvops
test-amd64-amd64-xl-pvh-intel             toolstack                   xl
test-amd64-amd64-xl-pvh-intel             xenbuildjob                 build-amd64

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
v2: pvh\b.*.

10 years agoOsstest/Debian: Add support for "ExtraInitramfsModules" host property
Ian Campbell [Fri, 21 Nov 2014 13:16:58 +0000 (13:16 +0000)]
Osstest/Debian: Add support for "ExtraInitramfsModules" host property

The arndale platform needs a bunch of clk, phy and regulator stuff in order to
access its root filesystem. However mkinitramfs is not (currently?) able to
figure this out and therefore doesn't include them in the initrd. See
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=762042

Add a new host prop which can list these required additional module and
arranges for a suitable /etc/initramfs-tools/modules to be created on install.

Using the new HostGroupProp syntax the required modules are:

HostGroupProp_arndale_ExtraInitramfsModules clk-s2mps11 s5m8767 i2c-s3c2410 phy-exynos5250-sata

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
10 years agoOsstest/Debian: Refactor code to set bootargs in u-boot script
Ian Campbell [Fri, 21 Nov 2014 13:16:55 +0000 (13:16 +0000)]
Osstest/Debian: Refactor code to set bootargs in u-boot script

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
10 years agots-debian-install: rename cfg_xend to cfg
Wei Liu [Tue, 14 Oct 2014 21:50:08 +0000 (22:50 +0100)]
ts-debian-install: rename cfg_xend to cfg

... as this config file is just a config file in general, not strictly a
Xend format config file.

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
10 years agogitignore: ignore images directory
Wei Liu [Tue, 14 Oct 2014 21:50:07 +0000 (22:50 +0100)]
gitignore: ignore images directory

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
10 years agoREADME: list chiark-utils-bin as requirement
Wei Liu [Tue, 14 Oct 2014 21:50:06 +0000 (22:50 +0100)]
README: list chiark-utils-bin as requirement

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
10 years agoTestSupport: allow overriding of on_* in prepareguest_part_xencfg
Ian Campbell [Mon, 1 Dec 2014 12:57:20 +0000 (12:57 +0000)]
TestSupport: allow overriding of on_* in prepareguest_part_xencfg

Currently only on_reboot can be overridden

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
10 years agoTestSupport: use timeout(1)
Ian Jackson [Mon, 8 Dec 2014 12:10:24 +0000 (12:10 +0000)]
TestSupport: use timeout(1)

If a command we run times out, the machinery in cmd() will arrange
for the ts-* script to spot the timeout, and stop waiting for it.

However it is also necessary for the command we ran to die.  It has a
copy of the owner daemon fd, so if it doesn't, our resources won't get
freed.  In sufficiently exciting bugs, our allocation might continue
indefinitely, while a subprocess of ours hangs on after we are long
gone.

timeout(1) does not print a message when the process times out (!)  So
we can't do away with the logic in cmd().  We set the timeout(1)
timeout to 30s more than our own timeout, so that cmd() will time
out first and print a message.

We could use alarm(1) as we do in Osstest/Serial/sympathy.pm but that
program isn't packaged and its unsophisticated approach is not really
appropriate for arbitrary nonconsenting programs.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
10 years agoAdd simple helper to update DI for all architectures.
Ian Campbell [Fri, 21 Nov 2014 13:16:52 +0000 (13:16 +0000)]
Add simple helper to update DI for all architectures.

Uses DebianNonfreeFirmware, even (especially) for production, so move
the README stanza out of standalone only section. The current default
matches what is in the current production versions of DI.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
10 years agots-kernel-build: enable CONFIG_IKCONFIG{_PROC}
Ian Campbell [Fri, 21 Nov 2014 13:16:51 +0000 (13:16 +0000)]
ts-kernel-build: enable CONFIG_IKCONFIG{_PROC}

This makes the kernel's .config available in /proc/config.gz and
embeds a copy which can be extracted with
linux/scripts/extract-ikconfig (which I've not tried, but have no
reason to doubt).

Having this around can be handy with an older osstest installed test
box and to confirm you've booted the kernel you think you have when
you are messing with .config options.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
10 years agostandalone: Introduce "HostGroups" for use in OSSTEST_CONFIG
Ian Campbell [Fri, 21 Nov 2014 13:16:50 +0000 (13:16 +0000)]
standalone: Introduce "HostGroups" for use in OSSTEST_CONFIG

This saves repeating identical HostProp and HostFlags for sets of
identical machines. e.g.

    HostGroupProp_cubietruck_LinuxSerialConsole ttyS0
    HostGroupProp_cubietruck_Build_Make_Flags -j12
    HostGroupProp_cubietruck_XenSerialConsole dtuart
    HostGroupProp_cubietruck_XenDTUARTPath /soc@01c00000/serial@01c28000
    HostGroupFlags_cubietruck suite-wheezy,equiv-cubietruck,need-kernel-deb-armmp,no-di-kernel,need-uboot-bootscr

    HostGroup_braque cubietruck
    HostProp_braque_Fqdn braque.uk.xensource.com

    HostGroup_picaso cubietruck
    HostProp_picaso_Fqdn picaso.uk.xensource.com

    HostGroup_metzinger cubietruck
    HostProp_metzinger metzinger.uk.xensource.com

    HostGroup_gleizes cubietruck
    HostProp_gleizes_Fqdn gleizes.uk.xensource.com

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
10 years agots-xen-build-prep: Install libxml-xpath-perl on build machines
Ian Campbell [Fri, 5 Dec 2014 14:54:08 +0000 (14:54 +0000)]
ts-xen-build-prep: Install libxml-xpath-perl on build machines

Required by latest libvirt, to build docs.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@citrix.com>
10 years agolinux-next tests: Use correct branch for baseline
Ian Jackson [Thu, 20 Nov 2014 13:48:56 +0000 (13:48 +0000)]
linux-next tests: Use correct branch for baseline

Make cr-daily-branch honour an environment or setting variable
EXTRA_SGR_ARGS.  In branch-settings.linux-next set it appropriately to
arrange that the linux-next test reports consider linux-linus tests as
interesting as well as just linux-next ones.

(We already use a flight from linux-linus for selecting the baseline
linux version.)

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
10 years agocs-adjust-flight: runvar-perlop: Do not report non-changes
Ian Jackson [Thu, 13 Nov 2014 16:05:15 +0000 (16:05 +0000)]
cs-adjust-flight: runvar-perlop: Do not report non-changes

With -v, runvar-perlop would unconditionally print a message about the
changed variable.  Instead, only call runvar_set if the value is to
change.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
10 years agotarget_editfile: Improve doc comment
Ian Jackson [Thu, 13 Nov 2014 16:02:54 +0000 (16:02 +0000)]
target_editfile: Improve doc comment

More clearly state which arguments are optional.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
10 years agots-hosts-allocate-Executive: Radically reduce the previously_failed bonus
Ian Jackson [Tue, 11 Nov 2014 19:38:03 +0000 (19:38 +0000)]
ts-hosts-allocate-Executive: Radically reduce the previously_failed bonus

Make osstest less obsessive about sticking to failing hosts if they
are persistently unavailable.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
10 years agots-hosts-allocate-Executive: Redo variation_bonus scoring
Ian Jackson [Tue, 11 Nov 2014 19:34:07 +0000 (19:34 +0000)]
ts-hosts-allocate-Executive: Redo variation_bonus scoring

Use a logarithmic scale.  Cap the bonus at 12h rather than 5d/30 = 4h.
When we have previously failed, make sure we apply a reverse bonus,
rather than a penalty.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
---
v2: Fix cap to really be 12h not 12d.

10 years agots-hosts-allocate-Executive: Score for equivalent previous failures
Ian Jackson [Tue, 11 Nov 2014 19:30:38 +0000 (19:30 +0000)]
ts-hosts-allocate-Executive: Score for equivalent previous failures

Look to see whether the last run on any hosts which are equivalent to
the ones we're looking at, failed.  This means that when host X is
failing and we are considering host Y which is equivalent to X, we
give Y a selection bonus.

This means that osstest will be less obsessive about sticking to the
very same failing host.

Also, no longer multiply by the number of previously-failing hosts;
instead, just consider whether _all_ the hosts are previously-failing
in their corresponding slots (*_host runvars).  It doesn't make sense
to make the bonus for using failing hosts depend on the number of
hosts used by the test.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
---
v2: Improve commit message.

10 years agots-hosts-allocate-Executive: Clarify an expression with //
Ian Jackson [Tue, 11 Nov 2014 19:28:24 +0000 (19:28 +0000)]
ts-hosts-allocate-Executive: Clarify an expression with //

No functional change.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
10 years agots-hosts-allocate-Executive: Do not prefer fast hosts for tests
Ian Jackson [Tue, 11 Nov 2014 18:30:56 +0000 (18:30 +0000)]
ts-hosts-allocate-Executive: Do not prefer fast hosts for tests

Introduce $duration_for_cost and set it to the previous formula for
build jobs, or 0 for test jobs.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
10 years agots-hosts-allocate-Executive: Move $variation_age setting
Ian Jackson [Tue, 11 Nov 2014 18:28:07 +0000 (18:28 +0000)]
ts-hosts-allocate-Executive: Move $variation_age setting

We are going to want to put more stuff in here which depends on
$duration_rightaway_adjust.

No functional change in this commit.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
10 years agoOsstest/Executive.pm: Debug log same-host status (in duration estimator)
Ian Jackson [Tue, 11 Nov 2014 18:22:44 +0000 (18:22 +0000)]
Osstest/Executive.pm: Debug log same-host status (in duration estimator)

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
10 years agots-hosts-allocate-Executive: allow uncompressed log
Ian Jackson [Tue, 11 Nov 2014 18:13:37 +0000 (18:13 +0000)]
ts-hosts-allocate-Executive: allow uncompressed log

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
10 years agocs-adjust-flight: Fix doc about /<pcre> to match implementation
Ian Jackson [Tue, 11 Nov 2014 19:27:44 +0000 (19:27 +0000)]
cs-adjust-flight: Fix doc about /<pcre> to match implementation

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
10 years agots-host-install: Ensure $dtbs is always a valid string
Ian Campbell [Sun, 9 Nov 2014 09:47:04 +0000 (09:47 +0000)]
ts-host-install: Ensure $dtbs is always a valid string

Otherwise on non-ARM platforms we get warnings about uninitialised values.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
10 years agomg-debian-installer-update: Use Packages.gz
Ian Campbell [Sun, 9 Nov 2014 09:43:07 +0000 (09:43 +0000)]
mg-debian-installer-update: Use Packages.gz

In Jessie Packages.bz2 is replaced by Packages.xz. Rather than implementing
per-suite handling just fallback to lowest-common-denominator gzip.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
10 years agoDebian: Install ethtool on the hosts
Ian Campbell [Sun, 9 Nov 2014 09:40:50 +0000 (09:40 +0000)]
Debian: Install ethtool on the hosts

It's very useful when debugging network issues.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
10 years agots-rumpuserxen-demo-xenstorels: set `on_poweroff="preserve"'
Ian Jackson [Thu, 13 Nov 2014 15:53:20 +0000 (15:53 +0000)]
ts-rumpuserxen-demo-xenstorels: set `on_poweroff="preserve"'

We rely on the domain existing after xenstore-ls's main has called
exit, so that we can do our own xenstore-ls in dom0 and check the
results.

Previously, this happened by accident because the rump kernel would,
after _exit, call a minios function which crashes the domain.  New
rump kernels don't do this, and instead shut down cleanly.

Setting `on_poweroff="preserve"' has the desired effect.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
10 years agots-host-install: Honour linux-boot-append <suite> (host prop)
Ian Jackson [Thu, 6 Nov 2014 16:14:18 +0000 (16:14 +0000)]
ts-host-install: Honour linux-boot-append <suite> (host prop)

We have `install-append <suite>' but that goes before d-i's -- so only
applies during installation.  Provide an option that applies
post-installation too.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
10 years agostandalone: Handle multiple configuration files.
Ian Campbell [Wed, 5 Nov 2014 10:41:24 +0000 (10:41 +0000)]
standalone: Handle multiple configuration files.

OSSTEST_CONFIG can actually be a colon separate list of files, so take this
into account when sanity checking it.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
10 years agoosstest-confirm-booted: Log processes
Ian Jackson [Tue, 4 Nov 2014 17:35:09 +0000 (17:35 +0000)]
osstest-confirm-booted: Log processes

Run a ps if osstest-confirm-booted does not exist, and stash the
output where we read it during log capture.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
10 years agopoll_loop: Restore diversion of logm
Ian Jackson [Tue, 4 Nov 2014 17:32:44 +0000 (17:32 +0000)]
poll_loop: Restore diversion of logm

poll_loop is supposed to divert the logging away so that you don't
have to see a pile of repetitive logging if the operation succeeds.

But this was broken when the code was moved from the perl module
Osstest to Osstest::TestSupport.  Fix it.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
10 years agoDhcpWatch::leases: Check errors
Ian Jackson [Fri, 31 Oct 2014 11:20:04 +0000 (11:20 +0000)]
DhcpWatch::leases: Check errors

Check error returns from connect() et al (which present as an undef
return from IO::Socket::INET), and from read() (which can be detected
via IO::Handle::error).

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
10 years agots-host-install: Add force-mac-address host flag
Ian Campbell [Wed, 29 Oct 2014 10:41:30 +0000 (10:41 +0000)]
ts-host-install: Add force-mac-address host flag

This causes us to emit udev runes which force the device named in the host's
Interface_Force property to have the MAC address given in the host's Ether
property. This is the reverse of the behaviour of the Interface_Force property
without this flag, which is to rename the device with MAC address Ether to have
the requested name.

This is necessary because the arndale's USB Ethernet device has no burned in
MAC address and there is no mechanism to configure this e.g. via the bootloader
in a way which Linux will then notice.

Without this change Linux will pick a random mac address when loading the
driver, which breaks osstest's attempts to observe when the test host has
picked up its preseed file by watching the webserver logs, since DHCP will not
map a random mac address to the IP we are expecting.

This is only useful on systems which have exactly one Ethernet device,
otherwise there is no reliable way to determine which device is which.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
10 years agots-host-install: Add option to boot debian-installer in rescue mode
Ian Campbell [Wed, 29 Oct 2014 10:41:29 +0000 (10:41 +0000)]
ts-host-install: Add option to boot debian-installer in rescue mode

This is useful when trying to bootstrap onto a new platform, since you can log
in to an otherwise unbootable rootfs to figure out what is going wrong.

The procedure is the same as installing except "rescue/enabled=true" is added
to the command line, hence part of ts-host-install rather than separate.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
10 years agots-host-install: include console before *and* after the -- marker.
Ian Campbell [Wed, 29 Oct 2014 10:41:28 +0000 (10:41 +0000)]
ts-host-install: include console before *and* after the -- marker.

As of v3.15 Linux now stop parsing its command line at the -- mark and passes
the remainder to init. This has broken Debian Installer's feature where
anything after the -- is propagated to the installed system.

See also https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=762007

To work around this we need to pass console= twice, once before the -- for the
current kernel's use and then again after the -- which is propagated to the
installed system.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
10 years agots-host-install: Refactor code to construct a Linux console= for a host
Ian Campbell [Wed, 29 Oct 2014 10:41:27 +0000 (10:41 +0000)]
ts-host-install: Refactor code to construct a Linux console= for a host

And reuse it in when writing the u-boot script for initial boot. This was
previously hardcoded to ttyAMA which matches the production host DB for the
current set of hosts which use this script.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
10 years agots-host-install: Add fdtdir to PXE stanza if dtbs directory exists
Ian Campbell [Wed, 29 Oct 2014 10:41:26 +0000 (10:41 +0000)]
ts-host-install: Add fdtdir to PXE stanza if dtbs directory exists

u-boot's pxe client uses this together with $fdtfile in its local environment
to automatically load the fdt when pxe booting.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
10 years agomg-debian-installer-update: Add more modules when creating initrd overlay
Ian Campbell [Wed, 29 Oct 2014 10:41:25 +0000 (10:41 +0000)]
mg-debian-installer-update: Add more modules when creating initrd overlay

The arndale platform has a usb network device. In addition both the SATA and
NIC/USB hardware on this platform requires additional regulator (power), clk
and phy modules, which in turn require i2c support.

Add everything which is needed on this platform.

Sort the list of drivers while here.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
10 years agomg-debian-installer-update: Include any device tree blobs in the tftp dir
Ian Campbell [Wed, 29 Oct 2014 10:41:24 +0000 (10:41 +0000)]
mg-debian-installer-update: Include any device tree blobs in the tftp dir

We will need to supply these for some arm boards.

We provide both an unpacked version, which can be referenced via u-boot's
support for the "fdtdir" property in pxelinux.cfg and a tarball which is more
convenient for installing into the target filesystem on host install

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
10 years agostandalone: Provide a helper to clear the host runvar
Ian Campbell [Wed, 29 Oct 2014 10:41:23 +0000 (10:41 +0000)]
standalone: Provide a helper to clear the host runvar

This clears the host flag used for single-host test cases.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
10 years agoTftpDiVersion 2014-10-20
Ian Jackson [Mon, 20 Oct 2014 12:11:17 +0000 (13:11 +0100)]
TftpDiVersion 2014-10-20

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
10 years agocr-for-branches: Keep many more logs
Ian Jackson [Mon, 6 Oct 2014 16:05:32 +0000 (17:05 +0100)]
cr-for-branches: Keep many more logs

Keep 300 cycles of cr-for-branches.log.

Also, remove the spurious `500' from the command line, which looks
like it was there because I thought that `-n' took a number argument
(but in fact that's -c), whereas it was actually interpreted as a
filename (which never exists so savelog silently ignores it).

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
10 years agobisection: Do not get bisection start points from broken flights
Ian Jackson [Mon, 6 Oct 2014 15:54:55 +0000 (16:54 +0100)]
bisection: Do not get bisection start points from broken flights

cs-bisection-step ignores any flight with broken steps, on the grounds
that the results in such a flight maybe unreliable.

Therefore, if a main flight has both broken steps and regressions, it
is wrong to take its mro as the new basis mro for bisections.  In the
worst case a newly failing job will be determined to be unbisectable
(since the only relevant failure is in a broken flight), have the
stamp file created, and then never be properly bisected.

So: in sg-report-flight, report `broken-step' for each broken step (in
the top-level flight we are reporting - broken jobs in flights we are
referring to to justify heisenbugs are OK); and, in cr-daily-branch,
do not install the new mro if such indications are present.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
10 years agocat-dhcp-leases: new script
Ian Jackson [Fri, 3 Oct 2014 15:02:32 +0000 (16:02 +0100)]
cat-dhcp-leases: new script

ISC dhcpd treates /var/lib/dhcp3/leases as a log-structured database,
appending records to it and periodically rewriting it.  When it
decides to rewrite it it writes the new contents to a temporary file -
fine.

But rather than renaming the temporary file into place, over the top
of the old file, using rename(2), it first renames the old leases file
to leases~.  So briefly there is no leases file.

This means that the service used by Osstest/DhcpWatch/leases.pm when a
hostname and port is specified has to try various different files.

This is the appropriate shell script, which is most conveniently
maintained here in osstest.  It can be used by putting something like
this in inetd.conf:

5556 stream tcp nowait nobody /root/cat-dhcp-leases cat-dhcp-leases

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
10 years agosg-report-flight: Add a succcess/failure column header.
Ian Jackson [Thu, 2 Oct 2014 11:56:06 +0000 (12:56 +0100)]
sg-report-flight: Add a succcess/failure column header.

There are so many rows and columns that scrolling around trying to find the
column associated with a failure is getting pretty tricky. Finding all failing
columns is even harder.

Add a clue near the top: replicate the worst or most interesting step
result box contents and colour.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
10 years agots-rumpuserxen-build: Double the build timeout
Ian Jackson [Fri, 26 Sep 2014 15:35:18 +0000 (16:35 +0100)]
ts-rumpuserxen-build: Double the build timeout

The build is quite big and in particular configure is very iobound and
sensitive to other load on the box.  We have seen spurious timeouts.

CC: Jan Beulich <JBeulich@suse.com>
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
10 years agoMerge branch 'pretest' of ssh://osstest/export/home/osstest/testing.git/ into pretest
Ian Campbell [Tue, 23 Sep 2014 12:54:05 +0000 (13:54 +0100)]
Merge branch 'pretest' of ssh://osstest/export/home/osstest/testing.git/ into pretest

10 years agoSwitch armhf to use common default Linux.
Ian Campbell [Thu, 4 Sep 2014 14:16:39 +0000 (15:16 +0100)]
Switch armhf to use common default Linux.

Previous we had a v3.13 based branch which was used for ARM (because
v3.4 was too old). Now that the default is v3.14 we can use it.

standalone-generate-dump-flight-runvars before and after shows the
build-armhf-pvops jobs' linux_revision runvar changing from
95bfbee422b9b1cfe8c2d2e27edf17ce1cc99e04 (v3.13-63-g95bfbee) to
946de0e6b6ed49eacb03e3cddfcb1d774d6378ed (v3.14.17) for these branches:

libvirt
osstest
qemu-mainline
qemu-upstream-unstable
xen-4.3-testing
xen-4.4-testing
xen-unstable

This is as expected.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
10 years agoSwitch default Linux branch from 3.4 to 3.13
Ian Campbell [Thu, 4 Sep 2014 14:02:28 +0000 (15:02 +0100)]
Switch default Linux branch from 3.4 to 3.13

standalone-generate-dump-flight-runvars before and after shows revision_linux
changing from 9f089cfb4be27efe7c1cd1d6261da02496820441 (v3.4.103) to
946de0e6b6ed49eacb03e3cddfcb1d774d6378ed (v3.14.17) for the
build-{amd64,i386}-pvops jobs these branches:

osstest
rumpuserxen
xen-4.0-testing
xen-4.1-testing
xen-4.2-testing
xen-4.3-testing
xen-4.4-testing
xen-unstable
qemu-mainline
qemu-upstream-4.3-testing
qemu-upstream-4.4-testing
qemu-upstream-unstable
seabios
libvirt
qemu-upstream-4.2-testing

build-armhf-pvops and build-*-oldkern jobs as well as the linux-* branches are
unaffected. Which is as expected.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
10 years agomg-hosts mkpxedir: honour $OSSTEST_SUDO
Ian Jackson [Tue, 19 Aug 2014 10:33:15 +0000 (11:33 +0100)]
mg-hosts mkpxedir: honour $OSSTEST_SUDO

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
10 years agoFix mg-hosts mkpxedir
Ian Jackson [Tue, 19 Aug 2014 10:31:17 +0000 (11:31 +0100)]
Fix mg-hosts mkpxedir

 * Have selecthost no longer demand that $job is set; if it is not,
   simply do not set Suite (which of course ultimately comes from
   runvars and hence the job).

 * Add missing use Osstest::TestSupport.

 * Mention the need to run it in README.dev.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
10 years agosg-report-flight: New --branches-also option
Ian Jackson [Thu, 31 Jul 2014 15:26:55 +0000 (16:26 +0100)]
sg-report-flight: New --branches-also option

This allows easy comparison of relevant flights (specified by tree
versions) from one branch with relevant flights from another.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
10 years agorump kernel tests: Get upstream from rumprun-xen
Ian Jackson [Thu, 31 Jul 2014 14:42:56 +0000 (15:42 +0100)]
rump kernel tests: Get upstream from rumprun-xen

Replace https://github.com/rumpkernel/rumpuser-xen
with https://github.com/rumpkernel/rumprun-xen
as the source for the pre-test version.  The repo has been renamed
upstream.

We do not change, at this time:

 * The name of the post-test output repo on xenbits,
     git://xenbits.xen.org/rumpuser-xen.git#xen-tested-master

Changing those would be a bit fiddly.

And we don't change the following, which contain `rumpuserxen':

 * osstest `branch', `recipe', and `jobs' which are used to correlate
   and specify aspects of the different production test runs of
   different versions of the code.  The branch name appears in the
   Subject lines of email reports, and the job names in the body (and
   as column names in the html test report matrix).

 * The osstest `tree' names (which are used to specify and correlate
   the different versions and urls of the `same' codebase in the
   various tests).  Also, we leave unchanged the corresponding
   osstest tree plumbing environment variable names.

 * The osstest build output identifiers from ts-rumpuser-xen-build
   including the runvar name and the dist part name.  (These are used
   to communicate between the build and test jobs.)

Changing those would break cross-change comparison of test results and
osstest's automatic bisection across the change.

We also don't change:

  * The names of the ts-rumpuserxen-* test scripts.

While this could be changed by renaming the files and editing
sg-run-job to match, it doesn't seem sensible to rename these while
leaving everything else unchanged.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
10 years agoTestSupport: Set DISTCC_FALLBACK=0 when using distcc
Ian Campbell [Mon, 28 Jul 2014 13:01:20 +0000 (14:01 +0100)]
TestSupport: Set DISTCC_FALLBACK=0 when using distcc

This will show up issues with the distcc infrastructure immediately
instead of limping on with reduced performance.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
10 years agocr-for-branches: add linux-3.14
Ian Jackson [Fri, 25 Jul 2014 16:23:52 +0000 (17:23 +0100)]
cr-for-branches: add linux-3.14

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
10 years agoREADME.dev: Slightly tart up the new branch instructions
Ian Jackson [Fri, 25 Jul 2014 16:23:40 +0000 (17:23 +0100)]
README.dev: Slightly tart up the new branch instructions

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
10 years agomake-flight: Enable qemu tests for 4.5 onwards
Ian Campbell [Wed, 16 Jul 2014 11:45:05 +0000 (12:45 +0100)]
make-flight: Enable qemu tests for 4.5 onwards

Stefano is about to enable qemu support on ARM, we should test it.

standalone-generate-dump-flight-runvars verifies that the affect of this change
is to add armhf jobs/runvars to qemu-mainline and qemu-upstream-unstable as
desired.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Cc: Stefano.Stabellini@eu.citrix.com
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
10 years agostandalone-generate-dump-flight-runvars: allow 26 chars for branch name
Ian Campbell [Wed, 16 Jul 2014 11:44:46 +0000 (12:44 +0100)]
standalone-generate-dump-flight-runvars: allow 26 chars for branch name

qemu-upstream-X.Y-testing is 25 characters. Also add a space.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
10 years agorump kernel tests: Run xenstore-ls demo
Ian Jackson [Mon, 14 Jul 2014 12:08:58 +0000 (13:08 +0100)]
rump kernel tests: Run xenstore-ls demo

We can use the newly-generalised ts-rumpuserxen-demo-setup to set up
the config file etc. to run xenstore-ls from the xen.git build.

We have a bespoke script to actually execute it: we extract the actual
program output from the guest console log, and compare the results to
those we expect (based on running xenstore-ls in dom0).

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
---
v2: Fix copyright date in new script.

10 years agots-guest-destroy-hard: New script
Ian Jackson [Tue, 15 Jul 2014 14:18:00 +0000 (15:18 +0100)]
ts-guest-destroy-hard: New script

This just calls xl destroy; it doesn't check that the guest is
running, or on the network, or anything.  (It also doesn't check that
the guest is down afterwards.)

We are going to want this to be able to destroy the rumpuserxen
xenstorels domain, which is short-lived (and will normally have
terminated by the time we want to destroy it).

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
v2: Fix copyright date in new script.

10 years agorump kernel tests: Specify cmdline via runvar
Ian Jackson [Mon, 14 Jul 2014 11:58:57 +0000 (12:58 +0100)]
rump kernel tests: Specify cmdline via runvar

The runvar <gn>_cmdline is used for the rumpuserxen guest command
line.  Previously "3" (a binary flags word meaningful to the test/demo
program included in rumpuser-xen.git) was hardcoded.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
10 years agorump kernel tests: Specify kernel via runvar
Ian Jackson [Tue, 15 Jul 2014 14:40:08 +0000 (15:40 +0100)]
rump kernel tests: Specify kernel via runvar

The runvar <gn>_builtimage is set to <distpart>:<distpath>.
Previously we hardcoded `/usr/local/lib/xen/rump-kernel' in
`rumpuserxen'.

The ffs filesystem images, and the demo config template, still come
from a single particular build, which we find from the
`guests_rumpuserxenbuildjob' runvar.  This runvar is then doing double
duty as the build job for the ffs filesystem images and example
configs, and the `default' build job for guest kernels.

The subpath /usr/local/lib/xen/rump-kernel is duplicated.  It
now appears:
 1. To find the demo guest's kernel: in make-flight, setting a runvar,
    with the actual rump-kernel kernel image leafname appended.
 2. For the filesystem images and config file: hardcoded in
    ts-rumpuserxen-demo-setup.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
v2: Fix demo application kernel image filename.
    Disentangle wording of last para of commit message.

10 years agorump kernel tests: Use guest-specific fs images location
Ian Jackson [Tue, 15 Jul 2014 14:38:11 +0000 (15:38 +0100)]
rump kernel tests: Use guest-specific fs images location

We are going to want to have multiple different guests in the same
job.  Don't use the same locations for all of their fs images.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
10 years agorump kernel tests: Do a xen.git tools build
Ian Jackson [Mon, 14 Jul 2014 12:04:35 +0000 (13:04 +0100)]
rump kernel tests: Do a xen.git tools build

Having laid the groundwork, we can now:

* In make-flight, for the rumpuserxen builds, set the runvars that
  specify which xen.git bits etc. to build.  (We pass qemuu now,
  because we intend that eventually we will want to build that too.)

* In ts-rumpuserxen-build, record the locations of the app-tools
  configure and make wrappers in the runvars which will be honoured by
  ts-xen-build.  Thus ts-xen-build in rumpuserxen build jobs will use
  these app-tools and do a rump cross build.

* Add a ts-xen-build step to the build-rumpuserxen recipe, passing
  `tools' as the target to build.

ts-rumpuserxen-build does not generate a formal set of build outputs.
Instead, the ts-xen-build step references the files generated by
ts-rumpuserxen-build directly (and is told where to find them via the
new command prefix runvars).

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
v2: Improve commit message.

10 years agots-xen-build: Honour cmdprefix_configure, cmdprefix_make
Ian Jackson [Mon, 14 Jul 2014 12:03:16 +0000 (13:03 +0100)]
ts-xen-build: Honour cmdprefix_configure, cmdprefix_make

These runvars can be set to specify a string (containing shell code)
to be prefixed to the executions of ./configure and make.

If not set, the behaviour is as as before.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
10 years agots-xen-build: Allow specification of make targets
Ian Jackson [Mon, 14 Jul 2014 12:01:37 +0000 (13:01 +0100)]
ts-xen-build: Allow specification of make targets

This allows sg-run-job (or a manual caller of ts-xen-build) to specify
which target(s) to pass to `make'.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
10 years agomake-flight: rumpuserxen tests: use same buildjob for all guests
Ian Jackson [Mon, 14 Jul 2014 11:52:28 +0000 (12:52 +0100)]
make-flight: rumpuserxen tests: use same buildjob for all guests

Change the name of the runvar for the build job to be
guests_rumpuserxenbuildjob, which is the default (fallback) for
guest_var.

(We are going to introduce another step which uses another guest but
wants the same build job.)

No resulting change in the system's overall behaviour.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
v2: Fix stray leftover in commit message.

10 years agobuilding: Delete when cloning, not when preparing $builddir
Ian Jackson [Mon, 14 Jul 2014 11:37:43 +0000 (12:37 +0100)]
building: Delete when cloning, not when preparing $builddir

Make prepbuilddirs no longer delete $builddir; instead:
 - have prepbuilddirs delete *-stamp files and dist/;
 - have build_clone delete the specific source directories;
 - any individual ts-*-build scripts that use other things
   would have to delete them (but searching for $builddir
   reveals none).

This makes it possible for later steps within a build job to look at
the build trees from previous steps.  This is helpful if for any
reason it isn't easy or desirable to package up a formal set of build
outputs for reuse.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
---
v2: Provide motivation in the commit message.

10 years agosg-run-job: Support toggling `adding' by repeating `+'
Ian Jackson [Mon, 14 Jul 2014 12:07:30 +0000 (13:07 +0100)]
sg-run-job: Support toggling `adding' by repeating `+'

Specifying `+' as an argument to spawn-ts suppresses the automatic
addition of subsequent arguments to the testid.  Make it possible to
toggle this by repeating `+'.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
10 years agoBuildSupport: make selectbuildhost modify @ARGV
Ian Jackson [Fri, 11 Jul 2014 14:49:10 +0000 (15:49 +0100)]
BuildSupport: make selectbuildhost modify @ARGV

We pass it \@ARGV everywhere now, and it eats the argument (if it
finds one).  This allows build scripts to take extra arguments.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
10 years agoselectguest: log a message
Ian Jackson [Tue, 15 Jul 2014 14:15:02 +0000 (15:15 +0100)]
selectguest: log a message

Print the guest's name and the host it's on; this can help with
interpreting the logs.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>