]> xenbits.xensource.com Git - people/royger/osstest.git/log
people/royger/osstest.git
6 years agoOsstest/Debian: bootloader: Understand multiboot2 syntax
Ian Jackson [Fri, 18 May 2018 15:40:09 +0000 (16:40 +0100)]
Osstest/Debian: bootloader: Understand multiboot2 syntax

We are going to sometimes switch to the multiboot2 protocol, which has
different directives with very similar effect.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
6 years agoOsstest/Debian: bootloader: Ignore `.config' files
Ian Jackson [Fri, 18 May 2018 15:38:31 +0000 (16:38 +0100)]
Osstest/Debian: bootloader: Ignore `.config' files

Some versions of the bootloader scripts will make menu entries for
`.config' files, containing the hypervisor config.  These should be
ignored.

(It is not clear to me, given our 20_linux_xen hack, whether this is
in fact an upstream bug, or a bug in 20_linux_xen.)

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
6 years agoDebian: Pass $ho to debian_overlays
Ian Jackson [Thu, 17 May 2018 14:11:07 +0000 (15:11 +0100)]
Debian: Pass $ho to debian_overlays

No functional change.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
6 years agomfi-common: Fall back to anointed builds in Executive mode
Ian Jackson [Thu, 17 May 2018 11:01:05 +0000 (12:01 +0100)]
mfi-common: Fall back to anointed builds in Executive mode

Previously, `make-*-flight' would not work unless FREEBSD_*_BUILDJOB
was set.  Now we use the anointed values if we can find them.

If we can't, mg-anoint retrieve will print a warning.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
6 years agomfi-common: set_freebsd_runvars: Never set freebsd_distpath to `/amd64' etc.
Ian Jackson [Thu, 17 May 2018 10:54:48 +0000 (11:54 +0100)]
mfi-common: set_freebsd_runvars: Never set freebsd_distpath to `/amd64' etc.

Logically, the final branch of the if should be qualified with a check
for the emptiness of FreeBSDDist.  This is awkward in the current
structure, since we really want to do the distpath lookup only if
needed.  (This is not very important right now, but we are about to
add another case which will do a more-likely-to-bomb-out and
more-likely-to-block-on-the-db lookup.)  So refactor into `return'
style.  This lets us introduce local variables in each branch.

Now gate the final branch appropriately.  The overall result is that
if no useful FreeBSD build is found, we simply do not set the
freebsd_* runvars, rather than setting them to wrong values (eg,
`freebsd_distpath=/i386'.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
6 years agomg-anoint: Support mg-anoint retrieve --tolerate-unprepared
Ian Jackson [Thu, 17 May 2018 11:05:48 +0000 (12:05 +0100)]
mg-anoint: Support mg-anoint retrieve --tolerate-unprepared

make-*-flight is going to want this.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
6 years agomg-anoint: Make readonly operations "work" in standalone mode
Ian Jackson [Thu, 17 May 2018 10:51:35 +0000 (11:51 +0100)]
mg-anoint: Make readonly operations "work" in standalone mode

This makes `mg-anoint' in standalone mode a view onto an empty set of
anointments.  So now it becomes ok to call mg-anoint in make-*-flight.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
6 years agoPerl @INC path: fix a few more scripts to use BEGIN
Ian Jackson [Thu, 17 May 2018 10:37:40 +0000 (11:37 +0100)]
Perl @INC path: fix a few more scripts to use BEGIN

Three more files which missed out on
  dea987c5ab11 "PERLLIB, @INC: Use BEGIN { }"

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
6 years agoREADME.dev: Make example commisioning runes use $hn variable
Ian Jackson [Thu, 17 May 2018 10:23:32 +0000 (11:23 +0100)]
README.dev: Make example commisioning runes use $hn variable

This makes them better for cutting-and-pasting.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
6 years agoREADME.dev: Discuss setting Firmware for UEFI machines
Ian Jackson [Thu, 17 May 2018 10:22:59 +0000 (11:22 +0100)]
README.dev: Discuss setting Firmware for UEFI machines

This must occur before mknetbootdir, or mknetbootdir does not set
things up for UEFI booting.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
6 years agoREADME.dev: Fix a typo
Ian Jackson [Thu, 17 May 2018 10:22:24 +0000 (11:22 +0100)]
README.dev: Fix a typo

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
6 years agoOsstest/Debian: Use X64 bootloader for UEFI i386
Ian Jackson [Fri, 18 May 2018 15:27:43 +0000 (16:27 +0100)]
Osstest/Debian: Use X64 bootloader for UEFI i386

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
6 years agoOsstest/Debian: preseed: Force UEFI install regardless
Ian Jackson [Wed, 16 May 2018 16:04:43 +0000 (16:04 +0000)]
Osstest/Debian: preseed: Force UEFI install regardless

This suppresses:

   Partition disks
   ---------------

   This machine's firmware has started the installer in UEFI mode but it looks
   like there may be existing operating systems already installed using "BIOS
   compatibility mode". If you continue to install Debian in UEFI mode, it might
   be difficult to reboot the machine into any BIOS-mode operating systems later.

   If you wish to install in UEFI mode and don't care about keeping the ability to
   boot one of the existing systems, you have the option to force that here. If
   you wish to keep the option to boot an existing operating system, you should
   choose NOT to force UEFI installation here.
   Force UEFI installation?
     1: Yes      2: No
     Prompt: '?' for help>

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
6 years agoOsstest/TestSupport: Use right arch for UEFI grub setup
Ian Jackson [Wed, 16 May 2018 16:03:32 +0000 (16:03 +0000)]
Osstest/TestSupport: Use right arch for UEFI grub setup

This table was erroneously never used.  Also, the value for arm64 is
wrong: it should be AA64.  We fix the table value, and substitute it
in, for no overall change on amd64.  On other arches we now do not
hardcode the wrong value.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
CC: Julien Grall <julien.grall@linaro.org>
6 years agoOsstest/Debian.pm: Remove a spurious `my $kernel'.
Ian Jackson [Thu, 17 May 2018 18:12:43 +0000 (18:12 +0000)]
Osstest/Debian.pm: Remove a spurious `my $kernel'.

This variable is not used, and is shadowed by the one which is
initialised a few lines later.  This produces a warning.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
6 years agocr-daily-branch: When reporting, always compare to real flights
Ian Jackson [Mon, 21 May 2018 14:20:20 +0000 (15:20 +0100)]
cr-daily-branch: When reporting, always compare to real flights

When we're running sg-report-flight, at the end of the flight, we
shouldn't try to compare it to play flights, but real ones (if any).
play flights might contain junk (which might even cause
sg-report-flight to crash).

CC: Wei Liu <wei.liu2@citrix.com>
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
6 years agots-xen-build: run `make build' before `make', by default
Ian Jackson [Wed, 9 May 2018 15:53:57 +0000 (16:53 +0100)]
ts-xen-build: run `make build' before `make', by default

The Xen build system has some quirks.  One of them is that `make' is a
version of `make dist' which is a version of `make install', which
runs `make install' in each subdir - but there are subdirs where `make
install' is a no-op which does not depend on `make build'.  Also,
`make all' does not do `make build'.  Additionally, the default target
differs in the toplevel, compared to subdirectories.  Perhaps this is
all mistaken, but it's not something we can correct in stable
branches.

The result is that we might miss bugs where `make build' fails; and in
particular, bugs where simply `make' may fail in a subdirectory.  Eg,
the recently discovered build failures in the emulator tests, due to
backported changes, which occur with `make -C tools' but not with
`make all' or `make tools'.

Detect these by running `make build' before `make' (unless our caller
has specified some other build arguments).  In the future perhaps we
should do tools and hypervisor builds entirely separately.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
---
v2: Use `make build' instead of `make all' since the former actually
    detects the bug in a buggy unpatched Xen 4.8.  Fix a syntax
    error.  Improve the commit message.

6 years agoms-planner: Fix a message to have the right quoting
Ian Jackson [Fri, 18 May 2018 16:05:24 +0000 (17:05 +0100)]
ms-planner: Fix a message to have the right quoting

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
6 years agomg-adjust-flight-makexrefs: Repair after "Use ^ for excluding jobs"
Ian Jackson [Fri, 18 May 2018 13:42:13 +0000 (13:42 +0000)]
mg-adjust-flight-makexrefs: Repair after "Use ^ for excluding jobs"

In
  3b433e39382b13dda5d25aebecaf4864ef69c8d4
  "mg-adjust-flight-makexrefs: Use ^ for excluding jobs, not !"
a shell glob pattern was changed:
  -    !*)    ifmatch=$tokeep; action=$todelete ; glob="${glob#!}" ;;
  +    [!^]*) ifmatch=$tokeep; action=$todelete ; glob="${glob#?}" ;;

But in globbing, ! inside [ ] is a character class complement, not a
literal.  The result is that mg-adjust-flight-makexrefs would
generally replace jobs willy-nilly.

Fix this by using two separate glob patterns, and no character class.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
6 years agomg-schema-test-database: New --max-flight option
Ian Jackson [Mon, 3 Jul 2017 16:53:11 +0000 (17:53 +0100)]
mg-schema-test-database: New --max-flight option

This can be useful when testing things which involve old data, rather
than things which just involve new data.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
6 years agomg-schema-test-database: Apply updates, regardless of compatibility
Ian Jackson [Mon, 3 Jul 2017 16:53:26 +0000 (17:53 +0100)]
mg-schema-test-database: Apply updates, regardless of compatibility

The test database should be just like the real one, even if the schema
compatibility looks wrong.  So pass -ff to mg-schema-update.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
6 years agostep logfiles: Rely on new logfile column
Ian Jackson [Thu, 29 Jun 2017 16:13:50 +0000 (17:13 +0100)]
step logfiles: Rely on new logfile column

These are the three places which read logfile from the db, but had a
fallback to a computation involving stepno and step.

But, after steps-logfile-constraint, the logfile column is NOT NULL
(and populated with computed default data if need be) so this is not
needed any more

This is part of a "Populate-then-rely" schema change, as
described in schema/README.updates.  Specifically, the step:
10. Optionally commit: code which relies on new column, and does not
   necessarily tolerate NULL/DEFAULT; changing `constraint' to Needed.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
7 years agomg-schema-update: print timestamp when Applying
Ian Jackson [Fri, 4 May 2018 14:30:21 +0000 (14:30 +0000)]
mg-schema-update: print timestamp when Applying

This makes it easier to see the retry rate etc. if a schema update
needs to be retried due to db conflicts.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
7 years agoStandalone HostFlags: Use ^ for negation, not !
Ian Jackson [Thu, 3 May 2018 14:46:45 +0000 (15:46 +0100)]
Standalone HostFlags: Use ^ for negation, not !

The ! here doesn't cause any shell rune trouble in, but we want to
move to using ^ everywhere for consistency.

We still honour ! to support old configs.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
7 years agomg-adjust-flight-makexrefs: Use ^ for excluding jobs, not !
Ian Jackson [Thu, 3 May 2018 14:41:26 +0000 (15:41 +0100)]
mg-adjust-flight-makexrefs: Use ^ for excluding jobs, not !

The ! here doesn't cause shell rune trouble in practice very much, but
we want to move to using ^ everywhere for consistency.

We still honour !.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
7 years agomg-hosts: Use ^ for flag negation, not !
Ian Jackson [Thu, 3 May 2018 14:40:31 +0000 (15:40 +0100)]
mg-hosts: Use ^ for flag negation, not !

We still honour (and document) !

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
7 years agomg-allocate: Use ^ for deallocation, not !
Ian Jackson [Thu, 3 May 2018 14:28:59 +0000 (15:28 +0100)]
mg-allocate: Use ^ for deallocation, not !

! is annoying because some shells enable !-history expantion by
default even though few users have any idea about it.  In general users
are confused by the error message and do not know what to do next.

We still honour ! for the benefit of old wrapper scripts, finger
macros, etc.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
7 years agosg-report-flight: Provide correct links to test history pages
Ian Jackson [Fri, 27 Apr 2018 14:12:47 +0000 (15:12 +0100)]
sg-report-flight: Provide correct links to test history pages

The files are actually called `ALL.html' and `<branch>.html'.  See the
assignments to $html_file in sg-report-job-history near l.251.

I think this may have previously worked in Massachusetts (prior to the
recent upgrades) due to content negotiation, but this should not be
relied on.

Reported-by: Julien Grall <julien.grall@linaro.org>
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
7 years agoproduction-config: Use something outside ~osstest/.ssh for TestHostKeypairPath
Ian Jackson [Fri, 27 Apr 2018 13:43:56 +0000 (14:43 +0100)]
production-config: Use something outside ~osstest/.ssh for TestHostKeypairPath

ansible nowadays chmods ~/.ssh to 700 for every user whose
authorized_keys it touches.  This includes osstest@osstest.

The result is that other users on osstest.test-lab cannot access this
file.  I have cp -a'd the keys, which are a piece of static
configuration we don't expect to change often, to a different
directory which will not be attacked by ansible.  Refer to them there.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
7 years agoproduction-config: Get ssh public keys from file where ansible will write them
Ian Jackson [Fri, 27 Apr 2018 13:38:36 +0000 (14:38 +0100)]
production-config: Get ssh public keys from file where ansible will write them

We had a hardcoded set of public keys ssh in production-config.  This
is not really sensible, and it causes annoyance for new users.

Instead use a file which will be generated by ansible.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
7 years agocr-for-branches: Add linux-4.14
Ian Jackson [Tue, 24 Apr 2018 11:19:04 +0000 (12:19 +0100)]
cr-for-branches: Add linux-4.14

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
7 years agodb schema: Make the testid column NOT NLLL
Ian Jackson [Mon, 3 Jul 2017 16:54:19 +0000 (17:54 +0100)]
db schema: Make the testid column NOT NLLL

We have to fix some old data.  We insist that the old data is indeed
old (more than 5 years old) and not part of proper flights (ie,
blessed "play" or "crashed" or "unknown").

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
7 years agoms-planner*: Improve debugging a bit
Ian Jackson [Fri, 13 Apr 2018 13:20:13 +0000 (14:20 +0100)]
ms-planner*: Improve debugging a bit

* Use confess a few times instead of die
* Fix failure of ms-planner-debug to DTRT

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
7 years agoMerge remote-tracking branch 'cam-daemons/master' into wip
Ian Jackson [Mon, 23 Apr 2018 14:49:22 +0000 (15:49 +0100)]
Merge remote-tracking branch 'cam-daemons/master' into wip

7 years agoproduction-config-cambridge: Drop all arm64 tests as we have no such hardware
Ian Jackson [Tue, 10 Apr 2018 11:00:16 +0000 (12:00 +0100)]
production-config-cambridge: Drop all arm64 tests as we have no such hardware

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
7 years agomfi-common: Honour BuildArches and TestArches config settings
Ian Jackson [Mon, 9 Apr 2018 15:36:31 +0000 (16:36 +0100)]
mfi-common: Honour BuildArches and TestArches config settings

These settings are currently not provided, and the defaults are
unchanged, so no functional change.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
7 years agoproduction-config-cambridge: Update TftpDiVersion with kernel NUMA bugfix
Ian Jackson [Mon, 9 Apr 2018 15:05:31 +0000 (16:05 +0100)]
production-config-cambridge: Update TftpDiVersion with kernel NUMA bugfix

http_proxy=http://localhost:3128/ OSSTEST_SPECIALKERNELDEB_jessie_amd64=$PWD/linux-image-3.16.0-4-amd64_3.16.51-3~a.test_amd64.deb ./mg-debian-installer-update-all

See 5fc9697df33a "Update jessie amd64 kernel for NUMA bugfix".

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
7 years agoemail output: Add MIME headers
Ian Jackson [Thu, 5 Apr 2018 14:40:00 +0000 (15:40 +0100)]
email output: Add MIME headers

We universally use UTF-8 in git commit messages and other kinds of
messages.  The RFC-*822 default is us-ascii.  Fix this by providing a
set of MIME headers.

Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
7 years agocr-ensure-disk-space: Actually quit before taking lock if all is well
Ian Jackson [Thu, 5 Apr 2018 14:38:39 +0000 (15:38 +0100)]
cr-ensure-disk-space: Actually quit before taking lock if all is well

5d2466dc0f26 "cr-ensure-disk-space: Correct stdout output" was
supposed to change an `exit 0' into a `quit_ok' but erroneously
changed it into `check_space'.  Fix this.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
7 years agomake-flight: Run some shadow paging tests (`hap=false')
Ian Jackson [Thu, 5 Apr 2018 13:01:19 +0000 (14:01 +0100)]
make-flight: Run some shadow paging tests (`hap=false')

Add four tests to most flights:

    test-amd64-amd64-xl-shadow
    test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow
    test-amd64-i386-xl-shadow
    test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow

These are the same as the corresponding ones without -shadow, except
that they set xen_boot_append to `hap=false', so that that will be
passed to the hypervisor to force shadow paging.

CC: Jan Beulich <jbeulich@suse.com>
CC: George Dunlap <george.dunlap@citrix.com>
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Partially-Reviewed-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
7 years agomake-flight: do_hvm_debian_test_one: new testname_sfx and testvars args
Ian Jackson [Thu, 5 Apr 2018 13:00:32 +0000 (14:00 +0100)]
make-flight: do_hvm_debian_test_one: new testname_sfx and testvars args

Currently no callers pass these, so no functional change.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
7 years agoadhoc-revtuple-generator: Recognise http://example.net/example.git/ as git
Ian Jackson [Thu, 5 Apr 2018 12:24:24 +0000 (13:24 +0100)]
adhoc-revtuple-generator: Recognise http://example.net/example.git/ as git

In some circumstances the trailing slash appears, in a way that is
outside our control.  Eg some people with git submodules.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
7 years agocrontab-cambridge: Remove departed employee
Ian Jackson [Wed, 4 Apr 2018 14:17:28 +0000 (15:17 +0100)]
crontab-cambridge: Remove departed employee

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
7 years agocrontabs: Add warning not to just "crontab -e"
Ian Jackson [Wed, 4 Apr 2018 14:16:26 +0000 (15:16 +0100)]
crontabs: Add warning not to just "crontab -e"

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
7 years agoREADME.dev: Say to use mg-force-push for force pushes
Ian Jackson [Tue, 27 Mar 2018 15:00:17 +0000 (16:00 +0100)]
README.dev: Say to use mg-force-push for force pushes

Reported-by: Wei Liu <wei.liu2@citrix.com>
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Reviewed-by: Wei Liu <wei.liu2@citrix.com>
7 years agots-xen-install: Add async-show-all to hypervisor options, globally
Ian Jackson [Tue, 6 Mar 2018 11:00:03 +0000 (11:00 +0000)]
ts-xen-install: Add async-show-all to hypervisor options, globally

This will help produce better debugging

CC: Jan Beulich <JBeulich@suse.com>
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
7 years agorumpkernel: clone from github rather than the official URL
Ian Jackson [Mon, 5 Mar 2018 15:48:57 +0000 (15:48 +0000)]
rumpkernel: clone from github rather than the official URL

Because, on wheezy:

  $ GIT_SSL_NO_VERIFY=1 HOME=/ git clone http://repo.rumpkernel.org/rumprun
  Cloning into 'rumprun'...
  error: RPC failed; result=22, HTTP code = 501
  fatal: The remote end hung up unexpectedly
  $

strace shows a baroque sequence of redirects etc. involving servers
from rumpkernel.org, github.com, and some kind of gandi.net CDN.

On jessie it seems to just work.  This commit should therefore be
reverted at some point, when all the instances are running jessie or
later.  (Right now the VMs in the Mass colo are mostly wheezy.)

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
7 years agopv-in-pvh: add a pv shim test
Roger Pau Monne [Fri, 16 Feb 2018 10:37:40 +0000 (10:37 +0000)]
pv-in-pvh: add a pv shim test

The new shim tests uses the same approach as the PVH one, but doesn't
differentiate between AMD and Intel.

This is the (trimmed) diff of the output from mg-show-flight-runvars:

+test-amd64-amd64-xl-pvshim    all_host_di_version    2017-12-14
+test-amd64-i386-xl-pvshim     all_host_di_version    2017-12-14
+test-amd64-amd64-xl-pvshim    all_host_suite         jessie
+test-amd64-i386-xl-pvshim     all_host_suite         jessie
+test-amd64-amd64-xl-pvshim    all_hostflags          arch-amd64,arch-xen-amd64,suite-jessie,purpose-test
+test-amd64-i386-xl-pvshim     all_hostflags          arch-i386,arch-xen-amd64,suite-jessie,purpose-test
+test-amd64-amd64-xl-pvshim    arch                   amd64
+test-amd64-i386-xl-pvshim     arch                   i386
+test-amd64-amd64-xl-pvshim    buildjob               build-amd64
+test-amd64-i386-xl-pvshim     buildjob               build-i386
+test-amd64-amd64-xl-pvshim    debian_arch            amd64
+test-amd64-i386-xl-pvshim     debian_arch            i386
+test-amd64-amd64-xl-pvshim    debian_kernkind        pvops
+test-amd64-i386-xl-pvshim     debian_kernkind        pvops
+test-amd64-amd64-xl-pvshim    debian_shim            1
+test-amd64-i386-xl-pvshim     debian_shim            1
+test-amd64-amd64-xl-pvshim    debian_suite           jessie
+test-amd64-i386-xl-pvshim     debian_suite           jessie
+test-amd64-amd64-xl-pvshim    kernbuildjob           build-amd64-pvops
+test-amd64-i386-xl-pvshim     kernbuildjob           build-i386-pvops
+test-amd64-amd64-xl-pvshim    kernkind               pvops
+test-amd64-i386-xl-pvshim     kernkind               pvops
+test-amd64-amd64-xl-pvshim    toolstack              xl
+test-amd64-i386-xl-pvshim     toolstack              xl
+test-amd64-amd64-xl-pvshim    xenbuildjob            build-amd64
+test-amd64-i386-xl-pvshim     xenbuildjob            build-amd64

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Acked-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
7 years agosg-report-host-history: Multiply size of reported history by 10
Ian Jackson [Wed, 31 Jan 2018 11:18:55 +0000 (11:18 +0000)]
sg-report-host-history: Multiply size of reported history by 10

Right now,
  http://logs.test-lab.xenproject.org/osstest/results/host/laxton1.html
contains ~200 jobs as expected, but that covers only 4 days.  We
obviously would like more like a month.

The effect ought to be some more db work, but not worse concurrency.

CC: Julien Grall <julien.grall@linaro.org>
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
7 years agodaily-cron-email-*: Replace lists.xensource.com with lists.xenproject.org
Ian Jackson [Mon, 29 Jan 2018 17:27:18 +0000 (17:27 +0000)]
daily-cron-email-*: Replace lists.xensource.com with lists.xenproject.org

The .xensource.com domain is quite deprecated now.

Reported-by: Doug Goldstein <cardoe@cardoe.com>
Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
7 years agomg-hosts: Call db_readonly_report inside, not outside, db_retry
Ian Jackson [Mon, 29 Jan 2018 17:24:04 +0000 (17:24 +0000)]
mg-hosts: Call db_readonly_report inside, not outside, db_retry

Newer postgresql prints:
  WARNING:  SET TRANSACTION can only be used in transaction blocks
and it is right.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
7 years agomg-force-push: unshift . onto @INC
Ian Jackson [Mon, 29 Jan 2018 17:23:28 +0000 (17:23 +0000)]
mg-force-push: unshift . onto @INC

This script seems to have missed out on the bulk commit fixing this
problem.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
7 years agosmoke tests: Fix job reuse globs in cr-daily-branch
Ian Jackson [Thu, 14 Dec 2017 16:28:21 +0000 (16:28 +0000)]
smoke tests: Fix job reuse globs in cr-daily-branch

A symptom that the old patterns lack !build-arm64-xsm, so the xsm job
might be reused.  The overall cause is that it contained a (partial)
list of architectures.

Instead, we observe that:
 * The things we want to avoid reusing are Xen and libvirt (which
   builds against Xen.
 * Non-Xen builds are invariably build-<arch>-<thing> (or even longer)
   so we can match them all with build-*-*.
 * We need to exclude the Xen builds and the libvirt builds.  The
   libvirt builds are obvious.  The Xen builds are either build-<arch>
   which does not match build-*-*, or build-<arch>-xsm.

CC: Stefano Stabellini <sstabellini@kernel.org>
Acked-by: Julien Grall <julien.grall@linaro.org>
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
7 years agosmoke tests: Build arm64 with XSM, instead of without
Ian Jackson [Thu, 14 Dec 2017 16:03:44 +0000 (16:03 +0000)]
smoke tests: Build arm64 with XSM, instead of without

The smoke flight contains test-arm64-arm64-xl-xsm so it should contain
build-arm64-xsm (and not contain build-arm64).

I have checked the results with
  OSSTEST_CONFIG=standalone-config-example eatmydata ./standalone-generate-dump-flight-runvars
and looking at the diff shows precisely the expected change.

CC: Stefano Stabellini <sstabellini@kernel.org>
Acked-by: Julien Grall <julien.grall@linaro.org>
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
7 years agoproduction-config: Update jessie amd64 kernel for NUMA bugfix
Ian Jackson [Thu, 14 Dec 2017 16:15:51 +0000 (16:15 +0000)]
production-config: Update jessie amd64 kernel for NUMA bugfix

Bump TftpDiVersion_jessie.  This installer was generated by me today,
with the git branch including the di_special_kernel series, using this
rune:

 OSSTEST_SPECIALKERNELDEB_jessie_amd64=$PWD/linux-image-3.16.0-4-amd64_3.16.51-3~a.test_amd64.deb ./mg-debian-installer-update-all

The file linux-image-3.16.0-4-amd64_3.16.51-3~a.test_amd64.deb
came from here

 https://people.debian.org/~benh/packages/jessie-pu/linux-image-3.16.0-4-amd64_3.16.51-3~a.test_amd64.deb

apropos of this comment in the Debian bug report:

 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=883938#170

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
7 years agomg-debian-installer-update: Honour OSSTEST_SPECIALKERNELDEB_<suite>_<arch>
Ian Jackson [Thu, 14 Dec 2017 15:40:22 +0000 (15:40 +0000)]
mg-debian-installer-update: Honour OSSTEST_SPECIALKERNELDEB_<suite>_<arch>

This variable can be set to the absolute pathname of a kernel .deb to
use.  It will be used only for hosts for which the corresponding
hostflag "need-kernel-deb-<suite>-special" is set.

There is not currently any facility for more than one special kernel
for each architecture.

As with backports kernels, the normal (Debian-supplied) kernel is
available too, and is used for hosts without any special hostflag.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
7 years agomg-debian-installer-update: Introduce $specialkernel
Ian Jackson [Thu, 14 Dec 2017 15:37:25 +0000 (15:37 +0000)]
mg-debian-installer-update: Introduce $specialkernel

* In the first half of the backports kernel processing, set
  the new variable specialkernel to the string "backports".
  (This token occurs in the output .deb and kernel name, and
  is also referenced by hostflags of the form
     need-kernel-deb-<suite>-backports.)

* Break out the second half of the backports procesing into its
  own section, conditional on $specialkernel.

* Replace occurrences of the "backports" token, after that point,
  with $specialkernel.

Overall, this will allow other kinds of special kernel to be
introduced.  But there is, for now, no functional change.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
7 years agodi_special_kernel: Use in preseed_create
Ian Jackson [Thu, 14 Dec 2017 12:28:08 +0000 (12:28 +0000)]
di_special_kernel: Use in preseed_create

This abolishes yet another open-coding of need-kernel-deb-* handling.

Again, there is little functional change.  A significant change is
that now if the special kernel deb does not exist, we do not fail.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
7 years agodi_special_kernel: Provide $tp; Regularise $kernel, $cpio
Ian Jackson [Thu, 14 Dec 2017 15:52:07 +0000 (15:52 +0000)]
di_special_kernel: Provide $tp; Regularise $kernel, $cpio

Make both of these paths relative to $ho->{Tftp}{Path}.  Previously
$kernel was relative to that, but $cpio contained it.

Adjust all callers, so no functional change.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
7 years agodi_special_kernel: Use di_installer_path
Ian Jackson [Thu, 14 Dec 2017 13:09:52 +0000 (13:09 +0000)]
di_special_kernel: Use di_installer_path

This avoids the caller having to supply $d_i.  This is good because
there is a site we want to call this from which uses that name for a
different value!

No functional change.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
7 years agodi_installer_path: Use in ts-host-install
Ian Jackson [Thu, 14 Dec 2017 13:07:02 +0000 (13:07 +0000)]
di_installer_path: Use in ts-host-install

No significant functional change.  We now honour cfg_tftp_di_version
if the $ho doesn't have the information.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
7 years agodi_installer_path: Break out of preseed_create
Ian Jackson [Thu, 14 Dec 2017 13:04:31 +0000 (13:04 +0000)]
di_installer_path: Break out of preseed_create

No functional change.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
7 years agodi_special_kernel: Replace open-coding in ts-host-install
Ian Jackson [Thu, 14 Dec 2017 12:23:24 +0000 (12:23 +0000)]
di_special_kernel: Replace open-coding in ts-host-install

The effect is simply to reuse the loop in di_special_kernel.  The
extra tests etc. to compute $k and $c in di_special_kernel are of no
import here, and are harmless.  We have already called
di_special_kernel so if it was going to fail due to this extra
computation, it would do so earlier.

No overall functional change.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
7 years agodi_special_kernel: Pass $kp to $fn
Ian Jackson [Thu, 14 Dec 2017 12:23:12 +0000 (12:23 +0000)]
di_special_kernel: Pass $kp to $fn

Adjust the one current caller.  No functional change

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
7 years agoDebian: Factor out di_special_kernel from ts-host-install
Ian Jackson [Thu, 14 Dec 2017 12:09:53 +0000 (12:09 +0000)]
Debian: Factor out di_special_kernel from ts-host-install

No functional change.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
7 years agocrontab: Fix recipient of cron mails
Ian Jackson [Wed, 13 Dec 2017 17:04:19 +0000 (17:04 +0000)]
crontab: Fix recipient of cron mails

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
7 years agoproduction-config[-cambridge]: update TftpDiVersion_jessie
Ian Jackson [Mon, 11 Dec 2017 15:55:39 +0000 (15:55 +0000)]
production-config[-cambridge]: update TftpDiVersion_jessie

Debian has done a point release.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
7 years agolinux-arm-xen: Get from shared arm/linux.git xenbits tree
Ian Jackson [Tue, 5 Dec 2017 18:27:17 +0000 (18:27 +0000)]
linux-arm-xen: Get from shared arm/linux.git xenbits tree

This drops the dependency on Stefano's personal git tree.
The osstest output branch remains unmoved.

Acked-by: Julien Grall <julien.grall@linaro.org>
Acked-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
7 years agosg-report-host-history: make link to host examination results
Ian Jackson [Tue, 5 Dec 2017 17:24:04 +0000 (17:24 +0000)]
sg-report-host-history: make link to host examination results

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
7 years agoREADME.dev: Say how to do a commissioning flight for a new architecture
Ian Jackson [Tue, 5 Dec 2017 16:01:17 +0000 (16:01 +0000)]
README.dev: Say how to do a commissioning flight for a new architecture

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
7 years agoRevert "make-flight etc.: drop arm64"
Ian Jackson [Thu, 30 Nov 2017 17:11:10 +0000 (17:11 +0000)]
Revert "make-flight etc.: drop arm64"

We have the laxtons back and they seem to be working.

This reverts commit 329ef52c9866b2a8608a598836b7d5813de1e979.

Acked-by: Julien Grall <julien.grall@linaro.org>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
7 years agomg-hosts: mknetbootdir: Correctly use Path again
Ian Jackson [Thu, 30 Nov 2017 17:40:13 +0000 (17:40 +0000)]
mg-hosts: mknetbootdir: Correctly use Path again

In fcd93edd00a8c9b08da3994d8bee9fa3809c3d93
  "netboot: Rework interface to host_netboot_file (was host_pxefile)"
we unintentionally dropped $ho->{Tftp}{Path} from the
effective path.  Reinstate it.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
7 years agomg-hosts: mknetbootdir: Add a couple of error checks
Ian Jackson [Thu, 30 Nov 2017 17:39:13 +0000 (17:39 +0000)]
mg-hosts: mknetbootdir: Add a couple of error checks

This will help us stop blundering on if something is wrong.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
7 years agoproduction-config: Increase LogsMinSpaceMby etc.
Ian Jackson [Tue, 5 Dec 2017 11:47:53 +0000 (11:47 +0000)]
production-config: Increase LogsMinSpaceMby etc.

osstest does not currently try to estimate the prospective disk use in
logs/ etc. of a flight before it starts; nor does it aggregate the
disk requirements of multiple concurrent flights.

Instead, it has a hardcoded minimum, which is enforced (by expiry) at
the start of each flight.  It must be large enough for all in-progress
flights.  This turns out not to be true any more, because of expansion
of both the number of different osstest branches, and because of
expansion of the number of jobs per flight, and because of expansion
of the activities within each job.

So, well, let's double it.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
7 years agoBranch for Xen 4.9
Ian Jackson [Fri, 1 Dec 2017 14:52:52 +0000 (14:52 +0000)]
Branch for Xen 4.9

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
7 years agoREADME: Do not recommend cs-flight-create
Ian Jackson [Fri, 1 Dec 2017 11:13:39 +0000 (11:13 +0000)]
README: Do not recommend cs-flight-create

This is not a normal way to carry on.  Far too much like hard work.
Recommend make-flight or cs-adjust-flight new: instead.

CC: Julien Grall <julien.grall@arm.com>
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
7 years agocs-adjust-flight: Correct pseudo-BNF synopsys for runvar-build-set
Ian Jackson [Fri, 1 Dec 2017 11:11:38 +0000 (11:11 +0000)]
cs-adjust-flight: Correct pseudo-BNF synopsys for runvar-build-set

In 497b2c6c933d13a05b01c6a654ce470be16dd78a
  cs-adjust-flight: Rework runvar-build-set new value handling
the interpretation of this parameter was changed completely, but the
synopsis was not updated and thus became wrong.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
7 years agoms-planner: Including Unshare event for previous sharing state
Ian Jackson [Tue, 21 Nov 2017 15:45:23 +0000 (15:45 +0000)]
ms-planner: Including Unshare event for previous sharing state

Arrange for the initial plan to contain an Unshare event for resources
which are unallocated, but currently recorded as shared (ie, they
might be ready for reuse).

Specifically, we need to:

 * Include the Wear in the information for a host with no
   unallocatable shares (since the consumers might want to reuse the
   current state).

 * When processing the allocations in cmd_reset, look for sharing
   entries (ie, things we found allocated by magic/shared, and made a
   note in %currentshare) that didn't have any corresponding
   allocations of shares.  Generate an Unshare event for them.

 * When we find an Unshare event in the plan, we used to remove it.
   Now we keep it if it's the first thing in the plan.  (For
   subsequent entries callers don't generally need it because they can
   find the sharing info from previous events.)  When it is the first
   thing in the plan, we do some checks on it.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
7 years agoms-planner: include PreviousShare information in Unshare events
Ian Jackson [Tue, 21 Nov 2017 16:06:12 +0000 (16:06 +0000)]
ms-planner: include PreviousShare information in Unshare events

We can't put this in $evt->{Share} because existing clients will see
it there and assume it means the resource is shared.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
7 years agoms-queuedaemon: Support infra-priority
Ian Jackson [Fri, 17 Nov 2017 14:40:53 +0000 (14:40 +0000)]
ms-queuedaemon: Support infra-priority

This will allow a flight to order the queueing its own test jobs more
sensibly without interfering with inter-flight priority.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
7 years agots-xen-build-prep: Install libelf-dev for benefit of linux.git
Ian Jackson [Wed, 15 Nov 2017 11:00:07 +0000 (11:00 +0000)]
ts-xen-build-prep: Install libelf-dev for benefit of linux.git

Linux upstream has started needing libelf-dev.  Without it, recent tip
fails (in our configuration) like this:

 Makefile:938: *** "Cannot generate ORC metadata for CONFIG_UNWINDER_ORC=y, please install libelf-dev, libelf-devel or elfutils-libelf-devel".  Stop.

This is because kernel now is using objtool to create unwind
information.  This needs libelf to work.  Advantage is that this
approach no longer depends on assembler sources being heavily
annotated with unwind hints.

CC: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Boris Ostrovsky <boris.ostrovsky@oracle.com>
CC: Juergen Gross <jgross@suse.com>
CC: Paul Durrant <paul.durrant@citrix.com>
CC: Wei Liu <wei.liu2@citrix.com>
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Juergen Gross <jgross@suse.com>
7 years agomg-force-push: Fix typo
Ian Jackson [Wed, 8 Nov 2017 16:01:06 +0000 (16:01 +0000)]
mg-force-push: Fix typo

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
7 years agoosstest: fix rm to use '-f' in ts-freebsd-host-install
Roger Pau Monne [Fri, 3 Nov 2017 15:18:05 +0000 (15:18 +0000)]
osstest: fix rm to use '-f' in ts-freebsd-host-install

It's perfectly valid for the .tmp file to not exists, and the script
shouldn't fail in that case.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
7 years agoap-push: turn off set -x
Ian Jackson [Mon, 6 Nov 2017 16:28:21 +0000 (16:28 +0000)]
ap-push: turn off set -x

This makes the output of mg-force-push quite unpleasant, amongst other
things.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
7 years agomg-force-push: New script
Ian Jackson [Mon, 6 Nov 2017 16:24:58 +0000 (16:24 +0000)]
mg-force-push: New script

This does some safety checks and reduces the risk of c&p mistakes.
It has to be run as osstest@osstest.test-lab (or equivalent).

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
7 years agomigrations: Do x10 migration 20x instead
Ian Jackson [Fri, 3 Nov 2017 12:49:37 +0000 (12:49 +0000)]
migrations: Do x10 migration 20x instead

We want to keep the old testid or some new failures will be "never
pass".

Roger reports that this change makes the existing host-specific
Windows migration failures fail everywhere, so so things may need
force pushing.

CC: Roger Pau Monné <roger.pau@citrix.com>
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
7 years agocrontab: do bisect the smoke tests
Ian Jackson [Fri, 3 Nov 2017 12:08:06 +0000 (12:08 +0000)]
crontab: do bisect the smoke tests

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
7 years agoosstest: set arch before calling set_freebsd_runvars
Roger Pau Monne [Thu, 26 Oct 2017 15:21:03 +0000 (15:21 +0000)]
osstest: set arch before calling set_freebsd_runvars

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
7 years agoosstest: Add freebsd runvars to examine job in generic flights pretest
Roger Pau Monne [Wed, 25 Oct 2017 10:30:24 +0000 (11:30 +0100)]
osstest: Add freebsd runvars to examine job in generic flights

Previous patches only added the FreeBSD runvars to the jobs in the
examine flight, but failed to also add them to the examine job in the
generic flight.

This is necessary because the examine jobs now contain a step which
uses freebsd - the memdisk append determination.

On installations without an anointed freebsd job, and with no
freebsd-related config settings, that step will simply and harmlessly
fail.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
7 years agosg-run-job: hook the memdisk test into examine
Roger Pau Monne [Fri, 28 Jul 2017 15:08:32 +0000 (16:08 +0100)]
sg-run-job: hook the memdisk test into examine

Hook the memdisk parameter detection and the saving of the host
properties into the examine jobs.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
Changes since v2:
 - Do not pass a host ident to ts-examine-hostprops-save.
 - Use .- for ts-memdisk-try-append so that the rest of the job will
   run even if this step fails.

Changes since v1:
 - Run the memdisk test first (so that we don't leave the host in a
   weird state).
 - Pass a host to the examine-hostprops-save.

7 years agomake-hosts-flight: set runvars for FreeBSD test
Roger Pau Monne [Fri, 28 Jul 2017 15:07:16 +0000 (16:07 +0100)]
make-hosts-flight: set runvars for FreeBSD test

This is needed in order to run the memdisk test.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
7 years agots-examine-hostprops-save: introduce a script to save properties
Roger Pau Monne [Fri, 28 Jul 2017 15:10:44 +0000 (16:10 +0100)]
ts-examine-hostprops-save: introduce a script to save properties

This script turns the properties stored in the runvars using the
format hostprop/$ident/$prop=$val into host properties stored in the
database.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
Changes since v12:
 - Introduce a dry_run variable and print a message only once if not
   saving the properties in the database.

Changes since v2:
 - Call selecthost based on the idents passed in the putative
   hostprops runvar.
 - Fix commit message.
 - Use '/' instead of '_' in the runvars.
 - Do a dry run if flight blessing != real.
 - Fix parentheses indentation.

Changes since v1:
 - Select a host for setting the properties.
 - Print a message before exiting if blessing != real.
 - Skip properties that don't contain the selected host.

7 years agots-memdisk-try-append: introduce a script to test memdisk options
Roger Pau Monne [Fri, 28 Jul 2017 15:05:18 +0000 (16:05 +0100)]
ts-memdisk-try-append: introduce a script to test memdisk options

The intended usage is to run this script against every host in order
to record the possible needed memdisk flags.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
Changes since v12:
 - Add hyphens to the boot test options.

Changes since v1:
 - Get the arch of the job and exit with 0 if it's not supported.
 - Pass the --recordappend argument to ts-memdisk-try-append.

7 years agots-freebsd-host-install: add arguments to test memdisk append options
Roger Pau Monne [Fri, 28 Jul 2017 15:02:59 +0000 (16:02 +0100)]
ts-freebsd-host-install: add arguments to test memdisk append options

This is needed in order to figure out which memdisk options should be
used to boot the images on each specific box.

Note that when passed the --record-append argument upon success the
script stores the tentative host property in the runvars.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v12:
 - Add hyphens between words in command line options.
 - Die if --record-append is specified without --test-boot.

Changes since v2:
 - Fix commit message.

Changes since v1:
 - Provide a --recordappend argument to force the recording the
   memdisk parameters.
 - Exit gracefully if a bootonly test is attempted against a
   non-supported architecture.
 - Use NONE instead of an empty string when calling
   setup_netboot_memdisk if nothing should be appended.
 - Do not perform any arch test in ts-freebsd-host-install.

7 years agoTestSupport: introduce hostprop_putative_record
Roger Pau Monne [Fri, 28 Jul 2017 14:59:41 +0000 (15:59 +0100)]
TestSupport: introduce hostprop_putative_record

This is used to store tentative host properties in the runvars of a
job, with the expectation that at some point (ie: at the end of the
job) they will be turned into real properties stored in the database.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
Changes since v2:
 - Use the following runvar format to store the putative host props:
   hostprop/$ident/$prop=$val.

7 years agonetboot_memdisk: allow each host to have different append values
Roger Pau Monne [Mon, 23 Oct 2017 11:41:16 +0000 (12:41 +0100)]
netboot_memdisk: allow each host to have different append values

Some hosts require "append raw" [0] when booting with memdisk, while
others don't. This is based on the hardware/BIOS, and needs to be set
on a per-host basis.

In order to do this, add a new "MemdiskAppend" host property and make
use of it in the setup_netboot_memdisk helper.

[0] http://www.syslinux.org/wiki/index.php?title=MEMDISK#Memory_access_method

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
Changes since v1:
 - Explicitly use NONE for no options set (instead of an empty string,
   which is the default).
 - Allow to manually pass append parameters.

7 years agomfi-common: introduce set_freebsd_runvars to mfi-common
Roger Pau Monne [Mon, 23 Oct 2017 09:57:00 +0000 (10:57 +0100)]
mfi-common: introduce set_freebsd_runvars to mfi-common

So that it can also be used by make-hosts-flight.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
7 years agoHostDB: introduce set_property
Roger Pau Monne [Mon, 23 Oct 2017 09:57:00 +0000 (10:57 +0100)]
HostDB: introduce set_property

And provide a helper in TestSupport to use it. This allows osstest to
set host properties from test script themselves (instead of using
the mg-hosts clu).

Note that the setting of host properties is limited to flights with
intended blessing real, and it will fail for any other blessing.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
Changes since v12:
 - Use intended blessing in the error message.

Changes since v2:
 - Die if attempting to modify a host prop with intended blessing !=
   real.

7 years agosg-run-job: fix typo in the examine jobs
Roger Pau Monne [Mon, 23 Oct 2017 09:56:59 +0000 (10:56 +0100)]
sg-run-job: fix typo in the examine jobs

proc prep-job/host-examine-xen is declared twice, one of them should
be prep-job/host-examine-linux instead.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
7 years agoosstest: save/retrieve the last successfully tested FreeBSD build
Roger Pau Monne [Mon, 23 Oct 2017 13:13:30 +0000 (14:13 +0100)]
osstest: save/retrieve the last successfully tested FreeBSD build

And use it in order to install the hosts for the next FreeBSD flight.

Note that the anoints are done after the push, but there's a recovery
mechanism in case osstest manages to do a successful push, but the
artifacts are not anointed for some reason. Osstest will continue to
create flights until the revision of the anointed artifacts matches
the one pushed to the repository (even if that means running flights
with OLD_REVISION == NEW_REVISION).

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
Changes since v7:
 - Add space between $freebsd_branch and * in list-prepared.

Changes since v6:
 - Use just the branch name for anoint (instead of freebsd-$branch).
 - Force the creation of flights if the revision of the current
   anoints don't match OLD_VERSION.
 - Iterate over the list of current anoints instead of open-coding the
   arches.
 - Split the retrieve/anoint code blocks into it's own sections.

Changes since v5:
 - New in this version.