Commit Graph

562 Commits

Author SHA1 Message Date
Adam Williamson
b9f6ecd72d Conditionalize FreeIPA UI change, add 4.8.9 update to workarounds
The FreeIPA UI change that the previous commit adapted to is in
4.8.9. That's stable for Rawhide and F33 already, but still in
testing for F32, and won't go to F31. So we need to make the
change conditional on release number, and we also add the update
to workarounds for F32 so we don't have to do something awkward
while we wait for it to go stable.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-08-21 14:00:42 -07:00
Alexander Bokovoy
5713631a9c Update password change needle and code to FreeIPA 4.8.9
OTP field was moved into the last position in the password change dialog
to prevent issues with OTP code expiring while users enter their
passwords.

Signed-off-by: Alexander Bokovoy <abokovoy@redhat.com>
2020-08-21 18:05:33 +03:00
Adam Williamson
7682872d95 desktop_login: update reboot flow for GNOME changes in F33+
GNOME now also splits 'Restart...' and 'Power Off...' as KDE
does, so we need to tweak the conditional and add some needles.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-08-17 16:25:32 -07:00
Adam Williamson
025949f483 FreeIPA: fix reverse zone for 172.16.2 network use
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-08-12 11:18:41 -07:00
Adam Williamson
232b224d22 Add 'with swap' tests, drop swap parts from other tests (#180)
In Fedora 33, we generally no longer include a disk-based swap
partition by default (instead swap-on-ZRAM is used, see
https://fedoraproject.org/wiki/Changes/SwapOnZRAM ). This tweaks
our tests to account for that. In tests that aren't to do with
swap at all, we stop including a swap partition in order to be
closer to the default layout. We replace the old _no_swap blivet
and custom tests with _with_swap tests that, as the name implies,
*explicitly include* a swap partition, and adjust the postinstall
test to check the disk swap partition is there.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-08-11 15:09:33 -07:00
Adam Williamson
755ac778cc Wait longer for Zezere provision request to go through
30 seconds doesn't seem to be reliable enough. Let's try 60, if
that's not enough I'll try and think of something smarter.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-08-07 16:25:07 -07:00
Adam Williamson
a0d4c2fc65 Add a keypress to the 'keepalive' loop in desktop_notifications
Just repositioning the mouse appears not to be enough to prevent
the sesssion going idle any more, since the 20200731.n.0 compose.
Not sure what causes this, probably the kernel. Adding a space
keypress seems to help in both KDE and GNOME.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-08-06 18:15:49 -07:00
Adam Williamson
855aaef258 Try harder to be safe when quitting Firefox
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-08-05 13:56:07 -07:00
Adam Williamson
fed44e3fdb wait_still_screen after exiting firefox in server_cockpit_default
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-08-04 18:13:14 -07:00
Adam Williamson
aa41fe4e4e Automate QA:Testcase_Zezere_Ignition
This is a bit complex to automate, because we cannot really use
the production Zezere server (provision.fedoraproject.org) as
the test case shows, as we'd have to solve authentication and
we also don't really want to constantly keep registering new
hosts to it that are going to disappear and never be seen again.

So, instead we'll do it by setting up our *own* Zezere, and
provisioning our IoT system in that. We run two tests. The
'ignition' test is the actual IoT 'device'; all it really does
is boot up, sit around, and wait to be provisioned. The 'server'
test first sets up a Zezere server, then logs into it, adds an
ssh key, claims the IoT device, provisions it, and connects to
it to create a special file which tells the 'ignition' test
everything worked and it can close out.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-07-23 18:01:06 -07:00
Adam Williamson
72edbfe991 Use qemu host IP 172.16.2.2 not 10.0.2.2
This is to make the infra folks happy, apparently using 10.0.x.x
and 10.1.x.x is causing conflicts since our actual infra network
uses those ranges too.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-07-23 16:40:45 -07:00
Adam Williamson
d0274fe7f9 Tweak support_server DHCP range
It started too low, overlapped with some IPs we set static now.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-07-17 14:59:09 -07:00
Adam Williamson
ead05e6c32 Drop explicit install of fedora-repos-modular again
It actually is supposed to be installed by default, so if it's
missing that's a bug. It's been added to comps now so it should
be there from now on.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-07-10 18:41:05 -07:00
Adam Williamson
3f6ac527bb Apply overview workaround to yet one more test
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-07-09 14:29:49 -07:00
Adam Williamson
4a6cd8bcd5 Abstract out overview type-to-search bug workaround
And also use it in GNOME apps settings.pm test.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-07-09 14:25:22 -07:00
Adam Williamson
50d9d8bafa Workaround overview type issue in input test too
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-07-08 17:24:51 -07:00
Adam Williamson
4fee822475 modularity test: install fedora-repos-modular if necessary
It got split out and is not installed by default in 33-0.8. This
is intentional, not a bug, see https://pagure.io/fesco/issue/2114

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-07-08 14:52:11 -07:00
Adam Williamson
919c88f48f Add QA:Testcase_Clevis test (TPM-based automatic decryption)
This adds a test that automates
https://fedoraproject.org/wiki/QA:Testcase_Clevis. It requires
os-autoinst-4.6-18.20200623git5038d8c or newer, and a worker
host in the 'tpm' class which is set up to have an instance of
swtpm running at /tmp/mytpmX , where X is the worker instance
number, for each worker. The Fedora infrastructure ansible
plays have been updated to handle this via an instantiated
systemd service, which other instances can also adopt.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-07-02 16:44:55 -07:00
Adam Williamson
3189f1a62c Tweak NFS repo setup in _support_server to copy all files
`cp -R foo/*` doesn't get all files in `foo/`, it misses hidden
files. This turns out to be a problem with recent anaconda, as
it expects to find a .treeinfo file here. So, let's use rsync.
We could probably do this with cp too but I can't think of the
right arguments right now...

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-06-18 17:00:42 -07:00
Adam Williamson
5e4d1f6e16 base_service_manipulation: use chronyd not sshd
We changed the wiki test case this way, and it should work better
on Cloud images.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-06-17 16:55:55 -07:00
Adam Williamson
6a82a7b222 Tweak still screen waits in _do_install_and_reboot
We still have sliding animation issues sometimes, this should
help.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-06-16 08:36:01 -07:00
Adam Williamson
35f17cb549 Have podman client test sleep a bit after creating the lock
It seems the server can miss it if the client creates it then
immediately exits.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-06-05 12:32:53 -07:00
Adam Williamson
4ae50d0e0e Update install_source_graphical for a change in anaconda
Behaviour of a drop-down box changed, we need to tweak this test.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-06-04 18:55:28 -07:00
Paul Whalen
fd440bfd3a Add QA:Testcase_RpmOstree_Rebase for iot testing (#167)
Signed-off-by: Paul Whalen <pwhalen@fedoraproject.org>
2020-06-04 14:00:32 -04:00
Lukáš Růžička
8c40583ee6 Automate the IoT rpm-ostree package layering test case. 2020-06-02 10:41:31 +02:00
Lukáš Růžička
ce584750b4 Create test for IoT Greenboot.
Finish test and add necessary needles.

Create IOT needle directory and move needles in it.

Delete needle as required by the review.

Add to templates.
2020-05-29 16:25:46 +00:00
Adam Williamson
14b21866f2 Add QA:Testcase_Podman test and run it on IoT (#166)
This adds a pair of tests, one which does almost all the work
from the test case, the other just a client test to check that
we can connect to an HTTP server running in a container on the
host. We also have to bump the _console_wait_login timeout on
this path a bit as we're booting a disk image that was installed
with DHCP working, but we change the network setup so DHCP does
not work any more, and the system spends quite some time trying
to bring the network up on boot before eventually giving up and
proceeding.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-05-28 14:55:27 -07:00
Lukáš Růžička
4d4b2d7739 Finish the post review changes. 2020-05-28 13:32:42 -07:00
Lukáš Růžička
b5169e602b Use existing needles for fs selection. 2020-05-27 15:54:10 -07:00
Lukáš Růžička
18e58a5994 Delete debug print. 2020-05-27 15:54:09 -07:00
Lukáš Růžička
2a3e67991b Whitelist not recognized needles in check-needles.py 2020-05-27 15:54:09 -07:00
Lukáš Růžička
5f1db40ebe Add to templates. 2020-05-27 15:54:09 -07:00
Lukáš Růžička
c42f62da14 Create a test for resizing using custom partitioning 2020-05-27 15:54:09 -07:00
Lukáš Růžička
9efb0e10e6 Create a test to resize LVM partitions using Blivet. 2020-05-27 15:54:09 -07:00
Adam Williamson
a63437527c upgrade_preinstall: use UP1REL not CURRREL
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-05-26 19:04:57 -07:00
Adam Williamson
c9352592e2 desktop_login: correct ownership of home dir after touching it
Here we are creating ~/.config for a newly-created user with root
ownership. We can't leave it that way, as commands run as the
user account won't be able to change it, as they should be able
to. So we need to change the ownership (and, just in case, fix
SELinux contexts) afterwards.

This was the real source of the problem we were seeing (the test
failing early due to the gsettings command which should turn the
screen background black failing).

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-05-25 15:35:54 -07:00
Adam Williamson
de48d228af Revert "Make desktop_login wait a bit before trying to launch stuff"
This reverts commit 3d6e46db28. It
was wrong, I forgot the problem is something else.
2020-05-25 14:18:35 -07:00
Adam Williamson
3d6e46db28 Make desktop_login wait a bit before trying to launch stuff
We're trying to launch stuff the instant we see a desktop, and
it seems to be failing quite often in GNOME. Let's give it a few
seconds.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-05-25 13:59:34 -07:00
Adam Williamson
fead784087 Except IoT from the 'no 0.x -release in candidate compose' rule
IoT does nightly Branched and Rawhide composes that are built
as RC candidates, for some reason. So let's except it from this
check.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-05-13 10:55:09 -07:00
Adam Williamson
21ecfa8538 os_release: blow up on RC compose with prerelease fedora-release
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-05-11 16:05:47 -07:00
Adam Williamson
6f9ee2484c Fix prerelease check in os_release.pm
Whoops, bracket in wrong place...

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-05-11 15:41:21 -07:00
Adam Williamson
acc46464f8 Revise release variable handling, prerelease checks, os-release
I started out trying to fix os-release for the recent change to
add "Prerelease" tags to the VERSION and PRETTY_NAME fields, then
things spiralled. It got me thinking about the awkward DEVELOPMENT
variable we use, so I decided to get rid of it and refactor the
few things that use it. I refactored the anaconda prerelease tag
check, and wrote a new giant comment that gives details about
exactly how anaconda decides whether to show those tags, to give
context to our choices about when to expect them. This check now
uses a new LABEL variable the scheduler now sets. I also wound up
creating new UP1REL and UP2REL vars to define the 'source' release
for upgrade tests, separate from CURRREL and PREVREL, which are
now never lies - they really are the current stable and previous
stable release, even for update upgrade tests.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-05-07 15:42:08 -07:00
Adam Williamson
3bc1e8335a Put /var/lib/mock on separate disk for live image build test
The update live image build test keeps running out of disk space.
We've bumped the minimal disk image from 12GB all the way up to
20GB so far but it keeps happening. So let's try a different
strategy: use a scratch disk to mount /var/lib/mock. That's where
all the space gets used. This should allow us to reduce the size
of the minimal disk image again, and giving it 25GB of empty disk
should avoid it running out of space again for a while.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-05-05 21:12:12 -07:00
Lukáš Růžička
61f845dbbf Make solidify_wallpaper more universal to handle different desktops. 2020-05-05 00:14:35 +00:00
Adam Williamson
8c76fa8458 Work around #1811234 for update upgrade tests
This is failing on every update and that's not telling us anything
useful - we already know about the bug - so let's work around it.
Not adding a softfail as it's a bit more awkward to do that.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-04-27 12:55:34 -07:00
Adam Williamson
41aed12b16 Handle Boxes tutorial screen in _vnc_client_connect
We can get tripped up by the tutorial screen when launching
Boxes; borrow some code from the app start/stop test to check for
and handle it.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-04-27 12:04:00 -07:00
Adam Williamson
0b7a9cf3c8 desktop_login: give 'ret' keypress a bit of time to take effect
The default timeout for check_screen is 0, so we were only giving
the enter key press a fraction of a second to take effect before
expecting to see locked_screen_switch_user. This is too tight,
see https://openqa.fedoraproject.org/tests/586257 . Let's give it
five seconds before we give up.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-04-24 10:39:12 -07:00
Lukáš Růžička
fd3e4e3280 Change the order of steps and add another check screen.
Since GDM shows the "system-menu-button", it could not correctly
switch users on a locked screen. I added a check to see
if we are on a locked screen and behave accordingly.
2020-04-22 21:52:19 +02:00
Adam Williamson
ea9ac508ac Fix check_desktop variable timeouts
I forgot that tries was configurable. Sigh. Convert it to a
timeout argument.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-04-18 14:54:48 -07:00
Lukáš Růžička
f3d6a9574c Add desktop login test, revise and rename check_desktop
This adds a new test that implementsQA:Testcase_desktop_login
on both GNOME and KDE.

While working on this, we realized that the "desktop_clean"
needles were really "app menu" needles, and for KDE, this was
a duplication with the new "system menu" needles, because on KDE
the app menu and the system menu are the same. So I (Adam)
started to de-duplicate that, but also realized that "app menu
button" is a much more accurate name for these needles, so I was
renaming the old desktop_clean needles to app_menu_button. That
led me to the realization that "check_desktop_clean" is itself a
dumb name, because we don't (at least, any more, way back in the
mists of time we may have done) do anything to check that the
desktop is "clean" - we're really just asserting that we're at a
desktop *at all*. While thinking *that* through, I *also* realized
that the whole "open the overview and look for the app grid icon"
workaround it did is no longer necessary, because GNOME doesn't
use a translucent top bar any more. That went away in GNOME 3.32,
which is in Fedora 30, our oldest supported release.

So I threw that away, renamed the function "check_desktop",
cleaned up all the needle naming and tagging, and also added an
app menu needle for GNOME in Japanese because we were missing
one (the Japanese tests have been using the "app grid icon"
workaround the whole time).
2020-04-17 17:27:04 -07:00