Commit Graph

827 Commits

Author SHA1 Message Date
Adam Williamson
1c882f612e lengthen that last wait_still_screen a bit...
...per https://openqa.stg.fedoraproject.org/tests/38809 , one
second isn't long enough.
2016-09-05 17:50:06 -07:00
Adam Williamson
21a5f23206 add a short wait_still_screen to _graphical_wait_login
looks like we had a good ol' 'sliding-in-from-the-side' fail
in https://openqa.fedoraproject.org/tests/32163 .
2016-09-04 09:46:58 -07:00
Adam Williamson
e56ab793de add another kde_selected needle variant
seems like the size of the radio bullet is very slightly
different? whatevers.
2016-09-03 17:42:36 -07:00
Adam Williamson
82b8b0a053 handle REPOSITORY_GRAPHICAL being http as well as https
I assumed the 'compose location' sent by fedmsg was https, but
in fact it's http (you get redirected to https when you access
it). Could just change the default back to 4, but why not make
it properly robust. Sending without review so this doesn't go
wrong all weekend.
2016-09-02 08:51:36 -07:00
Adam Williamson
315295c4b9 update VARIABLES a bit for newly added ones 2016-09-01 10:46:49 -07:00
Adam Williamson
f99411e0cc add new font rendering needles for GNOME login 2016-09-01 10:41:22 -07:00
Adam Williamson
ef689e75a9 use compose repository (not master repo) for most tests
Summary:
we have a long-standing problem with all the tests that hit
the repositories. The tests are triggered as soon as a compose
completes. At this point in time, the compose is not synced to
the mirrors, where the default 'fedora' repo definition looks;
the sync happens after the compose completes, and there is also
a metadata sync step that must happen after *that* before any
operation that uses the 'fedora' repository definition will
actually use the packages from the new compose. Thus all net
install tests and tests that installed packages have been
effectively testing the previous compose, not the current one.

We have some thoughts about how to fix this 'properly' (such
that the openQA tests wouldn't have to do anything special,
but their 'fedora' repository would somehow reflect the compose
under test), but none of them is in place right now or likely
to happen in the short term, so in the mean time this should
deal with most of the issues. With this change, everything but
the default_install tests for the netinst images should use
the compose-under-test's Everything tree instead of the 'fedora'
repository, and thus should install and test the correct
packages.

This relies on a corresponding change to openqa_fedora_tools
to set the LOCATION openQA setting (which is simply the base
location of the compose under test).

Test Plan:
Do a full test run, check (as far as you can) tests run sensibly
and use appropriate repositories.

Reviewers: jskladan, garretraziel

Reviewed By: garretraziel

Subscribers: tflink

Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D989
2016-09-01 08:22:59 -07:00
Adam Williamson
ea2f71b2cb SDDM appearance changed again in Rawhide, add needles 2016-08-30 12:55:57 -07:00
Adam Williamson
9311146f95 drop dictionary error workaround
Summary:
the dictionary error bug was fixed some time back, so drop this
workaround for it.

Test Plan:
Run all tests for F25 and Rawhide and verify they don't need
this workaround any longer.

Reviewers: jskladan, garretraziel

Reviewed By: garretraziel

Subscribers: tflink

Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D988
2016-08-30 11:18:46 -07:00
Jan Sedlák
518f996b10 add changed english filtered needle 2016-08-30 15:57:52 +02:00
Adam Williamson
19fccde4f0 add a few more needle updates for font rendering changes 2016-08-29 15:23:24 -07:00
Adam Williamson
67cb387e9a drop RHBZ #1349721 workaround, as the bug is fixed
Summary: Pretty simple!

Test Plan:
Check the upgrade tests work the same as before the
change.

Reviewers: jskladan, garretraziel

Reviewed By: garretraziel

Subscribers: tflink

Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D979
2016-08-29 11:45:34 -07:00
Adam Williamson
5d7b46cb9d widen reclaim_space_delete_btn area to make it unambiguous
this needle can actually also match the 'Delete all' button,
resulting in the test not doing what it should. openQA should
prefer the match closer to the area's location in the needle,
but https://openqa.fedoraproject.org/tests/31136 seems to show
this not happening, so let's make the match area wider in all
versions of the needle so it should no longer match the Delete
all button.
2016-08-29 11:00:53 -07:00
Adam Williamson
232dad604c add a bunch of needles for changed font rendering
font rendering has changed somehow in both Rawhide and F25
updates-testing, retake a bunch of needles for this. Some more
may be needed later in tests that are currently failed or
skipped for other reasons.
2016-08-25 16:01:26 -07:00
Adam Williamson
ecd7ce6b3f add changed font rendering next_button variant 2016-08-23 22:14:47 -07:00
Adam Williamson
1286eb79d7 tweak name of that last needle
this isn't actually f25 specific, I don't think...the tests
that failed are the Workstation network install tests, which
use updates-testing, so I think they're getting the same font
rendering change as just showed up in Rawhide. So these should
actually be correct for both branches, let's just leave the
name as the date.
2016-08-23 13:27:52 -07:00
Adam Williamson
038b2ceb25 add another gdm_input variant for current f25
something changed here again...
2016-08-23 12:22:02 -07:00
Jan Sedlák
0728e09c75 enable ENTRYPOINT to be more than one test, ensure shutdown when on ARM
This adds possiblity to specify more than one test in ENTRYPOINT
variable - test names should be separated with spaces and loading is done
as with POSTINSTALL.

Add _console_shutdown test to ARM image deployment.

Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D973
2016-08-16 09:33:10 +02:00
Adam Williamson
962c350e91 templates: disk_ks is now version 3
Summary:
This goes with D968, which bumped the version of the disk_ks
image, so templates has to stay in sync.

Test Plan:
As per D968 (you'll need this diff as well or else
the tests will try to use the wrong disk image).

Reviewers: jskladan, garretraziel

Reviewed By: garretraziel

Subscribers: tflink

Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D969
2016-08-15 17:01:18 -07:00
Adam Williamson
88e63f1593 fix upgrade test (broken by recent nogpgcheck commit)
in the recent commit to always use nogpgcheck I inadvertently
broke the upgrade tests, by dropping the `--releasever` from
the `dnf system-upgrade download` command. So fix that.
2016-08-12 10:08:46 -07:00
Adam Williamson
bc3402397d add a current rawhide join_domain needle
looks like some font change occurred at some point, this test
hasn't reached this point for a long time so I can't really pin
down what changed, so just name it for the date.
2016-08-11 18:25:46 -07:00
Adam Williamson
f62c68147b add new cockpit join link needle
recent cockpit changed the Join Domain from a button to a link,
add a needle.
2016-08-10 16:17:33 -07:00
Adam Williamson
b7abdf81a9 always use --nogpgcheck when installing packages
Summary:
Except when running on the pre-upgrade release in the upgrade
tests (where GPG check should always be OK).

Currently we always need to use --nogpgcheck on Rawhide, and we
must also use it on Branched prior to the Bodhi activation
point. At present we don't really have any simple way to know
when the Bodhi activation point has kicked in. We could assume
that it's safe to do GPG checking for 'candidate' (not nightly)
composes, but even that isn't 100% safe and isn't really the
*right* thing to do. So I think for now it's best to just always
use --nogpgcheck , until we come up with a decent way to check
for Bodhi enablement, or releng figures things out so we can
rely on packages being signed in Rawhide and in Branched before
Bodhi enablement.

Test Plan:
Check the tests all still run, make sure I didn't
miss any dnf calls.

Reviewers: jskladan, garretraziel

Reviewed By: garretraziel

Subscribers: tflink

Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D964
2016-08-10 07:56:13 -07:00
Adam Williamson
a625eac820 support_server: give the ISO copy a bit longer to complete
this is a big copy, could take longer than the default.
2016-08-09 17:11:53 -07:00
Adam Williamson
e57c7c9805 update firefox download_complete needle screenshot
seems like the overlay of the little 'speech bubble' triangle
changed a bit, with a recent GTK+ or something I guess. Since
this test is quite new we shouldn't need to keep the old
version, so just replace the screenshot.
2016-08-09 10:48:44 -07:00
Jan Sedlák
6fdc9934d4 add new graphical_desktop_clean needle
See https://openqa.fedoraproject.org/tests/27661#step/_graphical_wait_login/11

Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D962
2016-08-09 12:39:10 +02:00
Adam Williamson
a8ddc002f8 add QA:Testcase_desktop_browser test
Summary:
pretty simple stuff here. The distinction between 'firefox' and
'browser' is that the 'browser' needles I expect would also be
correct for other default browsers, while the 'firefox' needles
are specific to Firefox. We need '-kde' variants of some Firefox
needles where interface text is included, because the font is
Cantarell in GNOME but whatever the default 'sans' font is in
KDE - I suppose we should really use -thatfontsname rather than
-kde, but I can't think what it's called...

I couldn't do the 'log in to FAS' bit of the test since we don't
really have a sane way to provide a password while not exposing
it to the public.

Test Plan:
Run the test, check it works - for both KDE and
Workstation.

Reviewers: jskladan, garretraziel

Reviewed By: garretraziel

Subscribers: tflink

Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D938
2016-08-03 13:22:29 -07:00
Adam Williamson
a901fce4ab add QA:Testcase_FreeIPA_password_change test
Summary:
again, added as a non-fatal module for realmd_join_cockpit as
it's convenient to do it here. Also abstract a couple of ipa
bits into a new exporter package in the style of SUSE's
mm_network, rather than using ill-fitting class inheritance as
we have before - we should probably convert our existing class
based stuff to work this way.

Also a few minor tweaks and clean-ups of the other tests:

The path in console_login() where we detect login of a regular
user when we want root or vice versa and log out was actually
broken because it would 'wait' for the result of the 'exit'
command, which obviously doesn't work (as it relies on running
another command afterwards, and we're no longer at a shell).
This commit no longer actually uses that path, but I spotted
the bug with an earlier version of this which did, and we may
as well keep the fix.

/var/log/lastlog is an apparently-extremely-large sparse file.
A couple of times it seemed to cause tar to run very slowly
while creating the /var/log archive for upload on failure. It's
no use for diagnosing bugs, so we may as well exclude it from
the archive.

I caught cockpit webUI login failing one time when testing the
test, so threw in a wait_still_screen before starting to type
the URL, as we have for the FreeIPA webUI.

I also caught a timing issue with the openQA webUI policy add
step; the test flips from the Users screen to the HBAC screen
then clicks the 'add' button, but there's actually an identical
'add' button on *both* screens, so it could wind up trying to
click the one on the Users screen instead, if the web UI took
a few milliseconds to switch. So we throw in a needle match to
make sure we're actually on the HBAC screen before clicking the
button.

We make the freeipa_webui test a 'milestone' so that if the
new test fails, restoring to the last-known-good milestone
doesn't take so long; it actually seems like openQA can get
confused and try to cancel the test if restoring the milestone
takes a *really* long time, and wind up with a zombie qemu
process, which isn't good. This seems to avoid that happening.

Test Plan:
In the simple case, just run all the FreeIPA-related
tests on Fedora 24 (as Rawhide is broken) and make sure they all
work properly. To get a bit more advanced you can throw in an
`assert_script_run 'false'` in either of the non-fatal tests to
break it and make sure things go properly when that happens (the
last milestone should be restored - which should be right after
freeipa_webui, sitting at tty1 - and run properly; things are
set up so each test starts with root logged in on tty1).

Reviewers: jskladan, garretraziel

Reviewed By: garretraziel

Subscribers: tflink

Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D935
2016-08-03 13:21:12 -07:00
Adam Williamson
c6d8b54d58 add QA:Testcase_Anaconda_updates.img_via_installation_source
Summary:
we can test this quite easily by placing the standard openQA
updates image in the NFS repo used for the NFS repo install
tests. We just have to copy the contents of the ISO (instead of
directly exporting the ISO loop mount as an NFS share) so we
can add this extra file.

At first I planned to combine this with the NFS repo variation
test, but when you use a remote stage2 like this it changes repo
setup such that the packaging.log line we look for to verify
the remote repo was used does not show up, and there's enough
fuzziness in how anaconda-dracut fudges inst.repo and
inst.stage2 that it's probably a good idea to test them
separately anyhow.

Test Plan:
Run the new test and the other NFS tests, make sure
this one works and the others don't break.

Reviewers: jskladan, garretraziel

Reviewed By: garretraziel

Subscribers: tflink

Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D929
2016-08-03 13:19:18 -07:00
Adam Williamson
aacd01ea8b add encrypted workstation upgrade tests (current and previous)
Summary:
This requires us to handle decryption each time we reboot in
the upgrade process, so factor that little block out into the
base class so we don't have to keep pasting it. It's also a
bit tricky to integrate into the 'catch a boot loop' code we
have to deal with #1349721, but I think this should work. There
is a matching openqa_fedora_tools diff to generate the disk
image.

Test Plan:
Run the tests, check that they work, run the other
upgrade and encrypted install tests and check they still work
properly too.

Reviewers: garretraziel

Reviewed By: garretraziel

Subscribers: tflink

Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D922
2016-07-08 08:56:57 -07:00
Adam Williamson
31328c17a8 drop RHBZ #1346390 workaround needle
The bug seems fixed and the needle is causing false softfails
2016-07-05 16:46:21 -07:00
Adam Williamson
143fde4187 bump imgver in images now built with virt-install
Summary:
goes with the openqa_fedora_tools commit to switch from virt-
builder to virt-install. That bumps all the imgvers, so we must
update templates correspondingly.

Test Plan: As per D917.

Reviewers: garretraziel

Reviewed By: garretraziel

Subscribers: tflink

Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D918
2016-07-04 09:32:27 -07:00
Adam Williamson
8e94dd3f16 add a login_sddm for updated F24 KDE
seems the text has moved about a bit and it's now matching the
workaround needle only, which we don't want.
2016-07-01 08:17:51 -07:00
Adam Williamson
29c3fab71e add a softfail workaround for RHBZ #1349721
Summary:
try to catch a boot loop after `dnf system-upgrade reboot`, if
we do, set the test to soft_fail and pass enforcing=0 to work
around it.

Test Plan:
Run the upgrade_foo tests and see that they now soft
fail instead of hard failing (unless there are any other issues).
Run the upgrade_2_foo tests and make sure they still pass (i.e.
we don't erroneously soft fail them).

Reviewers: garretraziel

Reviewed By: garretraziel

Subscribers: tflink

Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D912
2016-07-01 08:16:47 -07:00
Adam Williamson
b475c15c76 update some KDE needles for Rawhide
SDDM got a makeover, apparently, and the background color of
the panel has changed a bit.
2016-06-28 14:45:24 -07:00
Adam Williamson
e24c377b01 add FreeIPA web UI testing
Summary:
as a new, non-fatal test step in the cockpit enrolment test,
because it kinda fits in there; we have an enrolled system with
a web browser *right there*. This will require making the wiki
reporting stuff slightly cleverer so we can say 'report a pass
for this wiki test instance if this test step passed', but that
should be possible. Making this non-fatal means the rest of the
cockpit enrolment test will go ahead even if the freeipa web UI
fails.

The 'check if we can log in' stuff is identical to freeipa_
client_postinstall except with different user names, so we could
potentially factor that out somehow, but I couldn't think of a
super clean way to do it so for now it's just copied.

Note this diff is on top of the freeipa-realmd branch which
is for D894, it's not on top of develop.

Test Plan:
Run the modified test and see if it works. No other
tests are modified, so they should be OK.

Reviewers: garretraziel

Reviewed By: garretraziel

Subscribers: tflink

Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D895
2016-06-28 12:01:31 -07:00
Adam Williamson
5f5021530d add a realmd_join_sssd test, and use DHCP for it and cockpit
Summary:
This is a pretty straightforward IPA joining test. Since I
figured out how to set up a DHCP server for support_server,
let's do the same for the domain controller so we can simplify
these enrolment tests a bit.

We also extend the timeout on installing haveged on the server
a bit (2 minutes is a bit low when it hits a slow metadata
download), and drop an unnecessary clone_host_file from the
cockpit join test (it was only there for testing and the next
operation immediately overwrites it).

Test Plan:
Do a full server DVD test run, check the new test
works and none of the others broke.

Reviewers: garretraziel

Reviewed By: garretraziel

Subscribers: tflink

Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D894
2016-06-28 12:00:13 -07:00
Jan Sedlák
8066beba91 add new GNOME login input
Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D878
2016-06-27 12:17:45 +02:00
Adam Williamson
83828425e1 tweak install_lang needle to match Fedora-Atomic
now we're getting composes with the product name 'Fedora-Atomic'
this needle doesn't match them. Tweak it so it should match both
'Fedora' and 'Fedora-Atomic'.
2016-06-22 20:54:54 -07:00
Adam Williamson
fe507b9d46 bump haveged install timeout to 5 mins
2 mins is a bit short sometimes, it seems...Rawhide keeps failing
on this.
2016-06-21 21:22:50 -07:00
Adam Williamson
9531beff2a new cockpit logs_notices_entry needle for Rawhide font change
something changed in Rawhide's font for this needle, so we need
a variant
2016-06-16 11:39:52 -07:00
Adam Williamson
b101042dae add a workaround needle for RHBZ #1346390
in current Rawhide, the desktop selector dropdown in SDDM is
blank; add a workaround needle to handle that.
2016-06-14 09:57:08 -07:00
Adam Williamson
3a76630a09 add similar variant for Russian layout needle 2016-06-13 15:36:59 -07:00
Adam Williamson
b5c3cd9a9c add variant us layout indicator needle
Somehow it seems this can look a bit different sometimes - see
https://openqa.fedoraproject.org/tests/22000 . The text seems
to be in a slightly different vertical position.
2016-06-13 15:23:25 -07:00
Adam Williamson
0da6652287 add NFS tests (and DHCP/DNS in the support server)
Summary:
Set up the support server to provide DHCP/DNS functionality and
an NFS server, providing a kickstart. Add a kickstart test just
like the other root-user-crypted-net kickstart tests except it
gets the kickstart from the support server via NFS. Also add NFS
repository tests and a second support server for Server-dvd-iso
flavor: this test must run on that flavor to ensure that packages
are actually available. The support server just mounts the
attached 'DVD' and exports it via NFS.

Note we don't need to do anything clever to avoid IP conflicts
between the two support servers, because os-autoinst-openvswitch
ensures each worker group is on its own VLAN.

As part of adding the NFS repo tests, I did a bit of cleanup,
moving little things we were repeating a lot into anacondatest,
and sharing the 'check if the repo was used' logic between all
the tests (by making it into a test step that's loaded for all
of them). I also simplified the 'was repo used' checks a bit,
it seems silly to run a 'grep' command inside the VM then have
os-autoinst do a grep on the output (which is effectively what
we were doing before), instead we'll just use a single grep
within the VM, and clean up the messy quoting/escaping a bit.

Test Plan:
Run all tests - at least all repository tests - and
check they work (make sure the tests are actually still sane,
not just that they pass). I've done runs of all the repo tests
and they look good to me, but please double-check. I'm currently
re-running the whole 24-20160609.n.0 test on staging with these
changes.

Reviewers: jskladan, garretraziel

Reviewed By: garretraziel

Subscribers: tflink

Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D888
2016-06-13 08:42:30 -07:00
Adam Williamson
7a8ae3a357 add an iscsi test, and a support_server test to support it
Summary:
this is following a SUSE model for tests where we need a server
end but don't want setting up the server to constitute a real
test in itself, we want it to be stable. The 'support_server'
test just boots a pre-built (by createhdds) disk image, sets up
networking, and runs the iSCSI server.

To run the iSCSI test we need to handle networking config in
anaconda (or we would need to set the support server up as a
DHCP server, which may be worth considering), so this adds that.
We also need to be able to specify the target device for a
volume in custom partitioning, so this adds that too.

Test Plan:
Build the necessary support server disk image (use
D883), then run the test and make sure it works. Also make sure
all other tests continue to work.

Reviewers: jskladan, garretraziel

Reviewed By: garretraziel

Subscribers: tflink

Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D884
2016-06-09 08:43:46 -07:00
Adam Williamson
046d7e128e add a workaround needle for KDE with upstream kicker (1344118)
Rawhide KDE has an upstream icon for the kicker; softfail on
this so other tests can run.
2016-06-08 12:53:16 -07:00
Adam Williamson
3a31f9639d use sudo when rebooting after live install
on Rawhide it seems user cannot run 'reboot' any more. 'sudo
reboot' seems to do the trick (tested KDE and GNOME).
2016-06-08 12:20:43 -07:00
Adam Williamson
7606131d09 add updated kde anaconda installer icon for current Rawhide
the icon changed
2016-06-08 11:39:24 -07:00
Adam Williamson
66fc3cc7d4 add a cockpit realmd FreeIPA join test
Summary:
This requires a few other changes:

* turn clone_host_resolv into clone_host_file, letting you clone
  any given host file (cloning /etc/hosts seems to make both
  server deployment and client enrolment faster/more reliable)
* allow loading of multiple POSTINSTALL tests (so we can share
  the freeipa_client_postinstall test). Note this is compatible,
  existing uses will work fine
* move initial password change for the IPA test users into the
  server deployment test (so the client tests don't conflict over
  doing that)
* add GRUB_POSTINSTALL, for specifying boot parameters for boot of
  the installed system, and make it work by tweaking _console_wait
  _login (doesn't work for _graphical_wait_login yet, as I didn't
  need that)
* make the static networking config for tap tests into a library
  function so the tests can share it
* handle ABRT problem dirs showing up in /var/spool/abrt as well
  as /var/tmp/abrt (because the enrol attempt hits #1330766 and
  the crash report shows up in /var/spool/abrt, don't ask me why
  the difference, I just work here)
* specify the DNS servers from the worker host's resolv.conf as
  the forwarders for the FreeIPA server when deploying it; if we
  don't do this, rolekit defaults to using the root servers as
  forwarders(!) and thus we get the public, not phx2-appropriate,
  results for e.g. mirrors.fedoraproject.org, some of which the
  workers can't reach, so PackageKit package install always fails
  (boy, was it fun figuring THAT mess out)

Even after all that, the test still doesn't actually pass, but
I'm reasonably confident this is because it's hitting actual bugs,
not because it's broken. It runs into #1330766 nearly every time
(I think I saw *one* time the enrolment actually succeeded), and
seems to run into a subsequent bug I hadn't seen before when
trying to work around that by trying the join again (see
https://bugzilla.redhat.com/show_bug.cgi?id=1330766#c37 ).

Test Plan:
Run the test, see what happens. If you're really lucky,
it'll actually pass. But you'll probably run into #1330766#c37,
I'm mostly posting for comment. You'll need a tap-capable openQA
instance to test this.

Reviewers: jskladan, garretraziel

Reviewed By: garretraziel

Subscribers: tflink

Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D880
2016-06-07 13:00:39 -07:00