Commit Graph

100 Commits

Author SHA1 Message Date
Adam Williamson
f59343403a add FreeIPA server role deploy and kickstart enrolment tests
Summary:
These require openQA tap networking to allow the server and
client boxes to communicate, and require masquerading (NAT) so
the server at least can reach a repository (dnf/rolekit really,
really do not want to work without a repo connection).

They use the 'parallel' test support to have the server deploy
run first while the client enrol test waits at the grub menu
until the server is done before it goes ahead.

This is all deployed and working on stg. The really tricky bit
was getting all the openvswitch and firewall config right in
ansible.

We *could* do the server deploy test as a follow-on from the
default install test to save the install, but then we'd have to
teach it to change the hostname and set up static networking
post-install. I'm not sure if it's worth doing that.

This requires the corresponding openqa_fedora_tools commit that
adds the hard disks (containing the kickstarts - it's possible
to get them from remote during install, but we have to set up
name resolution or hard code the IP of the server).

Test Plan:
Deploy this and the openqa_fedora_tools commit,
generate the disks, configure the networking (good luck! See
the docs in openqa_fedora_tools) and see if you can run the
tests. If you're using Docker, uh...sorry. You somehow need to
set things up so the workers can use tap interfaces that can
talk to each other and are NATed to the outside world. Have fun.
I can talk you through it on IRC...

Reviewers: jskladan, garretraziel

Reviewed By: garretraziel

Subscribers: tflink

Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D831
2016-05-04 11:53:11 -07:00
Jan Sedlák
d4466100d4 add necessary needles and fix code for KDE upgrade tests
Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D837
2016-05-04 09:58:35 +02:00
Adam Williamson
100c133dda include some grey in the reboot button match
Summary:
There's a weird problem that we hit occasionally only on the
Server image, see e.g.:
https://openqa.fedoraproject.org/tests/14300
I *think* what's happening (thanks hergertme from #gtk+ IRC for
help with this) is that when the 'install done!' text and the
reboot button appears, there's a short transition for the button
so it doesn't look *exactly* like the screenshot right away. If
openQA's needle match loop happens to kick in and check the
match right after the text and button appear, while the
transition is happening, it decides that some random area of the
gradient down the left hand side of the screen matches *better*
than the button, so it 'clicks' that, and we don't get a reboot.
If the openQA needle match loop happens to kick in a millisecond
or whatever later, after the button is done transitioning, the
button is now a 100% match and the bug doesn't happen. This only
happens on Server because the left-hand side gradient differs in
each flavor, and only the Server one just happens to have a spot
which is nearly identical to the needle area.

So to avoid that, let's include a bit of the grey space next to
the button. This is a bit more fragile against GTK+ changes to
button design or padding or whatever, but it will at least avoid
the match issue.

The other option would be to try and hit the button with tab and
enter or something, I guess.

Test Plan:
bit hard since this is an intermittent bug, I guess
run install_default on a Server image a bunch of times and see if
it always works.

Reviewers: jskladan, garretraziel

Reviewed By: garretraziel

Subscribers: tflink

Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D824
2016-04-26 19:08:51 -07:00
Adam Williamson
da58dc694b add white variant of kde desktop runner, remove old one
according to rdieter the runner dialog could be white or grey
background, we should match on either. One is probably a bug
but it's best to just work with it. Removing the February
version without the 'search' text.
2016-04-25 12:21:52 -07:00
Adam Williamson
31c17235f5 KDE desktop runner changed *again*
clean up the old needles while we're at it
2016-04-19 08:15:07 -07:00
Adam Williamson
90b5acf72a handle 'weak password' due to dictionary load error
Summary:
Rawhide currently seems to have a bug in spell check dictionary
load, which causes the test to fail as it requires another Done
click. So add a workaround needle that handles this case.

Test Plan:
Apply the patch, run some tests, see if they work. I
did a test run on staging:
https://openqa.stg.fedoraproject.org/tests/13331

Reviewers: garretraziel, jskladan

Reviewed By: jskladan

Subscribers: tflink

Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D815
2016-04-14 23:37:22 -07:00
Adam Williamson
3dca7cbf55 add new Workstation welcome app needles
the colors in this seem to change slightly a lot. I think
GNOME does something clever based on the background image or
something? Anyway. New needles.
2016-04-09 07:36:55 -07:00
Adam Williamson
77c07ae803 remove gtk+ 3.20 bug workaround needles
this seems to be resolved in both F24 and Rawhide now.
2016-04-09 07:19:15 -07:00
Adam Williamson
591b153238 revise updates.img test to work with new anaconda (T759)
Summary:
per details in T759, the 'unipony' updates image we use to test
the updates image features doesn't work with latest anaconda (f24
and Rawhide). I've built a new updates image which uses a neat
anaconda feature that allows you to override CSS with a file in
a special location; it sets the background for disk capacity
texts on the INSTALLATION DESTINATION spoke to be pink. This
lets us use a simple needle that just looks for a pink blob on
that spoke, on the basis that it's unlikely there'll ever be a
pink blob there for any other reason, so if there is one, the
updates image worked. There will be an accompanying tools diff
to change the updates disk image to use the new updates image.

Test Plan:
Do a test run and check the updates image tests pass
and no other tests are broken. You'll need to pull in the tools
diff and re-generate the updates disk image to check that test,
the scsi_updates_img test should work with just this diff.

Reviewers: jskladan, garretraziel

Reviewed By: garretraziel

Subscribers: tflink

Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D799
2016-04-01 08:00:47 -07:00
Adam Williamson
9992375d0a needles: disk selection GTK+ 3.20 workaround, part select update
Some needle changes to account for latest Rawhide. There seems
to be a bug between anaconda and GTK+ 3.20 causing text in the
disk selection widget not to be styled correctly: this commit
adds needles for that which are tagged as 'workaround', meaning
openQA will complete the tests but mark them as requiring a
workaround to work ('soft fail'). The bug is #1322036. There is
also an intentional change to the volume list in custom part;
the mount point names are now in dark grey rather than black (in
fact this has always been intended, but it's been broken for a
long time, according to davidshea). I cleaned up the part select
needles at the same time; the new ones have the non-variant
names, as davidshea says the same change is coming to F24 and
the original needles haven't matched for months. The F23 Atomic
install test doesn't hit any of these needles, so we don't need
to keep the original needles around for that. The most recent
variants are kept, as they'll be needed for F24 tests until the
new anaconda build goes stable for F24. The 'freetype262'
variant of part_select_swap hasn't matched for two months and is
dropped.
2016-03-29 11:37:55 -07:00
Jan Sedlák
49411aeb97 update "KDE selected" needle in software selection
Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D781
2016-03-21 15:00:16 +01:00
Jan Sedlák
d4a7124ff6 add english filtered cantarell22 needle 2016-03-15 10:36:38 +01:00
Adam Williamson
0fdd706734 needles: the resize slider changed yet again (GTK+ 3.19.11) 2016-03-09 17:57:15 -08:00
Adam Williamson
0305c5fcd0 anaconda crash reporting: update needles, click Report again
Summary:
First off, this revises the anaconda crash handling needles a
bit. We ditch gtk3195 and update anaconda_error to reflect
current F24/Rawhide. We keep the old anaconda_error around for
now as anaconda_error-23, to handle crashes in the F23 two-week
Atomic nightlies. We also add an 'early' variant, which is for
when (I think) the installer crashes very early, before it's
loaded in GTK+ settings; when that happens, the dialog uses a
different font. The screenshot comes from a recent Rawhide test
that crashed.

We also restore the anaconda `post_fail_hook` code to click
the Report button when a crash happens. This was erroneously
removed in D637. Before the Report button is clicked, the
`anaconda-tb` file exists but the libreport stuff in `/var/tmp`
does not. By removing this, we lost the libreport bits from
the uploaded files, which makes it harder to report crashes. So
let's add it back.

Finally we fix the actual tarring and uploading of `/var/tmp`;
also in D637 this got broken because it was being tarred up in
whatever directory the commands happened to be running in, but
we were still trying to upload it from `/var/tmp`.

https://openqa.stg.fedoraproject.org/tests/8444 was run with
these changes, and has `/var/tmp` correctly uploaded.

Test Plan:
Run some test that crashes, make sure the crash
handling all works correctly.

Reviewers: jskladan, garretraziel

Reviewed By: garretraziel

Subscribers: tflink

Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D768
2016-03-08 08:10:51 -08:00
Adam Williamson
2c1890c52e revise anaconda_install_done needles
GTK+ 3.19.10(?) has changed things in current F24/Rawhide;
weirdly, done-freetype262 seems to match sometimes but not
always. Add a new needle from a current screenshot but keep
freetype262 around for now just in case. Drop some variants
that should never be needed any more, rename the original
needle to -23 to mark that we're only keeping it around for
the F23 two-week Atomic tests. For now keep french-cantarell20
as the 'official' French needle, we'll see if it hits any
failures when the tests are working a bit better.
2016-03-07 16:57:20 -08:00
Adam Williamson
abbba24ca4 add french user created needle for cantarell22 2016-02-18 13:33:23 -08:00
Adam Williamson
684f7b4e5e add some GTK+ 3.19.9 / Cantarell 0.0.22 needles 2016-02-18 12:49:11 -08:00
Adam Williamson
741883f00b add needle for newest KDE desktop runner 2016-02-18 12:45:33 -08:00
Jan Sedlák
596772f163 fix Cantarell 0.0.21 also for english filtered needles
Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D739
2016-02-09 10:21:01 +01:00
Adam Williamson
41adcd87d4 add needle variants for GTK+ 3.19.8
it changes radio buttons and checkboxes a bit.
2016-02-04 02:16:03 +01:00
Adam Williamson
a0f75b4227 needle update for Cantarell 0.0.21 and GTK+ 3.19.7
mostly cantarell changes. GTK+ changes are bugs, so put 'bug'
in the name to remind us of this. There's one non-typical
change, to main_hub_installation_source; I removed the match
on the text label of the spoke entirely instead of updating it,
in line with other similar needles, it's unnecessary and only
serves to make the needle more fragile.
2016-01-21 17:58:01 -08:00
Adam Williamson
f855516818 new needles for cantarell 0.0.20 / GTK+ 3.19.6
both of these landed in Rawhide overnight and busted stuff, so
new needles!
2016-01-12 17:07:09 -08:00
Jan Sedlák
7b3bb5c252 add freetype262 needle for english_filtered tag
Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D706
2015-12-23 08:45:54 +01:00
Adam Williamson
13f58b0426 add GTK+ 3.19.5 variant of GNOME live initial screen needle 2015-12-18 07:58:51 -08:00
Adam Williamson
d06f775d5c add a bunch of needle variants for GTK+ 3.19.5
3.19.5 seems to change the colors of buttons slightly and also
the rendering of checkboxes/radio buttons, they're now placed
somewhat differently relative to their labels.
2015-12-17 11:59:11 -08:00
Adam Williamson
43e655eae4 add freetype 2.6.2 variants of KDE package set needles
garretraziel took these with F23, I think. Theoretically we
could just have these ones and ditch his, as we're not running
KDE install tests on F23, but we might want to discuss that kind
of question more generally, so for now let's just add the
variant.

We may need more variants for the post-install matches, but the
test doesn't actually get that far ATM because of dependency
issues in the KDE package set, so I'll deal with that once we
can actually do a successful KDE install.
2015-12-08 12:03:53 -08:00
Adam Williamson
f34d01ee01 add BIOS font variant for 'user logged in' needle
Summary:
As I figured out a while back, the seabios firmware font is
nearly the same as our console font (eurlatgr) but not quite,
significantly its @ character is different (shorter). We
already have a root_logged_in variant for the firmware font,
but we now need one for user_logged_in as well. The Atomic
installer image has had the Linux console fonts stripped from
its payload, so it's now using the firmware font, and user_
logged_in isn't matching - see
https://openqa.fedoraproject.org/tests/461 .

Test Plan:
Run the cloud_atomic_canned test (on an F23
post-release nightly, as it's not appearing for Rawhide
nightlies ATM) and confirm it now passes.

Reviewers: garretraziel, jskladan

Reviewed By: jskladan

Subscribers: tflink

Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D684
2015-12-08 08:05:46 -08:00
Jan Sedlák
fd2ed44162 add KDE package set testcase
add KDE package set testcase - this only adds needles and
new testcase configuration, because with needles cleanup from D670,
it should work without change in code.

Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D673
2015-12-08 11:49:38 +01:00
Jan Sedlák
6e801bcd52 remove ENV-DESKTOP- tag, set DESKTOP- tag instead where necessary
Let's use the same principle with DESKTOP tag as we use with
LANGUAGE tag. Where there are any GNOME-only (or KDE-only) needles, tag
them with `DESKTOP-gnome` and delete then when different `DESKTOP` value
is specified. This will help with `QA:Testcase_Package_Sets_KDE_Package_Install`
testcase - we will be able to use almost the same code and check that KDE
got installed properly.

Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D670
2015-12-08 11:32:48 +01:00
Adam Williamson
163a8fd94a make 'first partition' needles more reliable / universal
Summary:
The 'reclaim_space_first_partition' needles aren't very good.
Using the area with the filesystem means we need to duplicate
the needle for NTFS, and the needles in fact also match the
*second* partition in most cases, sometimes causing the tests
to delete the second partition instead of the first and fail.
This design should work better: a single needle should match
all filesystems, and by including some of the highlighted top
row in the match, we should never match on the second row.
Including 'da' in the needle makes this really 'first disk,
first partition', but that's all the cases we currently use
it for. We don't really need this needle to work hard to make
sure we're on the right screen, as the subsequent needles
(which match buttons that only exist on this screen) do that
job fine.

We drop some needles that should no longer be necessary: F23
should now be using the cantarell17 version of the needle,
and F24 the freetype262 needle. We don't run installer tests
for any other release.

We could tweak second_partition needle to match, but nothing
is actually using it anyway.

Test Plan:
Do a full test and run and make sure the tests
which use this needle work, and always select the correct
partition.

Reviewers: jskladan, garretraziel

Reviewed By: garretraziel

Subscribers: tflink

Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D681
2015-12-07 09:41:49 -08:00
Adam Williamson
2e42e6e478 one more freetype 2.6.2 needle (desktop_clean) 2015-12-05 14:09:52 -08:00
Adam Williamson
301b1e3177 one more freetype 2.6.2 needle - missed this one 2015-12-04 14:53:48 -08:00
Adam Williamson
31513e4e89 update needles for freetype 2.6.2
freetype 2.6.2 changes font rendering quite significantly.
Most text needles needed redoing. Committing without review
so maybe we finally get some damn useful test results...
2015-12-04 13:43:40 -08:00
Adam Williamson
a9c45df445 add needle for lighter-coloured resize slider
Summary: seems like this got lighter for F24 too.

Test Plan:
Run the shrink tests and see if they get past this
screen.

Reviewers: jskladan, garretraziel

Reviewed By: garretraziel

Subscribers: tflink

Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D666
2015-11-27 08:29:58 -08:00
Jan Sedlák
7240ce774f add custom partitioning xfs tests
Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D663
2015-11-26 13:50:45 +01:00
Adam Williamson
d3b4e30595 don't match on left border of language list (french filtered)
Summary:
this needle seems to be fragile not because of cantarell in
fact, but because the difference between the the left edge of
the language box and the 'F' is not consistent. So, let's just
not include it in the match.

Test Plan:
Check if French install test works (see test #8847
failure in BOS).

Reviewers: jskladan, garretraziel

Reviewed By: garretraziel

Subscribers: tflink

Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D661
2015-11-24 08:35:19 -08:00
Jan Sedlák
cf6fa5d957 another needles fixing
This adds another Cantarrell 1.8 missing needle as well as
lighter variant of Done button (it's perhaps caused by displayed
warning about missing swap partition on no_swap test?). With this
in place, all tests on Rawhide passes except of KDE (but it seems
that KDE Live images are borked) and desktop upgrade tests.

Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D651
2015-11-19 10:11:07 +01:00
Adam Williamson
3ecef54b51 explicitly check for DNF "system is not ready for upgrade"
Summary:
Instead of sitting there waiting 6000 seconds twice, when DNF
explicitly tells us it failed, just die.

This is why we haven't been getting proper compose check reports
lately; the upgrade tests are failing, waiting 6000 seconds to
time out, then being cloned and tried again, waiting another 6000
seconds. This is just barely going beyond check-compose's 8 hour
wait limit, as it's some time before the upgrade tests even get
started (they're low in the priority list). We're still going to
have that problem if the tests fail any other way, but this at
least catches that case.

Test Plan:
Run the upgrade tests and see that they fail quicker
(assuming the dependency problems they're dying on aren't fixed).
Maybe also do a 22-23 upgrade test and check it still succeeds
properly.

Reviewers: jskladan, garretraziel

Reviewed By: garretraziel

Subscribers: tflink

Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D650
2015-11-18 11:17:49 -08:00
Jan Sedlák
df7a4582d0 add another cantarell18 needle
Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D646
2015-11-13 10:05:02 +01:00
Adam Williamson
29b9ffc405 add Cantarell 0.0.18 variant needles
Cantarell 0.0.18 showed up in Rawhide recently and changes
rendering again, so we need some more variant needles. Once
Cantarell change quiets down a bit we'll have to clean these
all up.
2015-11-10 12:35:30 -08:00
Jan Sedlák
da7bdda462 add azerty user logged in needle
Since we are now logging to user account every time,
I've encountered new bug - we are missing needle for azerty
user logged in. This DR adds it.

Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D640
2015-11-09 09:49:21 +01:00
Jan Sedlák
ec6b3ff4a3 use validate_script_output instead of typing and needles matching
Use validate_script_output and regex matching instead
of type_string and needles.

Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D637
2015-11-04 14:38:36 +01:00
Jan Sedlák
7a4eff8acb add new krunner needles
Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D626
2015-10-27 13:52:00 +01:00
Adam Williamson
1f9685d058 another Cantarell 0.0.17.2 variant
Summary: didn't catch this before (as it depends on the image tested)

Test Plan: Test a Server ISO, the ext3 test fails without this

Reviewers: jskladan, garretraziel

Reviewed By: garretraziel

Subscribers: tflink

Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D622
2015-10-23 11:27:49 -07:00
Adam Williamson
676175023d add another cantarell variant needle
Summary:
So another couple of Cantarell updates hit Rawhide and changed
rendering a bit more, leading to this needle breaking. This is
for Cantarell 0.0.17.2. No other needles seem to have problems.

Test Plan:
Already in place on BOS - note the 2015-10-15 Rawhide
tests that initially failed but now pass.

Reviewers: jskladan, garretraziel

Reviewed By: garretraziel

Subscribers: tflink

Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D621
2015-10-16 23:37:48 -07:00
Josef Skladanka
75b50ae17f Moved needles to the right dir 2015-10-15 09:58:04 +02:00
Jan Sedlák
26fd74490c yet another KDE fixes - login manager changed
Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D598
2015-09-30 13:31:03 +02:00
Adam Williamson
b97c019ae9 revise language tag handling to be easier to use (T617)
Summary:
T617 makes some good points about the language tags; this is my
suggestion for an improvement. It requires a bit of cleverness
in unregister_prefix_tags(), but the upshot is that you don't
need to know to set any special tags when creating needles, a
needle with no language-related tags will be considered as valid
for all languages. You have to explicitly add LANGUAGE- tag(s)
to a needle for the language filtering to 'kick in' in any way.
If a needle has at least one LANGUAGE- tag, it will be filtered
unless it has the appropriate tag for the job's specified
language (default is still 'english').

With this approach, only needles which we specifically want to
*only* match their tagged language(s) need the tags, so we can
drop all those -ALL tags.

We're using LANGUAGE- instead of ENV-LANGUAGE- now because the
ENV- tag names denote tags that are treated slightly specially
by openQA, and this is not one. We cannot cleanly use
ENV-INSTLANG because openQA has a hardwired default of 'en_US'
for that.

Test Plan:
Check both English and French tests still work as
intended.

Reviewers: jskladan, garretraziel

Reviewed By: garretraziel

Subscribers: tflink

Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D589
2015-09-29 15:52:50 -07:00
Adam Williamson
d4ddfe167a add a default_install test for cloud atomic installer image
Summary:
We have these 'atomic installer' images (so far just Cloud),
and maxamillion wanted to get them tested. Turns out it's
pretty trivial - they look much like other installs. Only
little wrinkle is they have a reduced hub (no repository
needles) like live images, but are not like live images in
any other way, so I rejigged the 'small hub needle filtering'
handling a bit.

There will be an accompanying diff for tools, and also some
changes in fedfind (these images are getting built nightly
for *current stable*, and it'd be good to test those).

Because we'd like to test the 22 nightlies, I had to add some
needles for 'olddpi' versions of a few screens. See 2e4c1c2 -
the 22 Atomic installer images still have the old GTK+ code
meaning they run at 96.09dpi. I only retook the necessary
needles for the default-install test, if we add any others we
made need to retake a few more needles.

Test Plan:
Schedule jobs for a compose with the atomic installer
image. You will need the matching openqa_fedora_tools diff and
the very latest git fedfind. Check the test for that image runs,
all other tests run as usual, excessive images are not
downloaded, and the atomic installer is not used for running
universal tests.

Reviewers: jskladan, garretraziel

Reviewed By: garretraziel

Subscribers: tflink

Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D595
2015-09-29 11:36:11 -07:00
Jan Sedlák
533dd806e2 fix KDE x11_start_program needle, add Gnome needle
Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D592
2015-09-17 09:49:55 +02:00