Commit Graph

189 Commits

Author SHA1 Message Date
Garret Raziel acac8a2f5e Merge branch 'feature/openqa-python-library' into develop 2015-07-10 10:40:53 +02:00
Garret Raziel b360155048 use openqa-python client instead of subprocess calling
Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D425
2015-07-10 10:40:31 +02:00
Garret Raziel 68c7c2a126 use openqa-python client instead of subprocess calling
Summary:
Since adamw created Python client for OpenQA, we
can use it instead of calling Perl in subprocess. It simplyfies
usage and special code for running in Docker is no longer needed.
This version requires user to create configuration file either
in `/etc/openqa/client.conf` or in `~/.config/openqa/client.conf`
with the same KEY and SECRET as in host machine.

To execute jobs in Docker, just specify correct server and
port (probably `[localhost:8080]`) in configuration file.

Only problem remains with self-signed certificate. It's
necessary to either disable SSL cert verifying, import
self-signed certificate or use HTTP instead of HTTPS in Docker,
see https://github.com/os-autoinst/openQA-python-client/pull/1.

Test Plan: Tested on running tests for compose F22 Final RC1.

Reviewers: adamwill, jskladan

Subscribers: tflink

Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D425
2015-07-09 13:42:56 +02:00
Garret Raziel 894e27ea84 allow running OpenQA in docker container, add logging instead of printing to stdout
Summary:
Logging is introduced instead of output to stdout and several
new options are added - user can specify directory for downloading
isos and he can also specify docker container where openqa is
running. Info about newest tested version is not written if no
images were found.

Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D420
2015-07-09 10:31:53 +02:00
Adam Williamson 093c2b5be7 typo fix
Summary:
Wrong brace used for a str.format() call - caused a crash when
no universal test image is found for a compose.

Test Plan:
Check that tests still run. Ideally try testing a compose with
no universal image (e.g. a Rawhide nightly with no boot.iso).

Reviewers: garretraziel, kparal

Reviewed By: kparal

Subscribers: tflink

Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D384
2015-06-11 10:00:26 -07:00
Garret Raziel a6d48fb3aa add fedup_minimal to trigger configuration
Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D359
2015-05-13 13:05:36 +02:00
Adam Williamson 1ea0ba1db8 mark results as 'bot'
Summary:
Use the new wikitcms / Wikitcms feature that results can be
marked as 'bot' (indicating they're from an automated test
system, not a human). Requires python-wikitcms >= 1.1.4

Test Plan:
Update to wikitcms 1.1.4, report some results; they should
appear with bot=true and show the bot head on the result page.

Reviewers: kparal, garretraziel

Reviewed By: garretraziel

Subscribers: tflink

Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D349
2015-04-22 16:20:36 -07:00
Garret Raziel 4f25c90dbf Merge branch 'develop' of bitbucket.org:rajcze/openqa_fedora_tools into develop 2015-03-26 09:47:20 +01:00
Adam Williamson 3f7e77d71f report results using wikitcms directly, not via relval
Also refactor the result submission a bit to share the code
between CLI and module modes. This requires python-wikitcms
1.11+.

This should be substantially more efficient - it should make
only two wiki roundtrips per result page, and only init and
login to the wiki once. Going via relval requires a wiki init
and then two roundtrips for *each result*.

https://phab.qadevel.cloud.fedoraproject.org/D316
2015-03-25 17:53:58 -07:00
Adam Williamson cbe7769748 handling scheduling of jobs for multiple images
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.

This also adds a mechanism for TESTCASES (in conf_test_suites)
to define a callback which will be called with the flavor of
the image being tested; the result of the callback will be used
as the 'test name' for relval result reporting purposes. This
allows us to report results against the correct 'test instance'
for the image being tested, for tests like Boot_default_install
which have 'test instances' for each image. We can extend this
general approach in future for other cases where we have
multiple 'test instances' for a single test case.
2015-03-18 14:51:01 -07:00
Garret Raziel 9a2e608395 small change in createhdds.sh 2015-03-18 13:43:40 +01:00
Garret Raziel 6a47d2f426 add kickstart hdd test suite 2015-03-12 11:09:34 +01:00
Garret Raziel 95aa680064 creating new HDDs 2015-03-11 16:19:20 +01:00
Garret Raziel cb0451f7b3 add software raid test 2015-03-06 10:35:59 +01:00
Garret Raziel bbdcd592aa add another test 2015-03-05 13:57:11 +01:00
Garret Raziel a39c9ede17 add new test to configuration 2015-03-05 11:48:31 +01:00
Garret Raziel 0a47a8b9e7 changes in creahdds.sh, leave 1 MB at the beginning of disk 2015-03-05 11:03:23 +01:00
Adam Williamson 8c7a99fae8 Polishing of the download_all() method
The patch jskladan applied was an older broken one I sent
accidentally; apologies. This is more or less my intended
version, with some of the cleanups from jskladan preserved
and a couple of his suggestions added (!= instead of not ==,
and a bit of just-in-case exception handling).
2015-02-20 10:01:36 +01:00
Josef Skladanka 49c3e75edf Minor polishing 2015-02-18 11:33:45 +01:00
Adam Williamson 6c04ca5904 Moar of the AdamW's wild changes 2015-02-18 10:02:50 +01:00
Adam Williamson b54aed6aa1 Use python-wikitcms and fedfind
The basic approach is that openqa_trigger gets a ValidationEvent from
python-wikitcms - either the Wiki.current_event property for
'current', or the event specified, obtained via the newly-added
Wiki.get_validation_event(), for 'event'. For 'event' it then just
goes ahead and runs the jobs and prints the IDs. For 'current' it
checks the last run compose version for each arch and runs if needed,
as before. The ValidationEvent's 'sortname' property is the value
written out to PERSISTENT to track the 'last run' - this property is
intended to always sort compose events 'correctly', so we should
always run when appropriate even when going from Rawhide to Branched,
Branched to a TC, TC to RC, RC to (next milestone) TC.

On both paths it gets a fedfind.Release object via the ValidationEvent
- ValidationEvents have a ff_release property which is the
fedfind.Release object that matches that event. It then queries
fedfind for image locations using a query that tries to get just *one*
generic-ish network install image for each arch. It passes the
location to download_image(), which is just download_rawhide_iso()
renamed and does the same job, only it can be simpler now.

From there it works pretty much as before, except we use the
ValidationEvent's 'version' property as the BUILD setting for OpenQA,
and report_job_results get_relval_commands() is tweaked slightly to
parse this properly to produce a correct report-auto command.

Probably the most likely bits to break here are the sortname thing
(see wikitcms helpers.py fedora_release_sort(), it's pretty stupid, I
should re-write it) and the image query, which might wind up getting
more than one image depending on how exactly the F22 Alpha composes
look. I'll keep a close eye on that. We can always take the list from
fedfind and further filter it so we have just one image per arch.
Image objects have a .arch attribute so this will be easy to do if
necessary. I *could* give the fedfind query code a 'I'm feeling lucky'-
ish mode to only return one image per (whatever), but not sure if that
would be too specialized, I'll think about it.
2015-02-16 18:04:40 +01:00
Garret Raziel 45e90cd076 add file to second partition during creating disks 2015-02-13 11:58:44 +01:00
Josef Skladanka 96f3256a51 updated Phase Separation and testsuites 2015-02-13 09:48:54 +01:00
Josef Skladanka dcd164e74e Fixed to use the current relval 2015-02-11 13:25:26 +01:00
Garret Raziel c8e3496139 small fix of version check 2015-02-11 11:04:04 +01:00
Josef Skladanka c29fbde4b2 Added some printouts to openqa_trigger 2015-02-04 17:15:08 +01:00
Josef Skladanka 4172436b21 Updated conf_testsuites 2015-02-04 16:35:59 +01:00
Josef Skladanka e76eaaf246 Updated conf_test_suites 2015-02-04 14:54:20 +01:00
Josef Skladanka 471e13791e Make the thing work!
Fixed some issues & test-suites "metadata"
2015-02-03 17:46:41 +01:00
Josef Skladanka c003f6e445 Add _ as a separator in BUILD 2015-01-30 14:58:12 +01:00
Josef Skladanka 8f6c45e710 Split build by the right symbol 2015-01-30 14:53:23 +01:00
Josef Skladanka ec62bb2a44 Automated reporting using relval 2015-01-29 15:18:56 +01:00
Garret Raziel 9df6f064b4 add Fedora version into build tag 2015-01-29 13:56:07 +01:00
Garret Raziel 76ce5be7a6 some changes in openqa_trigger.py 2015-01-29 10:08:05 +01:00
Garret Raziel 64e70b8957 changed argument in openqa_trigger.py 2015-01-28 13:58:19 +01:00
Garret Raziel fe2f200fe1 work on openqa_trigger.py 2015-01-28 10:58:51 +01:00
Garret Raziel 4ae77ea8c2 Start of OpenQA trigger 2015-01-27 16:02:14 +01:00
Garret Raziel 9e83f59ea6 add script for creating virtual disks 2015-01-27 12:35:04 +01:00
Josef Skladanka 0444ef2dbb Initial commit 2015-01-26 14:44:36 +01:00