]> xenbits.xensource.com Git - people/dariof/osstest.git/log
people/dariof/osstest.git
10 years agots-bench-hostcmp-post: add plotting facilities benchmarking-with-osstest
Dario Faggioli [Tue, 9 Dec 2014 14:06:41 +0000 (15:06 +0100)]
ts-bench-hostcmp-post: add plotting facilities

in order to have an additional graph, comparing host and
guests performance when running kernbench.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
Cc: Wei Liu <wei.liu2@citrix.com>
Cc: Ian Campbell <Ian.Campbell@citrix.com>
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>
10 years agoKernbench perf comparison between host and guest
Dario Faggioli [Mon, 17 Nov 2014 18:01:36 +0000 (18:01 +0000)]
Kernbench perf comparison between host and guest

Recipes are defined for running kernbench on baremetal,
and on PV and HVM guests. Jobs making use of those recipes
are instantiated too.

Aim is making  investigating performances loss due to
virtualization overhead easy and automatable.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
Cc: Wei Liu <wei.liu2@citrix.com>
Cc: Ian Campbell <Ian.Campbell@citrix.com>
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>
10 years agots-bench-hostcmp-post: add plotting facilities
Dario Faggioli [Fri, 21 Nov 2014 12:09:07 +0000 (12:09 +0000)]
ts-bench-hostcmp-post: add plotting facilities

in order to have an additional graph, comparing host and
guests performance when running unixbench.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
Cc: Wei Liu <wei.liu2@citrix.com>
Cc: Ian Campbell <Ian.Campbell@citrix.com>
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>
10 years agoRecipes and jobs for running unixbench both on host and guest
Dario Faggioli [Thu, 6 Nov 2014 18:04:37 +0000 (19:04 +0100)]
Recipes and jobs for running unixbench both on host and guest

Recipes are defined for running unixbench on baremetal,
PV and HVM guests, with similar HW resources. Jobs making
use of those recipes are instantiated too.

Aim is making  investigating performances loss due to
virtualization overhead easy and automatable.

In this case, rebooting the host is necessary (to
boot it baremetal, rather than on Dom0), and that makes
leak checks impossible. A mechanism is therefore introduced
for specifying, in sg-run-job, that for a particular job,
we don't want the leak checks.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
Cc: Wei Liu <wei.liu2@citrix.com>
Cc: Ian Campbell <Ian.Campbell@citrix.com>
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>
10 years agots-bench-hostcmp-host-reset: new script
Dario Faggioli [Thu, 13 Nov 2014 17:45:49 +0000 (18:45 +0100)]
ts-bench-hostcmp-host-reset: new script

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
Cc: Wei Liu <wei.liu2@citrix.com>
Cc: Ian Campbell <Ian.Campbell@citrix.com>
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>
10 years agots-bench-hostcmp-host-prep: new script
Dario Faggioli [Mon, 10 Nov 2014 17:20:33 +0000 (18:20 +0100)]
ts-bench-hostcmp-host-prep: new script

the goal is to run a benchmark both in a guest and
on baremetal, to investigate the performances loss
due to the virtualization overhead.

In order to help accomplishing this, the new script
introduced by this commit modifies the host's boot
configuration as follows:
 - it makes it boot baremetal Linux, rather than Xen
   and a Dom0 kernel;
 - it limits the host's pcpus and amount of memory
   to the values contained in the specific runvars
   (if defined).

This is done under the assumption that the benchmark
will (or has been already) run on one (or more)
guest(s) too. If the runvars for limiting host's
resources are defined, it is assumed that they will
be (were) defined, and that they will have (had) the
same values, also when prepping the run of the
benchmark in the guest.

The test script only alter the host's boot config;
it is left to the caller to actually reboot the host,
and also to restore the old config, if wanted, after
the benchmark has been run.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
Cc: Wei Liu <wei.liu2@citrix.com>
Cc: Ian Campbell <Ian.Campbell@citrix.com>
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>
10 years agots-bench-hostcmp-guest-prep: new script
Dario Faggioli [Mon, 10 Nov 2014 12:57:43 +0000 (13:57 +0100)]
ts-bench-hostcmp-guest-prep: new script

the goal is to run a benchmark both in a guest and
on baremetal, to investigate the performances loss
due to the virtualization overhead.

In order to help accomplishing this, the new script
introduced by this commit modifies a guest's config
file in order for it to have the same number of
vcpus and (almost) the same amount of memory of the
underlying host. This is done under the assumption
that the benchmark will (or has been already) run
on the host too.

It is possible to make the guest have less vcpus
than the host has pcpus, and less memory than the
host, by defining two specific runvars. In fact, in
case of really "beefy" hosts, one may not want to
run the benchmark in an unrealistically large guest.
Of course, specific measures to also limit the host
resources, when running the benchmark on it, should
be taken, if comparing apples to apples is important.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
Cc: Wei Liu <wei.liu2@citrix.com>
Cc: Ian Campbell <Ian.Campbell@citrix.com>
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>
10 years agoOsstest/TestSupport.pm: read hosts' hardware characteristics
Dario Faggioli [Thu, 30 Oct 2014 17:10:21 +0000 (18:10 +0100)]
Osstest/TestSupport.pm: read hosts' hardware characteristics

if defined, in the form of host properties. In standalone
mode, that should happen via the config file.

Methods are introduced to read those host properties or,
if they are not defined, to fetch the information by
querying the host directly.

The host properties always take precedence. This means
that, if they're defined, no command is run on the host,
and the values stored in the properties are used.

This commit also introduces a simple bash script that,
if run on the host, retrieves and prints such host
hardware properties, for convenience and/or testing.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
Cc: Wei Liu <wei.liu2@citrix.com>
Cc: Ian Campbell <Ian.Campbell@citrix.com>
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>
10 years agomake-bench-flight: create kernbench jobs
Dario Faggioli [Fri, 4 Jul 2014 13:46:27 +0000 (15:46 +0200)]
make-bench-flight: create kernbench jobs

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
Cc: Wei Liu <wei.liu2@citrix.com>
Cc: Ian Campbell <Ian.Campbell@citrix.com>
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>
10 years agosg-run-job: recipes for the kernbench jobs
Dario Faggioli [Fri, 4 Jul 2014 10:19:58 +0000 (12:19 +0200)]
sg-run-job: recipes for the kernbench jobs

Recipes are defined for prepping and running kernbench
on the host and on Debian PV and HVM guests.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
Cc: Wei Liu <wei.liu2@citrix.com>
Cc: Ian Campbell <Ian.Campbell@citrix.com>
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>
10 years agots-kernbench-reslts: process and plot bench results
Dario Faggioli [Tue, 9 Dec 2014 14:05:25 +0000 (15:05 +0100)]
ts-kernbench-reslts: process and plot bench results

Extract the data from the output of kernbench and produce
the tables, the gnuplot script and the plots.

All is saved in $stash, for the running flight and job.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
Cc: Wei Liu <wei.liu2@citrix.com>
Cc: Ian Campbell <Ian.Campbell@citrix.com>
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>
10 years agots-unixbench-reslts: retrieve and stash kernbench results
Dario Faggioli [Tue, 1 Jul 2014 15:13:22 +0000 (17:13 +0200)]
ts-unixbench-reslts: retrieve and stash kernbench results

in a file named according to the following convention:

 $hostname--$benchname-$benchparams

i.e., something like this:

 debian--kernbench-n2

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
Cc: Wei Liu <wei.liu2@citrix.com>
Cc: Ian Campbell <Ian.Campbell@citrix.com>
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>
10 years agots-kernbench-run: kick off the benchmark on the target
Dario Faggioli [Tue, 1 Jul 2014 15:00:51 +0000 (17:00 +0200)]
ts-kernbench-run: kick off the benchmark on the target

There is a runvar called 'kernbench_params', for specifying
the benchmark's runtime arguments.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
Cc: Wei Liu <wei.liu2@citrix.com>
Cc: Ian Campbell <Ian.Campbell@citrix.com>
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>
10 years agots-kernbench-build: prep the environment for running kernbench
Dario Faggioli [Tue, 1 Jul 2014 14:45:18 +0000 (16:45 +0200)]
ts-kernbench-build: prep the environment for running kernbench

by shipping the benchmark (it's just a script) and the linux
kernel sources to the target. The dependences installed are
the ones required to build a linux kernel, plus a few more
packages required by the kernbench script.

As for the unixbench equivalent, this accepts two parametrs,
in the form 'host=somehost someguest'. If only the first one is
provided, it must be 'host=somehost', and the script will prep
the host.

This also installs some packages so, if host sharing is to
be allowed (which, BTW, is highly *not* recommended), the
following patch from Ian Campbell is required:

  http://lists.xen.org/archives/html/xen-devel/2014-04/msg02978.html

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
Cc: Wei Liu <wei.liu2@citrix.com>
Cc: Ian Campbell <Ian.Campbell@citrix.com>
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>
10 years agomg-kernbench-download: new script for downloading kernbench
Dario Faggioli [Tue, 1 Jul 2014 13:42:05 +0000 (15:42 +0200)]
mg-kernbench-download: new script for downloading kernbench

It downloads the benchmark (it's just a script) and a linux
kernel archive, necessary for running the benchmark itself,
and store them in c{Images}/benchs.

Default values for the repo URL and actual filename are embedded
in the script itself, and can be overridden as usual (e.g., via
standalone.config).

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
Cc: Wei Liu <wei.liu2@citrix.com>
Cc: Ian Campbell <Ian.Campbell@citrix.com>
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>
10 years agostandalone-reset: introduce a new -t option
Dario Faggioli [Tue, 24 Jun 2014 14:53:12 +0000 (16:53 +0200)]
standalone-reset: introduce a new -t option

for making it possible to call the new make-bench-flight
script, and generating the benchmarking jobs. It can be
combined with the existing '-f' option, to create a
benchmarking flight containing all the benchmarking jobs.

This is generic, so, when passing '-t sometype', a script
called make-sometype-flight is what will be invoked.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
Cc: Wei Liu <wei.liu2@citrix.com>
Cc: Ian Campbell <Ian.Campbell@citrix.com>
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>
---
Changes from RFCv1:
 * this into "standalone make-flight" too, as requested
   during review.

10 years agomake-bench-flight: to create a benchmarking flight
Dario Faggioli [Tue, 24 Jun 2014 14:55:49 +0000 (16:55 +0200)]
make-bench-flight: to create a benchmarking flight

This is all done in a new script, to keep these jobs
separated from regular testing jobs defined by make-flight.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
Cc: Wei Liu <wei.liu2@citrix.com>
Cc: Ian Campbell <Ian.Campbell@citrix.com>
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>
10 years agosg-run-job: recipes for the unixbench jobs
Dario Faggioli [Tue, 24 Jun 2014 14:58:13 +0000 (16:58 +0200)]
sg-run-job: recipes for the unixbench jobs

Recipes are defined for prepping and running
the unixbench benchmark on the host and on
Debian PV and HVM guests.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
Cc: Wei Liu <wei.liu2@citrix.com>
Cc: Ian Campbell <Ian.Campbell@citrix.com>
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>
10 years agots-unixbench-reslts: process and plot bench results
Dario Faggioli [Fri, 21 Nov 2014 00:20:58 +0000 (00:20 +0000)]
ts-unixbench-reslts: process and plot bench results

Mangle the results of a run of unixbench a bit, so that
they can be plotted. This also produces a (gnu)plot script
and the plot itself. All is saved in $stash, for the
running flight and job.

This is done in a new Osstest/Benchmarking.pm module, as
the functions introduced may turn out useful somewhere else
too.

The results are read from the original unixbench results
file and a new file, with basically a table in it is
produced. Gnuplot uses such file as data for the plotting.

A gnuplot script is produced and invoked (and saved in $stash)
rather than using the gnuplot perl binding because, this way,
one can modify the plotting commands a bit, and regen the
plot(s).

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
Cc: Wei Liu <wei.liu2@citrix.com>
Cc: Ian Campbell <Ian.Campbell@citrix.com>
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>
10 years agots-unixbench-reslts: for retrieving the results
Dario Faggioli [Wed, 25 Jun 2014 01:40:06 +0000 (03:40 +0200)]
ts-unixbench-reslts: for retrieving the results

and store them in $c{Stash}, in a file named according
to the following convention:

 $hostname--$benchname-$benchparams

i.e., something like this:

 debian--unixbench-i3-c2

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
Cc: Wei Liu <wei.liu2@citrix.com>
Cc: Ian Campbell <Ian.Campbell@citrix.com>
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>
---
Changes from RFCv1:
 * use target_getfile_root_stash, as suggested during review;

10 years agots-unixbench-run: kick off the benchmark on the target
Dario Faggioli [Tue, 24 Jun 2014 14:55:01 +0000 (16:55 +0200)]
ts-unixbench-run: kick off the benchmark on the target

There is a runvar called 'unixbench_params', for specifying
the benchmark's runtime arguments.

The commit also adds a couple of generic functions in
TestSupport.pm, for `cat'-ing the content of a file on
the target into a corresponding file in the stash area.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
Cc: Wei Liu <wei.liu2@citrix.com>
Cc: Ian Campbell <Ian.Campbell@citrix.com>
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>
---
Changes from RFCv1:
 * add default value for runtime arguments.

10 years agots-unixbench-build: prep the environment for running unixbench
Dario Faggioli [Mon, 23 Jun 2014 15:17:18 +0000 (17:17 +0200)]
ts-unixbench-build: prep the environment for running unixbench

by installing some dependencies, shipping the archive, untaring
and building the sources.

This accepts two parametrs, in the form 'host=somehost someguest',
as most of the ts-guest-xxx scripts. If only the first one is
provided, it must be 'host=somehost', and the script will prep
the host.

As this installs some packages, troubles may arise if running
on a shered test host. This is not a too big deal, as hosts
used for benchmarking should not be shared anyway. In any case,
this patch from Ian Campbell will make the issue go away:

  http://lists.xen.org/archives/html/xen-devel/2014-04/msg02978.html

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
Cc: Wei Liu <wei.liu2@citrix.com>
Cc: Ian Campbell <Ian.Campbell@citrix.com>
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>
---
Changes from RFCv1:
 * make selecthost() interact directly with @ARGV, as
   requested during review;
 * renamed to -build (from -prep), as suggested during review;
 * use 'xaf' for automatic archive type detection, as suggested
   during review.

10 years agomg-unixbench-download: new script for downloading the unixbench archive
Dario Faggioli [Tue, 24 Jun 2014 14:00:47 +0000 (16:00 +0200)]
mg-unixbench-download: new script for downloading the unixbench archive

The script fetches it, and saves it in c{Images}/benchs.

Default values for the repo URL and actual filename are embedded
in the script itself, and can be overridden as usual (e.g., via
standalone.config).

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
Cc: Wei Liu <wei.liu2@citrix.com>
Cc: Ian Campbell <Ian.Campbell@citrix.com>
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>
---
Changes from RFCv1:
 * stop using ap-common for default values (for URL and remote
   filename), as requested during review.

10 years agoOsstest/TestSupport.pm: Introduce target_getfile_[root_]stash()
Dario Faggioli [Tue, 21 Oct 2014 14:43:02 +0000 (16:43 +0200)]
Osstest/TestSupport.pm: Introduce target_getfile_[root_]stash()

As an analogue to target_putfilecontents_[root_]stash().

(While at it, fix one whitespace damaged line.)

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
Cc: Wei Liu <wei.liu2@citrix.com>
Cc: Ian Campbell <Ian.Campbell@citrix.com>
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>
---
Changes from RFCv1:
 * adding this was requested during review.

10 years agoGuest setup: allow the amount of RAM to be a runvar
Dario Faggioli [Tue, 4 Nov 2014 17:18:07 +0000 (18:18 +0100)]
Guest setup: allow the amount of RAM to be a runvar

the value of which can be retrieved via guest_var('memory');.

This works for both PV and HVM Debian guests.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
Cc: Wei Liu <wei.liu2@citrix.com>
Cc: Ian Campbell <Ian.Campbell@citrix.com>
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>
10 years agoOsstest/Debian.pm: fix identifying a Linux baremetal grub2 entry
Dario Faggioli [Thu, 13 Nov 2014 10:48:44 +0000 (11:48 +0100)]
Osstest/Debian.pm: fix identifying a Linux baremetal grub2 entry

In fact, in setupboot_grub2(), if we are interested
in a Linux baremetal entry, there is no point in
asking for the entry to contain an hypervisor line
("Hv").

Also, in such entry, Linux kernel and initrd are to be
found in "linux" and "initrd" lines, rather than in
"multiboot" and "module" ones.

I haven't actually checked whether also grub1 and/or
uboot needs fixing.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
Cc: Wei Liu <wei.liu2@citrix.com>
Cc: Ian Campbell <Ian.Campbell@citrix.com>
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>
10 years agots-devbian-hvm-install: prune "cdrom:" from install sources
Dario Faggioli [Fri, 4 Jul 2014 09:56:19 +0000 (11:56 +0200)]
ts-devbian-hvm-install: prune "cdrom:" from install sources

in sources.list, so installing packages in the guest with
apt-get does not stall waiting for the install CD to be
inserted.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
Cc: Wei Liu <wei.liu2@citrix.com>
Cc: Ian Campbell <Ian.Campbell@citrix.com>
Cc: 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>
10 years agots-rumpuserxen-build: Cope with new layout, disabling bodges
Ian Jackson [Fri, 11 Jul 2014 14:27:11 +0000 (15:27 +0100)]
ts-rumpuserxen-build: Cope with new layout, disabling bodges

The rumpsrc psuedo-submodule has been integrated with the nblibs
submodule and made into a proper submodule.

Also, in the intervening time, rumpuserxen/Config.mk now uses ?= when
setting XEN_HEADERS.

So if we detect that we have a new rumpuser-xen, we can disable:
 - ad-hoc arrangements for rumpsrc
 - grievous-bodge
 - patching Config.mk

We consider a rumpuserxen old iff it has nblibs as a submodule and
lacks rumpsrc as a submodule.

We have to have a different name for the rumpsrc submodule (rather
than using rumpsrc), because in the new arrangements it needs to be
fetched from the location specified in rumpuserxen's .gitmodules
rather than our own configured location for the old rumpsrc.  (And the
local name is in the runvars etc.)

The old runvars etc. for rumpsrc need to stay around to cope with old
rumpuserxen, for now, but are going to be obsolete.  Leave some
comments about this in relevant places.

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

Convenience function.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
10 years agoadhoc-revtuple-generator: Explicitly specify refs to fetch
Ian Jackson [Tue, 8 Jul 2014 10:27:59 +0000 (11:27 +0100)]
adhoc-revtuple-generator: Explicitly specify refs to fetch

Some of the git trees in $c{Repos} may have been created (eg by
earlier versions of git or earlier versions of osstest) without the
usual
  remote.origin.fetch = +refs/heads/*:refs/remotes/origin/*
git config setting.

Pass this refspec explicitly, instead of relying on it being set as
the default.

Amongst other things, this will prevent a possible error during
bisection
  git fetch -p origin
  [stuff]
  fatal: bad object 3e3d5f6146c3f684f4b7bd71feffc31e1c668754
which is currently appearing in our cron mail.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
10 years agoexecutive-postgresql-schema: Schema dump
Ian Jackson [Mon, 30 Jun 2014 10:13:37 +0000 (11:13 +0100)]
executive-postgresql-schema: Schema dump

We really ought to have a proper schema script.  But for now, include
the output of pg_dump --schema-only on the osstestdb, for the benefit
of anyone trying to set up a hosted (rather than standalone) instance
(or just trying to see how the code works).

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
---
v2: New patch in v2 of the series.

10 years agomake-flight: Test rump kernels only when needed
Ian Jackson [Fri, 27 Jun 2014 10:20:19 +0000 (11:20 +0100)]
make-flight: Test rump kernels only when needed

Introduce a new subroutine branch_wants_rumpkernel_tests and call it
before making the rumpuserxen build and test jobs.

The default is not to include a rumpuserxen test.  We include it for
rumpuserxen itself, xen, linux (in case there is a frontend/backend
incompatibility), and osstest.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
10 years agomake-flight: Break out do_rumpkernel_tests
Ian Jackson [Fri, 27 Jun 2014 10:19:47 +0000 (11:19 +0100)]
make-flight: Break out do_rumpkernel_tests

No functional change in this patch.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
10 years agostandalone-generate-dump-flight-runvars: New utility
Ian Jackson [Fri, 27 Jun 2014 14:40:57 +0000 (15:40 +0100)]
standalone-generate-dump-flight-runvars: New utility

This is helpful for showing the effect of changes to make-flight,
cr-daily-branch, et al.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
---
v2: Do not set DAILY_BRANCH_POSTMAKE_HOOK, since standalone now does
    that.

10 years agomg-list-all-branches: New script.
Ian Jackson [Fri, 27 Jun 2014 11:45:11 +0000 (12:45 +0100)]
mg-list-all-branches: New script.

The approach here is a little unpleasant but it has the virtue of
getting the ones out of crontab too, and of not depending on the
production database (which will in any case contain obsolete flights).

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
10 years agostandalone-config-example: Provide a setting of Repos
Ian Jackson [Fri, 27 Jun 2014 15:51:46 +0000 (16:51 +0100)]
standalone-config-example: Provide a setting of Repos

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