handling scheduling of jobs for multiple images
ClosedPublic

Authored by adamwill on Mar 17 2015, 6:09 PM.

Details

Summary

This handles scheduling of jobs for more than one type of
image; currently we'll run tests for Workstation live as well.
It requires some cleverness to run some tests for *all* images
(currently just default_boot_and_install) but run all the tests
that can be run with any non-live installer image with the best
image available for the compose. We introduce a special (openQA,
not fedfind) 'flavor' called 'universal'; we run a couple of
checks to find the best image in the compose for running the
universal tests, and schedule tests for the 'universal' flavor
with that image. The 'best' image is a server or 'generic' DVD
if possible, and if not, a server or 'generic' boot.iso.

ISO files have the compose's version identifier prepended to
their names. Otherwise they retain their original names, which
should usually be unique within a given compose, except for
boot.iso files, which have their payload and arch added into
their names to ensure they don't overwrite each other.

report result under correct test case name for multi-image test

This adds a mechanism where TESTCASE dicts can include a
name_cb key with the value as a callback function that should
be called with an openQA job's 'flavor' as the single arg.
The result of the function should be the testcase name that
will be passed to relval. This should allow us to report
results for boot_default_install correctly, whichever image the
test is run against.

Test Plan

Trigger runs against various composes and ensure that all
expected tests are scheduled. Server, workstation and
'universal' boot.isos and live images should have default_boot_
and_install tests scheduled, and one image per arch should
be picked as the 'universal' test image and have the other
tests run against it.

Diff Detail

Repository
rOPENQA fedora_openqa
Branch
live
Lint
No Linters Available
Unit
No Unit Test Coverage
adamwill retitled this revision from to handling scheduling of jobs for multiple images.Mar 17 2015, 6:09 PM
adamwill updated this object.
adamwill edited the test plan for this revision. (Show Details)
adamwill added reviewers: jskladan, garretraziel.
adamwill updated this revision to Diff 845.Mar 17 2015, 6:23 PM

Fix check for no suitable 'universal' image.

adamwill updated this revision to Diff 846.Mar 17 2015, 6:25 PM

fix the damn thing again (I hope)?

jskladan accepted this revision.EditedMar 18 2015, 12:07 PM

Overall, this looks god to me. Make sure to squash the commits into one, before merging with develop, though.

tools/openqa_trigger/openqa_trigger.py
52

Feel free to make this into an one-liner. We have much longer lines in the code anyway, and I think that 80 characters/line is obsolete anyway. Under 120 is absolutely fine, more than 120 chars per line is acceptable when it improves readability.

129

As with ^^^, feel free to make this an one-liner.

147

Feel free to combine lines 146 and 147 into one.

This revision is now accepted and ready to land.Mar 18 2015, 12:07 PM
garretraziel accepted this revision.Mar 18 2015, 12:17 PM

Looks good to me.

I have created develop branch to be default branch for committing things, so please push this into develop.

adamwill closed this revision.Mar 20 2015, 12:58 AM

Was merged into 'develop' branch.

I didn't do the one-line changes, but if anyone else wants to I don't mind.