Anthony PERARD [Thu, 27 Apr 2017 14:04:15 +0000 (15:04 +0100)]
ts-openstack-deploy: Keep CURL_CA_BUNDLE when sudo is called
This is part of commit "ts-openstack-deploy: set CURL_CA_BUNDLE" but
also allow pip to work when it is called via sudo without preserving the
existing environment variables.
Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Ian Jackson [Tue, 25 Apr 2017 18:04:55 +0000 (18:04 +0000)]
ts-openstack-deploy: set CURL_CA_BUNDLE
This overrides pip's attempt to specify a specific certificate bundle,
and is necessary if we have a MITM SSL proxy.
The security implications are not ideal, because the MITM proxy will
allow any X.509 cert from any CA, whereas pip would only allow an
expected cert. But we got pip via plain https to start with...
CC: Anthony PERARD <anthony.perard@citrix.com> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Anthony PERARD [Wed, 15 Jul 2015 16:27:57 +0000 (17:27 +0100)]
Create a flight to test OpenStack with xen-unstable and libvirt
This patch should create a flight "openstack-nova", with those jobs:
build-amd64
build-amd64-xsm
build-amd64-pvops
build-amd64-libvirt
test-amd64-amd64-devstack
test-amd64-amd64-devstack-xsm
build-armhf
build-armhf-libvirt
build-armhf-pvops
build-armhf-xsm
test-armhf-armhf-devstack
test-armhf-armhf-devstack-xsm
About the runvars revision_* of test-*-*-devstack:
only REVISION_OPENSTACK_NOVA is set, the others are unset.
Empty revision_* runvar would clone the default branch, which should
be master for every openstack repos.
Signed-off-by: Anthony PERARD <anthony.perard@citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Anthony PERARD [Thu, 6 Aug 2015 11:33:38 +0000 (12:33 +0100)]
ts-openstack-tempest: Run Tempest to check OpenStack
This script runs the OpenStack integration test suite, Tempest.
Signed-off-by: Anthony PERARD <anthony.perard@citrix.com> Acked-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Ian Jackson [Tue, 25 Apr 2017 13:15:40 +0000 (13:15 +0000)]
proxy config: Actually set https_proxy too
05406e5aaffb "proxy config: Set https_proxy too" was ineffective
because in d22b80bb "proxy config: Factor out http_proxy_envsettings"
the variable name $var was not substituted into the new
supposedly-more-general shell rune, which consequently lacked the
appropriate generality.
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Ian Jackson [Tue, 25 Apr 2017 13:17:45 +0000 (13:17 +0000)]
mg-repro-setup: Cope with flights referencing other builds
We attempted to do this by trying to adjust build runvars only if they
didn't have a `.'. But cs-adjust-flight runvar-build-set has special
handling for <old-value>: it is always qualified with the flight.
So change the match to look for the current flight number.
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Ian Jackson [Thu, 20 Apr 2017 13:04:36 +0000 (13:04 +0000)]
sg-report-flight: Do not report many non-regressions as allowable
In bd648aea2ebe
sg-report-flight: report allowable regressions separately in summary
whether the regression was allowable was put in $allow, but this
was erroneously not used.
In 4a210cda9cc8
sg-report-flight: fix allowable failure logic not to reuse $allow for two purposes (!)
that use of the variable, which was never used, was removed.
However, what ought to happen, is that $failv->{Allow} would be set to
1 if the entry matched an allow pattern, and only if it was a blocker.
That makes the logic in "report ... separately" correct.
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Ian Jackson [Tue, 18 Apr 2017 13:09:38 +0000 (13:09 +0000)]
sg-run-job: Honour skip_testids runvar
This works like truncate_testids, except that the steps which match
are never run (truncate_testids skips steps *after* matching steps,
and also doesn't skip some things like log capture).
If the programmed testid for a step ends in `(*)' to request
substitutions of the stepno, the skip matching takes place against the
unsubstituted value (since it happens before a stepno is allocated).
There is no way to skip only some of a set of steps whose testids are
distinguished only by stepno.
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Ian Jackson [Tue, 18 Apr 2017 12:39:29 +0000 (12:39 +0000)]
truncation: Support globs, and multiple patterns
Rename the variable to truncate_testids. It contains glob patterns as
for Tcl `string match', space-separated.
Adjust the two places which set it: cs-bisection-step (which needs to
quote any special characters) and mg-repro-setup (which does not
really process the value, but ought to be able to cope with
space-separated lists.
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Ian Jackson [Mon, 10 Apr 2017 15:33:42 +0000 (15:33 +0000)]
mg-repro-setup: New script for setting up repros automatically
Given a previously failed job, this will:
* Create a flight for the repro attempt
* (Optionally) allocate a host to the user's personal task
* (Optionally) wipe the host
* Install the version of Xen and Linux used by that flight
* Run the job until the specified step finishes
* Email the user
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Ian Jackson [Mon, 10 Apr 2017 15:31:26 +0000 (15:31 +0000)]
mg-allocate: Provide --stdout-output
This prints RESTYPE/RESNAME/SHAREIX to stdout, after allocation is
successful (outside the db retry loop). This means that a
programmatic caller can now tell what was allocated, even if the spec
was complex.
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Ian Jackson [Thu, 6 Apr 2017 17:06:10 +0000 (17:06 +0000)]
proxy config: Add ability to install MITM TLS cert
We want things like build jobs to be able to download things via
https. But we want them to be cached. To this end, we are having our
squid treat CONNECT as a request to MITM the TLS connection.
But this means that clients will see squid's cert, not the real one.
So placate them by installing the cert on each test box.
(The squid becomes part of the TCB for our coverity upload password,
but that is fine.)
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Ian Jackson [Mon, 20 Mar 2017 15:17:31 +0000 (15:17 +0000)]
cs-adjust-flight: Work properly on db transaction retry
The variable @changes is eaten during processing. So on db retry,
there would be changes missing. (When creating a new flight, this
would often mean a flight with no jobs, which cannot be executed.)
Ian Jackson [Wed, 22 Feb 2017 11:45:58 +0000 (11:45 +0000)]
html output: ReportHtmlUnpubBaseUrl: New config variable
This allows us to generate private urls for unpublished flights. This
will be useful for links from the ongoing flights summary - since,
naturally, none of those logs are published yet.
The URLs will be of more limited use; the exact usefulness will depend
on the deployment.
If no separate Unpub url is specified, simply use the Pub one.
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Ian Jackson [Thu, 26 Jan 2017 16:26:22 +0000 (16:26 +0000)]
bisection: Really avoid flail
The flail detector needs to search for flights which will look like
the one it is creating, when this one is done. The intended blessing
always lacks `-bisect' so is no use.
We can use the last blessing for this: both cr-try-bisect and
cr-try-bisect-adhoc pass the same value for the last blessing and for
the 2nd parameter to perhaps_bisect_step_core (which is passed to
sg-execute flight to properly bless the flight when it's done).
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Ian Jackson [Wed, 18 Jan 2017 16:13:21 +0000 (16:13 +0000)]
d-i: backports: When using backports kernel for a host, install linux-base
Newer kernels may need a newer linux-base. This call has the happy
side effect of adding backports to its sources.list, which is also
generally needed.
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Ian Jackson [Wed, 18 Jan 2017 15:49:56 +0000 (15:49 +0000)]
netboot: UEFI grub: Do it more like pxe
* Abolish setup_grub_efi_bootcfg and use setup_netboot_bootcfg
instead. The latter function now expects to be given a config file
for the host's bootloader. For a UEFI host, that's a grub config
file, which it will write to the configured NetGrub location for the
specific host.
* Consequently, we no longer copy an actual grub image around every
time we do a bootloader setup. Instead, we expect that the tftp
server will be configured to point relevant hosts at a suitable
fixed image, which will go to our config file.
* Also, consequently, write the NetGrubTemplate path when we want to
setup the bootloader, rather than the ad-hoc grub-%ether%.
* Update mg-netgrub-loader-update jessie so that it writes the
NetGrubTemplateReal from the config into the grub.cfg so that the
grub image will read that file and then read the file created by
setup_netboot_bootcfg.
* Document this in its head comment.
Currently this new mg-netgrub-loader-update is untested because jessie
i386 grub (which is what we would run on the osstest controllers) does
not understand the arm64-efi target. But the new Netgrub.cfg location
is in use.
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Ian Jackson [Wed, 18 Jan 2017 15:26:16 +0000 (15:26 +0000)]
netboot: Introduce TftpNetGrub*
* When expanding netboot filenames, look for NetGrub config keys
rather than Pxe filenames. Currently this only affects mg-hosts
because the files are created by setup_grub_efi_bootcfg, and the
files are of course referred to only by the actual netboot grub
image (which may be made by mg-netgrub-loader-update: neither of
which honour these variables.
* Update the documentation, the default configs, and the
production-config-*.
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>