]> xenbits.xensource.com Git - osstest.git/log
osstest.git
9 years agoMerge branch 'from-cambridge/2015-07-13' into master flight-59514 flight-59541 flight-59559 flight-59560 flight-59564 flight-59567 flight-59568 flight-59571 flight-59576 flight-59579 flight-59587 flight-59590 flight-59592 flight-59596 flight-59598 flight-59602 flight-59604 flight-59606 flight-59607 flight-59611 flight-59613 flight-59616 flight-59617 flight-59623 flight-59626 flight-59631 flight-59634 flight-59639 flight-59640 flight-59649 flight-59650 flight-59654 flight-59659 flight-59661 flight-59664 flight-59665
Ian Jackson [Mon, 13 Jul 2015 17:02:05 +0000 (18:02 +0100)]
Merge branch 'from-cambridge/2015-07-13' into master

9 years agoAutomerge of git://xenbits.xen.org/osstest.git master into production
xen.org [Sat, 11 Jul 2015 07:35:43 +0000 (08:35 +0100)]
Automerge of git://xenbits.xen.org/osstest.git master into production

9 years agomake-flight: Only test ovmf guests on ovmf flight flight-59443 flight-59469 flight-59483 flight-59485 flight-59487 flight-59488 flight-59489 flight-59498 flight-59500 flight-59502 flight-59503 flight-59504 flight-59505 flight-59508 flight-59509 flight-59510 flight-59511 flight-59520 flight-59526 flight-59527 flight-59530 flight-59531 flight-59532 flight-59533 flight-59536 flight-59538 flight-59543 flight-59544 flight-59545 flight-59550 flight-59556
Ian Campbell [Tue, 7 Jul 2015 16:26:45 +0000 (17:26 +0100)]
make-flight: Only test ovmf guests on ovmf flight

Specifically drop all of the following test jobs from the ovmf flight:

-test-amd64-amd64-xl-qemuu-debianhvm-amd64
-test-amd64-amd64-xl-qemuu-debianhvm-amd64-xsm
-test-amd64-amd64-xl-qemuu-win7-amd64
-test-amd64-amd64-xl-qemuu-winxpsp3
-test-amd64-i386-qemuu-rhel6hvm-amd
-test-amd64-i386-qemuu-rhel6hvm-intel
-test-amd64-i386-xl-qemuu-debianhvm-amd64
-test-amd64-i386-xl-qemuu-debianhvm-amd64-xsm
-test-amd64-i386-xl-qemuu-win7-amd64
-test-amd64-i386-xl-qemuu-winxpsp3
-test-amd64-i386-xl-qemuu-winxpsp3-vcpus1

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
9 years agomg-all-branch-statuses: Show how up to date each branch is
Ian Campbell [Thu, 9 Jul 2015 14:30:36 +0000 (15:30 +0100)]
mg-all-branch-statuses: Show how up to date each branch is

Using report_find_push_age_info allows us to provide counts of
attempts since the last baseline on current tip as well as the first
attempt of each of those.

Since everything serialises on the repo lock I didn't bother trying to
parallelise anything.

It's a little terse to keep it in 80 chars.

cron infrastructure is added to run this in a new
$HOME/for-maintjobs.git on a daily basis and push the output to the
location given in the Publish config variable, if it is set (it is set
in production but not for cambridge).

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
9 years agocr-publish-flight-logs: allow publishing only the Results
Ian Campbell [Thu, 9 Jul 2015 14:30:35 +0000 (15:30 +0100)]
cr-publish-flight-logs: allow publishing only the Results

Removing the requirement that a flight be provided allows this to be
used to publish the results directory even in contexts which have no
flight.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
9 years agoAllow rumpkernel xenstorels.test failures for all but rumpuserxen branch
Ian Campbell [Thu, 9 Jul 2015 08:45:29 +0000 (09:45 +0100)]
Allow rumpkernel xenstorels.test failures for all but rumpuserxen branch

This test has a long standing heisenbug which even doing 150
iterations is not reliable at detecting. It is unlikely to be fixed
until the long-standing rumpkernel build rework is completed.

So lets mark it as an allowable failure for now, except in the
rumpuserxen branch tests themselves.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
9 years agoAutomerge of git://xenbits.xen.org/osstest.git master into production
xen.org [Thu, 9 Jul 2015 17:34:59 +0000 (18:34 +0100)]
Automerge of git://xenbits.xen.org/osstest.git master into production

9 years agoJobDB/Executive: Improve an internal `die' error flight-59285 flight-59355 flight-59426 flight-59427 flight-59428 flight-59435 flight-59440 flight-59446 flight-59452 flight-59456 flight-59462 flight-59463 flight-59464 flight-59465 flight-59472 flight-59474 flight-59477 flight-59480
Ian Jackson [Mon, 6 Jul 2015 10:20:28 +0000 (11:20 +0100)]
JobDB/Executive: Improve an internal `die' error

When this assertion fails, dump the troublesome harness revision and
requested host flags, too.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
9 years agomg-branch-setup: Get the direction of the tree-bisect link right
Ian Jackson [Mon, 6 Jul 2015 10:08:10 +0000 (11:08 +0100)]
mg-branch-setup: Get the direction of the tree-bisect link right

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
9 years agoReporting: Make HTML reports for bisection flights too
Ian Jackson [Fri, 3 Jul 2015 18:30:45 +0000 (19:30 +0100)]
Reporting: Make HTML reports for bisection flights too

Provide an appropriate --html-dir option to sg-report-flight.
(Bisection flights still do not run sg-report-host-history and
sg-report-job-history, which are fairly expensive.)

Make references to jobs from sg-report-job-history and
sg-report-host-history go to the /info.html page, not the webserver
directory listing.  (sg-report-flight's references already do.)

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
9 years agoEmail reports: Sort out recipients and Reply-to
Ian Jackson [Wed, 1 Jul 2015 14:49:35 +0000 (15:49 +0100)]
Email reports: Sort out recipients and Reply-to

No longer send reports, or copies, to named individuals.  Instead,
send all output to 1. appropriate development mailing lists 2. the new
osstest-admin@xenproject administrator alias, and 3. Bcc the new
osstest-output list.

Bisection progress emails go only to osstest-output.  In this case we
provide a Reply-To.

After this patch goes live, people interested in bisection progress
emails will find them in osstest-output.  (There are a lot of these.)
Such people can also subscribe to osstest-output and get copies of
only the main test reports and then use recipient-side filtering to
see the ones they find interesting.

(Configurations for `adhoc' and `play' runs remain unchanged and still
have a tendency to refer to my personal address @citrix.)

Deployment notes:

Keir and Stefano will no longer receive automatic CCs of certain
reports, and should subscribe to the osstest-output list, with
appropriate filtering, if they care.

The new osstest-output list has (I think) been configured to accept
the BCCs.

My personal chiark mail-to-news gateway has already been subscribed to
osstest-output.

One substantial change is that the osstest admin now gets copies of
each final bisection failure.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
CC: keir@xen.org
CC: stefano.stabellini@eu.citrix.com
CC: Lars Kurth <lars.kurth@citrix.com>
9 years agoap-fetch-version: Arrange for osstest merges from upstream to be stable
Ian Campbell [Thu, 2 Jul 2015 12:44:32 +0000 (13:44 +0100)]
ap-fetch-version: Arrange for osstest merges from upstream to be stable

If a downstream osstest instance has nothing to test it its local
pretest then it will attempt to merge from the upstream instance. If
this fails then it will try again and again generating a new merge
commit each time, even if upstream has not moved.

It is desirable that these merges instead be stable i.e. the same if
the inputs have not changed. This is good for potential bisection
attempts, history reporting/mining as well as just being sensible.

Here we arrange for this by recording the last merge "epoch" (being
the first merge of the current input branches) in a new branch
"merge-epoch" in the local testing.git and comparing our fresh merge
against it.

If the tree and parents are the same then the merge is effectively
identical (it may/will differ in the date) and we reuse the epoch
merge.

If they new merge does not match then something has changed (i.e.
upstream has moved on) and so we take the new merge and establish a
new epoch.

Add a couple of ">&2" to some fetches to prevent anything other than
the desired SHA1 leaking onto stdout.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
9 years agots-debian-hvm-install: Arrange for installed guest to use a serial console flight-59150 flight-59201 flight-59282 flight-59283 flight-59284 flight-59286 flight-59287 flight-59288 flight-59289 flight-59290 flight-59291 flight-59292 flight-59293 flight-59294 flight-59295 flight-59296 flight-59297 flight-59298 flight-59299 flight-59300 flight-59301 flight-59302 flight-59303 flight-59304 flight-59305 flight-59306 flight-59307 flight-59308 flight-59309 flight-59310 flight-59311 flight-59312 flight-59313 flight-59314 flight-59315 flight-59316 flight-59317 flight-59318 flight-59319 flight-59320 flight-59321 flight-59322 flight-59323 flight-59324 flight-59325 flight-59326 flight-59327 flight-59328 flight-59329 flight-59330 flight-59331 flight-59332 flight-59333 flight-59334 flight-59335 flight-59336 flight-59337 flight-59338 flight-59339 flight-59340 flight-59341 flight-59342 flight-59343 flight-59344 flight-59345 flight-59346 flight-59347 flight-59348 flight-59349 flight-59350 flight-59351 flight-59352 flight-59353 flight-59354 flight-59356 flight-59357 flight-59358 flight-59359 flight-59360 flight-59361 flight-59362 flight-59363 flight-59364 flight-59365 flight-59366 flight-59367 flight-59368 flight-59369 flight-59370 flight-59371 flight-59372 flight-59373 flight-59374 flight-59375 flight-59376 flight-59377 flight-59378 flight-59379 flight-59380 flight-59381 flight-59382 flight-59383 flight-59384 flight-59385 flight-59386 flight-59387 flight-59388 flight-59389 flight-59390 flight-59391 flight-59392 flight-59393 flight-59394 flight-59395 flight-59396 flight-59397 flight-59398 flight-59399 flight-59400 flight-59401 flight-59402 flight-59403 flight-59404 flight-59405 flight-59406 flight-59407 flight-59408 flight-59409 flight-59410 flight-59411 flight-59412 flight-59413 flight-59415 flight-59416 flight-59417 flight-59418 flight-59419 flight-59420 flight-59421 flight-59422 flight-59423
Ian Campbell [Mon, 6 Jul 2015 13:45:12 +0000 (14:45 +0100)]
ts-debian-hvm-install: Arrange for installed guest to use a serial console

So that the guest boot will be logged somewhere useful (the qemu-dm
log).

It still seems to pickup a "quiet" from somewhere, so it's not as
useful as it might be, but it is an improvement.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
9 years agoWhen invoking xl create do so verbosely
Ian Campbell [Mon, 6 Jul 2015 13:45:11 +0000 (14:45 +0100)]
When invoking xl create do so verbosely

xend.pm inherits from xl.pm, but I don't know what (if any) support
for verbosity it has, so the xm invocation is unchanged.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
9 years agomg-update-live: New script flight-59100 flight-59147 flight-59149 flight-59151 flight-59152 flight-59153 flight-59154 flight-59155 flight-59156 flight-59157 flight-59158 flight-59159 flight-59160 flight-59161 flight-59162 flight-59163 flight-59164 flight-59165 flight-59166 flight-59167 flight-59168 flight-59169 flight-59170 flight-59171 flight-59172 flight-59173 flight-59174 flight-59175 flight-59176 flight-59177 flight-59178 flight-59179 flight-59180 flight-59181 flight-59182 flight-59183 flight-59184 flight-59185 flight-59186 flight-59187 flight-59188 flight-59189 flight-59190 flight-59191 flight-59192 flight-59193 flight-59194 flight-59195 flight-59196 flight-59197 flight-59198 flight-59199 flight-59200 flight-59202 flight-59203 flight-59204 flight-59205 flight-59206 flight-59207 flight-59208 flight-59209 flight-59210 flight-59211 flight-59212 flight-59213 flight-59214 flight-59215 flight-59216 flight-59217 flight-59218 flight-59219 flight-59220 flight-59221 flight-59222 flight-59223 flight-59224 flight-59225 flight-59226 flight-59227 flight-59228 flight-59229 flight-59230 flight-59231 flight-59232 flight-59233 flight-59234 flight-59235 flight-59236 flight-59237 flight-59238 flight-59239 flight-59240 flight-59241 flight-59242 flight-59243 flight-59244 flight-59245 flight-59246 flight-59247 flight-59248 flight-59249 flight-59250 flight-59251 flight-59252 flight-59253 flight-59254 flight-59255 flight-59256 flight-59257 flight-59258 flight-59259 flight-59260 flight-59261 flight-59262 flight-59263 flight-59264 flight-59265 flight-59266 flight-59267 flight-59268 flight-59269 flight-59270 flight-59271 flight-59272 flight-59274 flight-59275 flight-59276 flight-59277 flight-59278 flight-59279 flight-59280 flight-59281
Ian Jackson [Fri, 3 Jul 2015 11:00:24 +0000 (12:00 +0100)]
mg-update-live: New script

This is for deploying an emergency update under the feet of all
running tests.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
9 years agots-logs-capture: Explicitly set xenctx capture filename
Ian Jackson [Fri, 3 Jul 2015 11:22:52 +0000 (12:22 +0100)]
ts-logs-capture: Explicitly set xenctx capture filename

Now that the command contains PATH, the autogenerated filename is very
ugly.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
v2: New patch in this version of the series.

9 years agots-logs-capture: Run xenctx twice for each guest vcpu
Ian Jackson [Fri, 3 Jul 2015 11:15:18 +0000 (12:15 +0100)]
ts-logs-capture: Run xenctx twice for each guest vcpu

Two (or more) back-to-back ctxt's can often be useful, by giving a
snapshot of a loop the guest is stuck in.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
v2: New patch in this series.

9 years agots-logs-capture: Run xenctx earlier
Ian Jackson [Thu, 2 Jul 2015 17:05:25 +0000 (18:05 +0100)]
ts-logs-capture: Run xenctx earlier

Break fetch_xenctx_guest out into its own function, and run it before
serial_fetch_logs.

This is relevant because serial_fetch_logs sends the Xen debug keys,
which might dislodge a stuck guest - and, if it does, we would like to
have captured the stuck state with xenctx, rather than the unstuck
one.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
9 years agots-logs-capture: Break out guest listing and do it earlier
Ian Jackson [Thu, 2 Jul 2015 17:01:52 +0000 (18:01 +0100)]
ts-logs-capture: Break out guest listing and do it earlier

Break out the function find_guests from what was
fetch_logs_host_guests, and have it save its results in the @guests
global.

We do this soon because in the next patch we are going to want to
do something to each guest before we call serial_fetch_logs.

The loop containing fetch_logs_guest is now in the main program.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
9 years agots-logs-capture: Find xenctx in /usr/local as well
Ian Jackson [Thu, 2 Jul 2015 16:55:31 +0000 (17:55 +0100)]
ts-logs-capture: Find xenctx in /usr/local as well

xenctx is now in /usr/local/lib/xen/bin/xenctx.
                     ^^^^^^
Find it by setting PATH in the shell command.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
9 years agoguest_find_domid: Set Vcpus correctly.
Ian Jackson [Thu, 2 Jul 2015 16:54:38 +0000 (17:54 +0100)]
guest_find_domid: Set Vcpus correctly.

The regexp was wrong, resulting in the last digit of the memory being
mistaken for the number of vcpus (!)

The only consumer of this is ts-logs-capture.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
9 years agosg-report-flight: Fix --include (broken by 3d56a191) flight-59035 flight-59036 flight-59038 flight-59039 flight-59040 flight-59041 flight-59042 flight-59044 flight-59045 flight-59046 flight-59047 flight-59048 flight-59049 flight-59050 flight-59051 flight-59052 flight-59053 flight-59054 flight-59055 flight-59056 flight-59057 flight-59058 flight-59059 flight-59060 flight-59061 flight-59062 flight-59063 flight-59064 flight-59065 flight-59066 flight-59067 flight-59068 flight-59069 flight-59070 flight-59071 flight-59072 flight-59073 flight-59074 flight-59075 flight-59076 flight-59077 flight-59078 flight-59079 flight-59080 flight-59081 flight-59082 flight-59083 flight-59084 flight-59085 flight-59086 flight-59087 flight-59088 flight-59089 flight-59090 flight-59091 flight-59092 flight-59093 flight-59094 flight-59095 flight-59096 flight-59097 flight-59098 flight-59099 flight-59101 flight-59102 flight-59103 flight-59104 flight-59105 flight-59106 flight-59107 flight-59108 flight-59109 flight-59110 flight-59111 flight-59112 flight-59113 flight-59114 flight-59115 flight-59116 flight-59117 flight-59118 flight-59119 flight-59120 flight-59121 flight-59122 flight-59123 flight-59124 flight-59125 flight-59126 flight-59127 flight-59128 flight-59129 flight-59130 flight-59131 flight-59132 flight-59133 flight-59134 flight-59135 flight-59136 flight-59137 flight-59138 flight-59139 flight-59140 flight-59141 flight-59142 flight-59143 flight-59144 flight-59145 flight-59146 flight-59148
Ian Jackson [Fri, 3 Jul 2015 10:06:40 +0000 (11:06 +0100)]
sg-report-flight: Fix --include (broken by 3d56a191)

In 3d56a191 "sg-report-flight: Make bodyprint[f] defer the output" it
became wrong for anything in the main printout part of
sg-report-flight to write directly to STDOUT.  However, the two (very
similar) bits of code for handling the two kinds of --include still
used cat.

The result is emails looking like this:

  From: osstest service owner <osstest-admin@xenproject.org>
  To: <xen-devel@lists.xensource.com>, <rumpkernel-builds@freelists.org>
CC: <ian.jackson@eu.citrix.com>
  Subject: [rumpuserxen test] People who touched revisions under test:
    Alice Bob <alice@example.com>
    Ian Jackson <Ian.Jackson@eu.citrix.com>
    Carol David <carol@example.com>
  Date: Fri, 3 Jul 2015 06:50:53 +0000

  flight 59037 rumpuserxen real [real]

Fix this by replacing those two near-identical bits of code with calls
to a single function which slurps the required include file into the
body text accumulation variable.

(There is no need to provide a facility for header includes, since
there is no need for a caller to pass headers through
sg-report-flight: they can simply be written into the output file
before running sg-report-flight, as indeed the string `Subject: ' is.

Despite the fact that --include-begin is used only by cr-daily-branch
which passes it a file `heading', the text is intended for the start
of the body, not the email headers.)

I have run

  ./sg-report-flight --include-begin=header --include=bodyinc --this-xen=e13013dbf1d5997915548a3b5f1c39594d8c1d7b --that-xen=84066dd4ef4bb5983e246c629a26ef4f3394e5d5 --html-dir=$HOME/public_html/d --max-flight=37590 37590

with some suitable lorem ipsum in bodyinc and header and observed:

(a) The bug introduced in 3d56a191 is visible in 3c464fbf.

(b) The output after this patch differs from the output produced by
1f0c168d (the previous osstest production commit) only in addition of
the `Last test of basis' and `Testing same since' information, in the
appropriate place.

Deployment note: Because this patch changes only sg-report-flight, it
is safe to deploy under the feet of a running flight.  I intend to do
this for all the production branches in the colo.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
9 years agosg-report-flight: Link from runvars to other jobs flight-59011 flight-59022 flight-59031 flight-59032 flight-59033 flight-59034 flight-59037 flight-59043
Ian Jackson [Wed, 1 Jul 2015 11:53:50 +0000 (12:53 +0100)]
sg-report-flight: Link from runvars to other jobs

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
v2: Fix grammar in subject line

9 years agosg-report-flight: Link from runvars to host histories
Ian Jackson [Wed, 1 Jul 2015 11:22:36 +0000 (12:22 +0100)]
sg-report-flight: Link from runvars to host histories

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
9 years agosg-report-flight: Convenience aliases for runvar row
Ian Jackson [Wed, 1 Jul 2015 11:21:49 +0000 (12:21 +0100)]
sg-report-flight: Convenience aliases for runvar row

No functional change.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
9 years agosg-report-job-history: Show osstest version too
Ian Jackson [Wed, 1 Jul 2015 10:36:06 +0000 (11:36 +0100)]
sg-report-job-history: Show osstest version too

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
9 years agosg-report-job-history: No longer use TestSupport
Ian Jackson [Wed, 1 Jul 2015 11:33:25 +0000 (12:33 +0100)]
sg-report-job-history: No longer use TestSupport

This is for test jobs and not appropriate for a reporting script.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
9 years agoMove flight_otherjob to Osstest.pm
Ian Jackson [Wed, 1 Jul 2015 11:32:43 +0000 (12:32 +0100)]
Move flight_otherjob to Osstest.pm

No functional change.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
9 years agomake-flight etc.: stop testing SEDF at all
Dario Faggioli [Tue, 30 Jun 2015 17:36:59 +0000 (19:36 +0200)]
make-flight etc.: stop testing SEDF at all

SEDF has been broken and unmaintained at least until Xen 4.2, and most
likely even before! Tests are failing without anyonce caring, and yet
we're keeping using test resources for them.

Let's stop doing this!

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
9 years agoEmails: Provide X-Osstest-Failures
Ian Jackson [Tue, 30 Jun 2015 13:31:28 +0000 (14:31 +0100)]
Emails: Provide X-Osstest-Failures

Specifically:
 * $cat now contains SORTLETTER BLOCKSTATUS DESCRIPTION...
 * Rewrap the lines setting $cat
 * Add $notsucceeds{$cat}[][2] containing one line for the new header
 * Generate the new header
 * Document the new header

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
9 years agoEmails: Provide X-Osstest-Versions-This and That headers
Ian Jackson [Tue, 30 Jun 2015 13:29:21 +0000 (14:29 +0100)]
Emails: Provide X-Osstest-Versions-This and That headers

Specifically:
 * Provide headerprint() in sg-report-flight
 * Use it to add X-Osstest-Versions headers based on %specver
 * Cause cr-daily-branch to always enable the feature
 * Document this in README.email

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
v2: Document This and That

9 years agoEmails: Provide README.email and link to it
Ian Jackson [Tue, 30 Jun 2015 13:17:05 +0000 (14:17 +0100)]
Emails: Provide README.email and link to it

Also link to README, from the email footer.

I have tested that the link to README works right now.  The link to
README.email does not yet, of course, but it will start to work when
osstest pushes this change to production.

CC: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
9 years agosg-report-flight: Make bodyprint[f] defer the output
Ian Jackson [Tue, 30 Jun 2015 10:11:00 +0000 (11:11 +0100)]
sg-report-flight: Make bodyprint[f] defer the output

Provide and use variables $header_text and $body_text.

Still no functional change.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
9 years agosg-report-flight: Use `bodyprint' and `bodyprintf'
Ian Jackson [Tue, 30 Jun 2015 10:08:37 +0000 (11:08 +0100)]
sg-report-flight: Use `bodyprint' and `bodyprintf'

This will allows us to divert the output so that we can (optionally)
produce email headers too.  We move the error checking into the
function, obviously.

For now, this is a simple replacement with no functional change,
except that some call sites now have error checking which previously
did not.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
9 years agoReporting: sg-report-flight: Put overall pushgate stats in email
Ian Jackson [Mon, 29 Jun 2015 17:06:11 +0000 (18:06 +0100)]
Reporting: sg-report-flight: Put overall pushgate stats in email

This adds something like this (would have appeared in 37638):

  Last test of basis    37629  2015-06-24 21:36:10 Z    4 days
  Failing since         37630  2015-06-26 10:35:44 Z    3 days    9 attempts
  Testing same since    37635  2015-06-28 03:05:56 Z    1 days    4 attempts

or this (would have appeared in 37629):

  Last test of basis    37617  2015-06-20 04:06:01 Z    9 days
  Testing same since    37628  2015-06-24 13:35:23 Z    5 days    2 attempts

(Both examples from the Cambridge instance.)

This is added just after the versions are reported.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
v2: Swap order of `Failing since' and `Testing same since' output lines
v3: Actually return when no pushgate summary wanted.

9 years agoReporting: Provide report_find_push_age_info
Ian Jackson [Mon, 29 Jun 2015 16:40:38 +0000 (17:40 +0100)]
Reporting: Provide report_find_push_age_info

This utility function provides information about how far behind the
push gate is right now.

I have tested it with this rune in the Cambridge instance:

  perl -we 'use Osstest::Executive; use Osstest; use Data::Dumper; open DEBUG, ">&STDERR" or die $!; csreadconfig(); print Dumper report_find_push_age_info([qw(real)], undef, [qw(osstest linux-next)], "osstest", "280a18b2b2612174e473a1c1a137ddd47c49aab9", "cc8b79ce9586d2b0fbddbd4260e876eab1d408d4")'

Currently it produces this output:

$VAR1 = {
          'CountTip' => '4',
          'FirstTip' => {
                          'flight' => 37635,
                          'intended' => 'real',
                          'blessing' => 'real',
                          'started' => 1435460756,
                          'branch' => 'osstest'
                        },
          'LastTip' => {
                         'flight' => 37638,
                         'intended' => 'real',
                         'blessing' => 'real',
                         'started' => 1435538150,
                         'branch' => 'osstest'
                       },
          'Basis' => {
                       'flight' => 37629,
                       'intended' => 'real',
                       'blessing' => 'real',
                       'started' => 1435181770,
                       'branch' => 'osstest'
                     },
          'FirstAfterBasis' => {
                                 'flight' => 37630,
                                 'intended' => 'real',
                                 'blessing' => 'real',
                                 'started' => 1435314944,
                                 'branch' => 'osstest'
                               },
          'CountAfterBasis' => '9'
        };

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
v3: Fix bug resulting in  ERROR:  missing FROM-clause entry for table "r"

9 years agoReporting: In history tables, show multiple failure steps
Ian Jackson [Mon, 29 Jun 2015 15:46:36 +0000 (16:46 +0100)]
Reporting: In history tables, show multiple failure steps

In report_run_getinfo, used by sg-report-job-history and
sg-report-host-history, make provision for reporting multiple failed
steps.

The failed steps are put side by side (in a single table cell).  The
cell background is set by the job status, but the individual steps may
vary their colour, as seen in this example:
  http://xenbits.xen.org/people/iwj/2015/linux-next.html

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
v2: Remove unnecessary space in ColourAttr

9 years agoReporting: Break out report_blessingscond
Ian Jackson [Mon, 29 Jun 2015 15:23:08 +0000 (16:23 +0100)]
Reporting: Break out report_blessingscond

The returned SQL is a self-contained expression, and does not require
additional bind parameters.  To spot SQL quoting problems, we die if
a blessing is not reasonable.

The use sites of the $blessingcond in sg-report-flight are adjusted to
no longer pass @blessings to execute.

No overall functional change with reasonable blessings.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
9 years agoReporting: report_run_getinfo produces Content
Ian Jackson [Mon, 29 Jun 2015 14:55:13 +0000 (15:55 +0100)]
Reporting: report_run_getinfo produces Content

Previously we produced Summary, and the call sites were confused about
whether it had already been html-escaped.  Now we produce something
which is explicitly already html.

No functional change except that some sg-report-host-history output is
escaped as it ought to have been (but this is only relevant if the
database contains strange things which none of ours do).

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
9 years agoReporting: report_run_getinfo produces ColourAttr
Ian Jackson [Mon, 29 Jun 2015 14:51:22 +0000 (15:51 +0100)]
Reporting: report_run_getinfo produces ColourAttr

This includes the bgcolour attribute name and the quotes.  This will
make it possible for this function to sometimes not set a background
for the whole table cell in the future (which will be part of putting
multiple step results in each cell).

No functional change.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
v2: Remove an unneeded space in ColourAttr

9 years agoReporting: In report_run_getinfo, abstract code for returning
Ian Jackson [Mon, 29 Jun 2015 14:39:09 +0000 (15:39 +0100)]
Reporting: In report_run_getinfo, abstract code for returning

This will allow us to change the function's API in one place (plus all
the call sites).

No functional change in this patch.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
9 years agoReporting: sg-report-host-history: Support --max-flight
Ian Jackson [Mon, 29 Jun 2015 15:37:14 +0000 (16:37 +0100)]
Reporting: sg-report-host-history: Support --max-flight

We can't use report_blessingscond because we handle blessings
differently in sg-report-host-history (since we want the history of
even adhoc etc. flights).

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
9 years agoReporting: sg-report-job-history: support --max-flight
Ian Jackson [Mon, 29 Jun 2015 15:24:31 +0000 (16:24 +0100)]
Reporting: sg-report-job-history: support --max-flight

Using report_blessingscond instead of the open-coded map.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
9 years agoReporting: sg-report-job-history: Honour --limit
Ian Jackson [Mon, 29 Jun 2015 14:52:51 +0000 (15:52 +0100)]
Reporting: sg-report-job-history: Honour --limit

The global $limit was erroneously shadowed by a local in
processjobbranch.  Fix this, and move the erroneously hardcoded value
to the global default.

No functional change if --limit was not specified, which it is not for
any of our runs with the in-tree configs.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
9 years agoReporting: sg-report-flight: Fix undefined value in $worstrow[]
Ian Jackson [Fri, 26 Jun 2015 18:21:34 +0000 (19:21 +0100)]
Reporting: sg-report-flight: Fix undefined value in $worstrow[]

The fallback entry in the worstrow search, used when a job has not
been run at all, was wrong.  Also, fix the doc comment which induced
the mistake, and add a comment about the contents of @worst.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
v2: Added the comment about @worst.

9 years agoap-common: Abolish linux-3.0 special case
Ian Jackson [Tue, 30 Jun 2015 09:22:25 +0000 (10:22 +0100)]
ap-common: Abolish linux-3.0 special case

This is identical to the effect of the linux-[3-9] etc. glob.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
v2: New patch in this version of the series.

9 years agoTest Linux 4.1
Ian Jackson [Mon, 29 Jun 2015 10:00:48 +0000 (11:00 +0100)]
Test Linux 4.1

The kernel.org stable git branch layout is the same for 4.1 as for
3.x, so simply extend the pattern, and add the branch to BRANCHES.

We move the linux-stable.git pattern to the end, and extend it to
linux-[3-9].[0-9]*, to provide a bit more future-proofing.  (There is
no particular reason other than shell glob convenience to stop at
linux-9.x.)

DEPLOYMENT NOTE: After this patch is acked, but just before it is
pushed to pretest, run (this version of)
  ./mg-branch-setup linux-4.1 bisect b953c0d234bc72e8489d3bf51a276c5c4ec85345
to create the working trees on the osstest VM and push the base of
v4.1 to the tested output branch.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
v2: Extend glob pattern in ap-common and move to the end.

9 years agots-leak-check: Report leaked loop block devices
Ian Jackson [Fri, 26 Jun 2015 16:41:22 +0000 (17:41 +0100)]
ts-leak-check: Report leaked loop block devices

These show up as leaked processes `[loop1]' etc. too, but that is an
implementation detail, and it is clearer to show them separately.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
9 years agoDebian: Arrange to be able to chainload a xen.efi from grub2 flight-58962 flight-58971 flight-58972 flight-58973 flight-58974 flight-58975 flight-58976 flight-58977 flight-58978 flight-58979 flight-58980 flight-58981 flight-58982 flight-58983 flight-58984 flight-58985 flight-58986 flight-58987 flight-58988 flight-58989 flight-58990 flight-58991 flight-58992 flight-58994 flight-58996 flight-58997 flight-58998 flight-58999 flight-59000 flight-59001 flight-59002 flight-59003 flight-59004 flight-59005 flight-59006 flight-59007 flight-59010 flight-59012 flight-59013 flight-59014 flight-59015 flight-59016 flight-59017 flight-59018 flight-59019 flight-59020 flight-59021 flight-59023 flight-59024 flight-59025 flight-59026 flight-59027 flight-59028 flight-59029 flight-59030
Ian Campbell [Mon, 15 Jun 2015 11:37:44 +0000 (12:37 +0100)]
Debian: Arrange to be able to chainload a xen.efi from grub2

Xen cannot (currently) be booted directly via the usual multiboot
path on EFI systems of any arch. Instead it is necessary to either
launch xen.efi direct from the UEFI shell or to chainload it from
grub. In both cases the Xen command line as well as what would
normally be the multiboot modules (kernel+command line, XSM policy,
initrd) must be configured in a Xen configuration file.

Here we add a new overlay/etc/grub.d/15_osstest_uefi grub script which
arranges that if a xen.efi is found in the EFI System Partition (as
arrange by a previous patch) a suitable entry is created in grub.cfg
as well.

When parsing the grub.cfg look for such an entry into addition to the
regular/multiboot one and when necessary write the configuration file
based on the regular entry and return the chainload one such that it
gets booted.

This is currently enabled only for Jessie ARM64 systems.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
v4: Use a separate grub script snippet, there's nothing we need in
    20_linux_xen
v3: Rewrap and reindent to avoid long lines

Split out boot script

9 years agoDebian: Collect kernel command line from grub.cfg
Ian Campbell [Mon, 15 Jun 2015 11:32:53 +0000 (12:32 +0100)]
Debian: Collect kernel command line from grub.cfg

I'm going to want it in a subsequent patch

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
9 years agoDebian: Ignore xen-syms entries in grub.cfg.
Ian Campbell [Mon, 15 Jun 2015 10:53:45 +0000 (11:53 +0100)]
Debian: Ignore xen-syms entries in grub.cfg.

These can't (in general?) actually be booted.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
9 years agoCollect xen.efi into xendist and install in appropriate place
Ian Campbell [Mon, 15 Jun 2015 10:42:18 +0000 (11:42 +0100)]
Collect xen.efi into xendist and install in appropriate place

Previously these binaries would have been included in the regular
("tools") dist file, whereas they really belong in the xen one.

Install into /boot/efi/EFI/osstest ready for use when chainloading.

Note that /boot/efi is (or should be) a VFAT filesystem. So a bit of
care is needed WRT symlinks etc. This is also what prevents us from
just including /boot/efi/EFI/osstest/xen.efi in the dist tarball since
untarring over a VFAT needs a little care WRT the case of directories
etc.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
9 years agoDebian: grub2: Use GRUB_CMDLINE_LINUX_XEN_REPLACE(_DEFAULT)
Ian Campbell [Thu, 28 May 2015 11:44:34 +0000 (12:44 +0100)]
Debian: grub2: Use GRUB_CMDLINE_LINUX_XEN_REPLACE(_DEFAULT)

This overrides GRUB_CMDLINE_LINUX(_DEFAULT) which we were previously
editing but only for the Xen entries, meaning that we don't switch to
console=hvc0 for the native cases (i.e. don't break them).

We do however want to edit GRUB_CMDLINE_LINUX(_DEFAULT) to remove
"quiet" if present, since it is useful to people, especially those
using standalone mode as a provisioning tool, wanting to e.g.  compare
a boot under Xen with the native case.

This has been supported since Wheezy but in any case we supply our own
20_linux_xen grub generator based on Wheezy which supports this.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
9 years agoDebian: grub2: Log full line range of menuentry and submenu entries
Ian Campbell [Thu, 28 May 2015 08:25:19 +0000 (09:25 +0100)]
Debian: grub2: Log full line range of menuentry and submenu entries

Is useful when debugging.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
9 years agostandalone: Prefer ./local-config to $HOME/.xen-osstest/config
Ian Campbell [Fri, 22 May 2015 09:29:18 +0000 (10:29 +0100)]
standalone: Prefer ./local-config to $HOME/.xen-osstest/config

OSSTEST_CONFIG still trumps both.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
v3: local-config not standalone.config

9 years agoDebian: Do not add Debian to UEFI boot order on install
Ian Campbell [Wed, 24 Jun 2015 08:23:16 +0000 (09:23 +0100)]
Debian: Do not add Debian to UEFI boot order on install

By default Debian inserts itself before any existing entries,
including the PXE one, meaning we otherwise cannot remotely regroove
the box.

Add a hook to /usr/lib/base-installer.d/ which installs a diversion of
/usr/sbin/grub-install and installs a wrapper which adds the
--no-nvram argument which prevents grub-install from adding the boot
entries.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
---
v4: Die on !jessie
v3: New patch replacing "Debian: Fixup UEFI boot order during install"

9 years agots-host-install: Set dtbs in the non-special kernel case too.
Ian Campbell [Thu, 21 May 2015 09:57:41 +0000 (10:57 +0100)]
ts-host-install: Set dtbs in the non-special kernel case too.

When DTB support was added for armhf it required a backports kernel
for use with Wheezy and therefore DTBs were only collected for that
special case. However as we move forward to newer kernels it should
be possible to run using the proper kernel (e.g. Jessie should work
for armhf). Therefore we will need the DTBs for those kernels too.

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

9 years agots-kernel-build: Enable CONFIG_EFI_VARS
Ian Campbell [Fri, 19 Jun 2015 12:51:45 +0000 (13:51 +0100)]
ts-kernel-build: Enable CONFIG_EFI_VARS

Which makes efibootmgr work when running our kernel.

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

9 years agots-kernel-build: Additional kernel options for Mustang
Ian Campbell [Wed, 20 May 2015 15:58:16 +0000 (16:58 +0100)]
ts-kernel-build: Additional kernel options for Mustang

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
Note: ARM testing currently uses a 3.16 based linux-arm-xen kernel
(compared to 3.14 currently used as the default). In order to support
Mustang something newer is needed, I've been testing 4.1 (next LTS
kernel), 3.18 (the intervening LTS kernel) might be sufficient but I
haven't tried it. We should plan to either update linux-arm-xen or the
default kernel version at some point before we get Mustang h/w.

v3: Set CONFIG_NET_XGENE (was commented out before)
    Remove setting of CONFIG_SPARSEMEM_VMEMMAP

9 years agoEnable chain loading to local disk for UEFI PXE systems.
Ian Campbell [Thu, 21 May 2015 12:58:27 +0000 (13:58 +0100)]
Enable chain loading to local disk for UEFI PXE systems.

First arrange for bootloader to be installed to removable media path,
by using a new in Jessie preseed option. Then use that to chainload a
bootloader from the disk.

The removable media path is well known (part of the UEFI spec) which
saves us having to worry about which OS is on the host (so long as the
OS can be configured to populate the removable media path)

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
9 years agots-host-install: Support UEFI PXE boot using grub.efi
Ian Campbell [Tue, 27 Jan 2015 12:06:41 +0000 (12:06 +0000)]
ts-host-install: Support UEFI PXE boot using grub.efi

Handling of chainloading from the local hdd in
setup_pxeboot_local_uefi will be added in the next patch.

(Wrap DiBase entry in README too for consistency)

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
v4: Turn grub "echo todo" into a die.
v3: Reindent README (fix DiBase too for consistency)
    Adjust for reordering of setup_{firmware}_pxeboot to put
      {firmware} at end
    Rewrap setup_grub_efi_bootcfg
    Adjust for setup_pxeboot -> setup_pxeboot_di

9 years agoRefactor pxelinux configuration
Ian Campbell [Thu, 21 May 2015 12:46:24 +0000 (13:46 +0100)]
Refactor pxelinux configuration

The mechanism used to PXE boot can differ depending on the firmware
type. Therefore refactor into Osstest::TestSupport and key off a new
host property "firmware".

Currently supported is "bios" (the default) and "uboot", both of which
use pxelinux.cfg style files.

The default for the firmware property is "bios", hence no change for
any existing system (including those which use uboot, regardless of
whether they are now configured with the firmware proprty or not)

As part of this "setup_pxeboot" becomes "setup_pxeboot_di" since it is
somewhat d-i specific.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
v3: reorder setup_${firmware}_pxeboot to setup_pxeboot_${firmware}
    join $dicmd in setup_pxeboot instead of caller

9 years agots-host-install: split the "di" from the "host" command line
Ian Campbell [Thu, 21 May 2015 11:49:55 +0000 (12:49 +0100)]
ts-host-install: split the "di" from the "host" command line

(i.e. the bit before/after the -- marker). When abstracting over
different bootloaders in a future patch this will be convenient since
it allows the code to add to either.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
9 years agots-host-install: Split initrd out of @installcmdline
Ian Campbell [Thu, 21 May 2015 11:46:16 +0000 (12:46 +0100)]
ts-host-install: Split initrd out of @installcmdline

Other bootloaders handle this with an explicit separate option rather
than parsing it out of the command line as pxelinux does. Prepare for
supporting these.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
9 years agoDebian: Preseed a EFI system partition during host install
Ian Campbell [Wed, 20 May 2015 15:52:38 +0000 (16:52 +0100)]
Debian: Preseed a EFI system partition during host install

AIUI the runes used will only result in an ESP if the system was
booted via UEFI. IOW I don't think there should be any change for
existing systems.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
9 years agoIntroduce mg-pxe-loader-update
Ian Campbell [Tue, 27 Jan 2015 10:07:21 +0000 (10:07 +0000)]
Introduce mg-pxe-loader-update

The story for PXE booting via UEFI (at least on arm64) is not so
straightforward as with pxelinux on x86. There seems to no good
bootloader to launch via UEFI+pxe, in fact all I could find was grub
(syslinux, and by extension pxelinux.efi, is x86 only).

Add mg-pxe-loader-update modelled on mg-debian-installer-update which
will download the necessary grub binaries and produce a grub image
which can be used to pxe boot.

grub lacks the convenient ability to search for config file based on
(substrings of) the MAC or IP address. So we arrange for the grub.cfg
in TftpGrubBase to chain load another config file from
TftpTmpDir/'$net_default_mac' where $net_default_mac is a grub
variable which is substituted at boot time.

Actually using this requires that bootp/dhcp provide a next-file so
UEFI knows what to boot (usually this would be pxelinux.0 which we
can't use here). Locally we have configured this as $name/pxe.img, so
we can use different loaders.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
v4: Just mgi-common now that mgi-debian merged therein.
v3: Use mgi-common and mgi-debian

9 years agomg-*: Make Debian package fetching common in mgi-common
Ian Campbell [Fri, 19 Jun 2015 10:56:15 +0000 (11:56 +0100)]
mg-*: Make Debian package fetching common in mgi-common

This pattern appears several times in mg-debian-installer-update and
I'm about to add another script which uses it.

The centralised version always does "sort -n -r | head -n" to pick out
only the newest version, which only some of the open coded sites did.

Likewise the centralised version checks that $pkgfile is non-empty,
unlike some of the open coded sites.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
v4: Fold into mgi-common instead
v3: New patch

9 years agomg-*: Add mgi-common with fetch and fail helpers
Ian Campbell [Fri, 19 Jun 2015 10:51:54 +0000 (11:51 +0100)]
mg-*: Add mgi-common with fetch and fail helpers

Taken from both mg-cpu-microcode-update and mg-debian-installer-update

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

9 years agoAdd some sanity checks for presence of Repos configuration flight-58916 flight-58936 flight-58941 flight-58942 flight-58943 flight-58944 flight-58945 flight-58946 flight-58947 flight-58948 flight-58949 flight-58950 flight-58951 flight-58952 flight-58953 flight-58954 flight-58955 flight-58956 flight-58957 flight-58958 flight-58959 flight-58960 flight-58961 flight-58963 flight-58964 flight-58965 flight-58966 flight-58967 flight-58968 flight-58969 flight-58970
Ian Campbell [Tue, 23 Jun 2015 09:54:10 +0000 (10:54 +0100)]
Add some sanity checks for presence of Repos configuration

By providing an explicit fetch method in cri-getconfig which checks
things.

Without this then anything which uses cr-daily-branch produces the
rather cryptic:

    + test -f daily.xsettings
    ++ ./ap-print-url xen-unstable
    with-lock-ex ./ap-print-url: /lock: Permission denied
    + treeurl=
    FAILED rc=255

Which has caught out one or two people using standalone mode.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Reviewed-and-Tested-by: Dario Faggioli <dario.faggioli@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
9 years agoStop testing SEDF, start testing RTDS
Dario Faggioli [Fri, 26 Jun 2015 10:58:51 +0000 (12:58 +0200)]
Stop testing SEDF, start testing RTDS

the SEDF scheduler is about to be deprecated and go
away (see [1]). OTOH, the RTDS scheduler is here to
stay.

It therefore makes sense to stop smoke testing the
former in favour of the latter. Note that the
-sedf-pin jobs where only added in order to try to
debug a long standing issue with SEDF; it is not
necessary to have anything like that for RTDS.

For now, as RTDS is still marked as experimental,
test failures are allowed, as it is for SEDF.

Also, RTDS was introduced in Xen 4.5, so add the
test only for the relevant brnaches. Similarly,
SEDF is removed in Xen 4.6, so keep testing it in
older branches.

[1] http://lists.xen.org/archives/html/xen-devel/2015-05/msg02874.html

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
9 years agomg-debian-installer-update: Update "current" symlink, if appropriate flight-58913
Ian Campbell [Fri, 26 Jun 2015 10:31:31 +0000 (11:31 +0100)]
mg-debian-installer-update: Update "current" symlink, if appropriate

Where "appropriate" means if TftpDiVersion is set to current, which is
the default in standalone mode. The assumption is that someone wuth
that configration runs mg-debian-installer-update then they would
expected the update to be immediately effective.

There was some existing, but commented, code to do this update,
reinstate it with the correct condition and adjusting for the addition
of -$suite to the patch many moons ago.

There is no impact on any production configuration, since they always
set TftpDiVersion.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
9 years agomg-debian-installer-update: Print the correct value for TftpDiVersion
Ian Campbell [Fri, 26 Jun 2015 10:31:30 +0000 (11:31 +0100)]
mg-debian-installer-update: Print the correct value for TftpDiVersion

That is, the date without the suite suffix.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
9 years agots-logs-capture: some more info when capturing logs
Dario Faggioli [Wed, 24 Jun 2015 16:11:22 +0000 (18:11 +0200)]
ts-logs-capture: some more info when capturing logs

more specifically:

 * '-n' switch to xl info, to show the topology
   of the host,
 * 'xl vcpu-list', to show what the various vcpus
   are up to.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
9 years agocambridge: Update to same TftpDiVersion as colo instance flight-58906
Ian Campbell [Thu, 25 Jun 2015 09:19:43 +0000 (10:19 +0100)]
cambridge: Update to same TftpDiVersion as colo instance

I've copied the binaries over.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
9 years agotoolstack/libvirt: install libnl-3-200 on Jessie flight-58879 flight-58907 flight-58908 flight-58910 flight-58911 flight-58912 flight-58915 flight-58917 flight-58918 flight-58919 flight-58923 flight-58924 flight-58925 flight-58926 flight-58927 flight-58928 flight-58929 flight-58930 flight-58931 flight-58932 flight-58933 flight-58934 flight-58935 flight-58937 flight-58938 flight-58939 flight-58940
Wei Liu [Thu, 18 Jun 2015 14:46:07 +0000 (15:46 +0100)]
toolstack/libvirt: install libnl-3-200 on Jessie

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
9 years agots-kernel-build: enable CONFIG_FHANDLE
Wei Liu [Fri, 12 Jun 2015 22:50:55 +0000 (23:50 +0100)]
ts-kernel-build: enable CONFIG_FHANDLE

According to Debian bug #764539, systemd needs this kernel feature to be
able to mount disks. Complete list of required kernel features can be
found in /usr/share/doc/systemd/README.gz.

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
9 years agots-xen-install: install libnl-route-3-200 for jessie
Wei Liu [Fri, 12 Jun 2015 16:53:50 +0000 (17:53 +0100)]
ts-xen-install: install libnl-route-3-200 for jessie

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
9 years agots-xen-build-prep: reverse the test for installing libc6-dev-i386
Wei Liu [Wed, 20 May 2015 17:56:28 +0000 (18:56 +0100)]
ts-xen-build-prep: reverse the test for installing libc6-dev-i386

Starting from wheezy, Debian introduced multiarch support, so we need to
install libc6-dev-i386 to build tools.

Since multiarch will be permanent, we reverse the test to not install
libc6-dev-i386 on releases older than wheezy (i.e. wheezy and jessie
will have that package).

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
9 years agots-xen-build-prep: install libnl-route-3-dev on Jessie
Wei Liu [Wed, 20 May 2015 17:56:27 +0000 (18:56 +0100)]
ts-xen-build-prep: install libnl-route-3-dev on Jessie

There is no package called libnl-dev on Jessie.  To build remus, use
libnl-route-3-dev instead.

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
9 years agoDebian: grub2: Allow submenu and menuentry items to be indented.
Ian Campbell [Thu, 28 May 2015 08:24:51 +0000 (09:24 +0100)]
Debian: grub2: Allow submenu and menuentry items to be indented.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
9 years agoCope with Jessie's d-i vg name
Wei Liu [Mon, 15 Jun 2015 11:07:38 +0000 (12:07 +0100)]
Cope with Jessie's d-i vg name

In Jessie the default vg name is changed to "$hostname-vg". Make that
default case and check for wheezy, squeeze and lenny for backward
compatibility.

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
Changes in v4:
1. Add missing "use Osstest::Debian;".

Changes in v3:
1. Introduce a function to return vg name and use it.

Changes in v2:
1. Make Jessie case default.

9 years agoDebian.pm: install grub to default device
Wei Liu [Wed, 20 May 2015 17:56:25 +0000 (18:56 +0100)]
Debian.pm: install grub to default device

Debian installer used to have the behaviour to install grub on the
default device. But it's changed in Jessie.

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

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
9 years agoForce sysvinit with Jessie
Ian Campbell [Fri, 12 Jun 2015 10:24:11 +0000 (11:24 +0100)]
Force sysvinit with Jessie

Systemd  doesn't honor osstest-confirm-booted service, which breaks
ts-leak-check.  Fall back to SysV init for now.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
[wei: rewrite commit message and code comment]
Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
9 years agomg-debian-installer-update: Also collect DTBs for standard kernels
Wei Liu [Tue, 16 Jun 2015 16:10:00 +0000 (17:10 +0100)]
mg-debian-installer-update: Also collect DTBs for standard kernels

For armhf and arm64 for Jessie we will need these in the normal case
as well as in the backports case. Arrange to download.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
[wei: fix rebase conflict]
Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
9 years agomg-debian-installer-update: updates to better handle Jessie onwards.
Ian Campbell [Mon, 26 Jan 2015 16:31:35 +0000 (16:31 +0000)]
mg-debian-installer-update: updates to better handle Jessie onwards.

In mg-debian-installer-update:

  - Expand the list of (suite,arch) combinations which don't exist and
    move it to the top.

  - Tweak the backports.org handling to allow it to be specified on a
    per (suite,arch) basis, and specify it only for (wheezy,armhf)
    since it is not currently needed for jessie. Make the
    initramfs-tools fetching conditional too.

  - Only extract backports-dtbs if they are present in the package.

  - Handle arm64.

  - Collect the correct armhf kernel for Jessie onwards (vexpress
    removed from path).

Have mg-debian-installer-update-all fetch arm64 too.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
[wei: wrap lines]
Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
9 years agoMore flexible handling of need-kernel-deb-$flavour host flag
Ian Campbell [Mon, 26 Jan 2015 16:08:43 +0000 (16:08 +0000)]
More flexible handling of need-kernel-deb-$flavour host flag

The current behaviour does not account for the need to apply this
workaround only for particular Debian releases, i.e. Midway will be
supported just fine in Jessie.

It also does not allow for kernels from alternative sources other than
backports (e.g. experimental, although that is hypothetical right
now).

The flavour name is actually irrelevant in practice (none of our
supported arch's need multiple kernel flavours at install time, which
is all we care about). So omit it from the new scheme.

The new scheme is "need-kernel-deb-$suite-$altsource", i.e.
need-kernel-deb-wheezy-backports. Possibly in the future e.g.
need-kernel-deb-jessie-experimental indicating that the experimental
kernel is needed on jessie.

mg-debian-installer-update is modified to download to the new name.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Also update TftpDiVersion, after having run
mg-debian-installer-update-all on the colo controller VM.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
9 years agots-libvirt-build: Enable debug symbols in binaries flight-58846 flight-58880 flight-58881 flight-58882 flight-58883 flight-58884 flight-58885 flight-58886 flight-58887 flight-58888 flight-58889 flight-58890 flight-58891 flight-58892 flight-58893 flight-58894 flight-58895 flight-58896 flight-58897 flight-58898 flight-58899 flight-58900 flight-58902 flight-58903 flight-58904 flight-58905
Ian Campbell [Fri, 19 Jun 2015 15:29:38 +0000 (16:29 +0100)]
ts-libvirt-build: Enable debug symbols in binaries

... by passing -g as appropriate.

Also ensure debug logging is enabled with --enable-debug (which
doesn't imply -g during build!).

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
9 years agots-kernel-build: Support --reuse to keep same build tree
Ian Campbell [Thu, 18 Jun 2015 16:25:03 +0000 (17:25 +0100)]
ts-kernel-build: Support --reuse to keep same build tree

This is very useful when iterating over kernel configurations, since
it avoids blowing away the build tree and all the existing built
objects. The Linux build system does the right thing when .config
changes and only rebuilds the affected bits.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
9 years agoconfig: Computed defaults for Logs and Results
Ian Jackson [Fri, 19 Jun 2015 10:28:35 +0000 (11:28 +0100)]
config: Computed defaults for Logs and Results

No functional change for any of the existing in-tree configs, or for
foreseeable out-of-tree ones.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
9 years agoconfig: Default Stash to $c{Logs}, not "logs"
Ian Jackson [Fri, 19 Jun 2015 10:23:16 +0000 (11:23 +0100)]
config: Default Stash to $c{Logs}, not "logs"

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
9 years agocri-args-hostlists: Run sg-report-host-history flight-58726 flight-58740 flight-58748 flight-58749 flight-58750 flight-58751 flight-58752 flight-58753 flight-58754 flight-58755 flight-58756 flight-58757 flight-58758 flight-58759 flight-58760 flight-58761 flight-58762 flight-58763 flight-58764 flight-58765 flight-58766 flight-58767 flight-58768 flight-58769 flight-58770 flight-58771 flight-58772 flight-58773 flight-58774 flight-58775 flight-58776 flight-58777 flight-58778 flight-58779 flight-58780 flight-58781 flight-58782 flight-58783 flight-58784 flight-58785 flight-58786 flight-58787 flight-58788 flight-58789 flight-58790 flight-58791 flight-58792 flight-58793 flight-58794 flight-58795 flight-58796 flight-58797 flight-58798 flight-58799 flight-58800 flight-58801 flight-58802 flight-58803 flight-58804 flight-58805 flight-58806 flight-58807 flight-58808 flight-58809 flight-58810 flight-58811 flight-58812 flight-58813 flight-58814 flight-58815 flight-58817 flight-58818 flight-58819 flight-58820 flight-58821 flight-58822 flight-58823 flight-58824 flight-58825 flight-58826 flight-58827 flight-58829 flight-58830 flight-58831 flight-58832 flight-58833 flight-58834 flight-58835 flight-58836 flight-58837 flight-58838 flight-58839 flight-58841 flight-58842 flight-58843 flight-58844 flight-58845 flight-58847 flight-58848 flight-58849 flight-58850 flight-58851 flight-58852 flight-58854 flight-58855 flight-58856 flight-58857 flight-58858 flight-58859 flight-58860 flight-58861 flight-58862 flight-58863 flight-58866 flight-58867 flight-58868 flight-58869 flight-58870 flight-58871 flight-58872 flight-58873 flight-58874 flight-58875 flight-58876 flight-58877 flight-58878
Ian Jackson [Wed, 17 Jun 2015 16:41:49 +0000 (17:41 +0100)]
cri-args-hostlists: Run sg-report-host-history

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
9 years agosg-report-host-history: Make --html-dir have to be host/
Ian Jackson [Wed, 17 Jun 2015 16:38:37 +0000 (17:38 +0100)]
sg-report-host-history: Make --html-dir have to be host/

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
9 years agosg-report-host-history: Show "running" jobs as "incomplete"
Ian Jackson [Wed, 17 Jun 2015 16:35:50 +0000 (17:35 +0100)]
sg-report-host-history: Show "running" jobs as "incomplete"

Since they may in fact be abandoned.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
9 years agosg-report-host-history: Move per-row endedq query into per-host transaction
Ian Jackson [Wed, 17 Jun 2015 16:35:19 +0000 (17:35 +0100)]
sg-report-host-history: Move per-row endedq query into per-host transaction

No substantial change, but reduces the work done in the main
transaction.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
9 years agosg-report-host-history: Aggregate runvars query for all hosts
Ian Jackson [Wed, 17 Jun 2015 16:21:10 +0000 (17:21 +0100)]
sg-report-host-history: Aggregate runvars query for all hosts

This is much faster.  It might short-change unpopular hosts rather;
hence the change of the limit fudge factor from 2 to 3.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
9 years agosg-report-host-history: Support flight:FLIGHT
Ian Jackson [Wed, 17 Jun 2015 16:05:58 +0000 (17:05 +0100)]
sg-report-host-history: Support flight:FLIGHT

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
9 years agosg-report-host-history: Use a hash for hosts
Ian Jackson [Wed, 17 Jun 2015 15:57:39 +0000 (16:57 +0100)]
sg-report-host-history: Use a hash for hosts

This will allow deduplication.  No functional change other than a
change to the order of processing.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
9 years agosg-report-host-history: Move database manipulations
Ian Jackson [Wed, 17 Jun 2015 15:55:26 +0000 (16:55 +0100)]
sg-report-host-history: Move database manipulations

Arrange for the SET LOCAL to have the right scope.  Run
computeflightsrange, and reporthost, each within a db transaction,
with an appropriate lock.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
9 years agosg-report-host-history: Move query preparation into jobquery
Ian Jackson [Tue, 16 Jun 2015 13:54:44 +0000 (14:54 +0100)]
sg-report-host-history: Move query preparation into jobquery

To get the scope of database locking, and of the SET LOCAL workaround,
right, it is convenient to move these query preparations into the
jobquery function.

No functional change.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
9 years agosg-report-host-history: Break out computeflightsrange
Ian Jackson [Tue, 16 Jun 2015 10:49:32 +0000 (11:49 +0100)]
sg-report-host-history: Break out computeflightsrange

To do database locking coherently, it will be convenient to have this
in a function.

No functional change.

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