Commit graph

843 commits

Author SHA1 Message Date
Adam Williamson
f475156eff Fix cockpit version check
There's a 244.1. D'oh.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-05-27 08:56:58 -07:00
Adam Williamson
f38dc4cfe1 realmd_join_cockpit: only hit tab twice for Cockpit 245+
Since 232, there's been a bug where we need to hit tab three
times to get into the first field in the "Join domain" dialog.
In 245, it's down to two times, for some reason. So, handle
that.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-05-26 17:46:04 -07:00
Adam Williamson
c8004201ae Update check_install_source checks for anaconda changes
Since f33b50e, anaconda doesn't log "enabled repo:" any more. To
ensure the repo actually is enabled we need to check some other
lines. Good news is, we don't need the 'anaconda'|'' dodge any
more, so we can drop that.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-05-25 18:04:06 -07:00
Adam Williamson
4a11af9958 Revert "Wait a bit longer from software selection back to main hub"
This reverts commit 90cc65b2fa.
There does not seem to be such a long delay any more, so let's
drop the time.
2021-05-25 15:10:06 -07:00
Adam Williamson
f5377ad1d2 Tweak _vnc_client_connect to click things better
vinagre likes to make things move around and pop up in awkward
ways...

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-05-07 09:47:35 -07:00
Adam Williamson
35660bb4ed Use Vinagre instead of Boxes as VNC client, prepare Connections
Boxes dropped VNC functionality. It's supposed to be replaced by
Connections, but we can't use that until it has fullscreen:
https://gitlab.gnome.org/GNOME/connections/-/issues/5
so use Vinagre for now. We do also prepare some needles for
Connections in anticipation of being able to use it later (since
I already did the work and don't want to waste it...)

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-05-06 16:28:49 -07:00
Adam Williamson
a4867ebe76 desktop_login: use esc not alt-f4 to dismiss menu on KDE
alt-f4 makes sense for an app (Terminal on GNOME) but not really
for closing the system menu (KDE). It seems like it worked till
a day or two back then broke, but I think just using Esc instead
rather than filing a bug is the best plan, I'm not sure I'd
*expect* alt-f4 to work for this.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-05-06 09:52:13 -07:00
Adam Williamson
c9609cf26d Drop bypass_1691487 function and usage (bug seems fixed)
Per https://bugzilla.redhat.com/show_bug.cgi?id=1691487#c14 it
seems like the bug here got fixed along the way and we probably
don't need this any more.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-05-06 09:02:52 -07:00
Adam Williamson
4691928c2f Enhance _software_selection environment check for anaconda change
anaconda changed how this log line looks (again); update the
check to handle old and new styles for now.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-05-06 09:00:28 -07:00
Tomas Popela
055662fe36 Mark qt as unwanted package 2021-05-04 15:34:14 +00:00
Adam Williamson
93628ed230 Tweak desktop_login test for GNOME after wrong password entry
It doesn't seem to return to the top level automatically any more,
though the message goes away after a short time, still.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-05-03 15:54:41 -07:00
Adam Williamson
2b02253ecb Fix modularity test to use Rawhide repo on Rawhide
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-05-03 13:55:43 -07:00
Lukáš Růžička
114610bf90 Rewrite Modularity tests to use Perl only.
The Modularity tests rely on an external script to test the modular
behaviour of DNF. There is a potentional risk that the connection
is be down and the script cannot be downloaded.

This enhancement uses a regular OpenQA perl test case script to only
invoke DNF commands and parse their output to test the same behaviour
that we have been testing already.

This enhancement picks a random module for each of the operations,
and thus tries to mimick reality a little bit more.
2021-05-03 19:13:09 +00:00
Adam Williamson
6c5507b174 Add an 'unwanted packages' test, run on Workstation for now (#218)
This adds a test that just fails if any one of a given list of
unwanted packages is installed. This was a request for the
Workstation edition from @catanzaro so I've just implemented it
for Workstation so far, but it's designed to be easily extended
to cover other subvariants too if we want.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-05-03 08:59:46 -07:00
Lukáš Růžička
477d918b64 Add testcase to test the Package_install_remove testcase. 2021-05-01 00:11:43 +02:00
Adam Williamson
b4f3e6ea5a Move install_blivet_resize_lvm, fix install_resize_lvm (#201)
This is the same thing we did for install_resize_lvm, to address
issue #201. We just didn't get around to doing it for the blivet
test yet. We also change the HDDSIZEGB for the parent test to
15GB so the resizing stuff actually works in both resize tests;
ever since we changed this the install_resize_lvm test has not
been working properly, it hasn't actually been doing any resize.
Also drop the swap partition stuff from that test as it's for
sure no longer needed.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-04-30 11:10:21 -07:00
Adam Williamson
c76f4a525a Revert aarch64 plymouth install workaround
We put it back in comps, so this should now be unnecessary.
2021-04-14 11:50:44 -07:00
Adam Williamson
108fb457c6 Try to stabilize Zezere remote test with a wait_still_screen
Saw a failure where Firefox UI had not fully loaded yet so the
click area changed.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-04-08 12:28:17 -07:00
Adam Williamson
c7173ef0e2 Tweak KDE update notification handling again
On current F34 we get no permanent update notification in the
notifications view, we only get a *transient* one plus the
systray icon. This tweaks things so on F34 we check both of
those things correctly, behaviour on <F34 should be unchanged.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-04-02 17:23:53 -07:00
Adam Williamson
b9df4c4671 More fiddling with this goddamn KDE logic loop
Man, this thing can get into a lot of states. Apparently somehow
it can go straight from refresh to reboot?

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-03-30 12:50:32 -07:00
Adam Williamson
16ded56935 Add KDE package refresh needle, tweak retry logic a bit
KDE update was still often failing on #1943943, so this tries a
bit harder to work around it. We add a 'refresh' needle for KDE,
and tweak the 'retry' logic to click it if we get to that point.
Note adding the needle also changes behaviour slightly - we may
click this needle if we see it on first entering the screen. So
either change may be helping. Either way, this does make the test
more reliable.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-03-30 12:27:34 -07:00
Adam Williamson
075d479b58 Note the bug number for the Plasma Discover problem
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-03-28 09:51:43 -07:00
Adam Williamson
e25ffe2f05 Try to handle KDE 'apply updates' button not always working
Sometimes we click the button, it cycles briefly, and...just
comes back. To avoid unpredictable failures on update tests that
have nothing to do with the update, let's try and handle this by
just clicking it till it works.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-03-28 08:56:27 -07:00
Adam Williamson
1fc2edfda4 Fix desktop update test for KDE in F34+
We now have to run Plasma Discover, not use the systray thing.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-03-27 23:44:12 -07:00
Adam Williamson
a01d8b6148 GNOME: Document Scanner no longer in utilities either
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-03-24 17:31:03 -07:00
Adam Williamson
1a16a5a379 System Monitor not in utilities any more, either
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-03-24 17:19:20 -07:00
Adam Williamson
c4f60ab274 GNOME apps: Calculator and Help aren't in utilities any more
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-03-24 16:03:33 -07:00
Adam Williamson
2c3241dc75 Don't do the plymouth workaround for ostree deployments
...because we don't have RPM there, Jim.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-03-23 16:45:05 -07:00
Adam Williamson
a6ea09e4d5 Install plymouth in aarch64 encrypted test (workaround #1940163)
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-03-17 17:36:34 -07:00
Adam Williamson
dfafdc22dd Wait for screen to settle during disk_custom_with_swap
Seems we can get the UI into a buggy state if we click the + too
fast here on aarch64.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-03-17 12:15:44 -07:00
Adam Williamson
d414ae3994 desktop_login: don't assert wrong password message on F34+
In GDM 40 the message is displayed only briefly, like in SDDM,
so we can't assert it. Only do it for <F34.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-03-10 17:00:01 -08:00
Adam Williamson
37dba6adc4 Hit 'esc' rather than 'ret' to clear SDDM screensaver state
OK, extending the timeout didn't work. Try this instead. The
problem is when GNOME takes a long time to log out we wrongly
decide we're in the "DM is showing a 'screensaver' state" case
and hit 'ret' to clear it. In GDM that selects the highlighted
user. Maybe if we use 'esc', it'll still work in SDDM to clear
the screensaver state, but not select the first user in the list
in GDM...

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-03-10 16:14:43 -08:00
Adam Williamson
ff585d8147 Wait longer for still screen when logging out in desktop_login
This is a bandaid for GNOME taking a long time to log out right
now. I would prefer to make login_user more robust, but that's a
bit more complicated as it's used for both unlock and login.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-03-10 15:48:25 -08:00
Adam Williamson
e705d0829a Use --isolation=simple for all mock commands in _live_build
I think this will help avoid the DNS resolution problems.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-03-09 16:02:06 -08:00
Adam Williamson
ac9edb4cfb GNOME apps: drop Archiver test
The app was dropped from Workstation's default package set a few
days ago. See:
https://pagure.io/fedora-workstation/issue/167

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-03-05 18:25:29 -08:00
Adam Williamson
72369df2fc Set several extra schema keys for update notification test
GNOME got even more clever-clever about only checking for and
notifying about updates after a certain amount of time, so we
need to fake it out even harder. See
https://bugzilla.redhat.com/show_bug.cgi?id=1930401 and
https://wiki.gnome.org/Design/Apps/Software/Updates#Tentative_Design
Note the test will still fail for now as there is an actual bug
that needs fixing, but once the fix is in, this should work.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-03-05 17:56:56 -08:00
Adam Williamson
3b0dc6b021 kgpg: don't try and close tip of the day any more
Main UI appears over the tip of the day now, so we can ignore it
and just check the UI ran then close it.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-03-05 17:49:28 -08:00
Adam Williamson
3c92696d98 Convert ksysguard test to Plasma system monitor test
These were switched out in comps recently.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-03-05 17:20:59 -08:00
Adam Williamson
f6fa89f2cf Remove falkon, k3b, krusader, ktorrent from KDE app startstop
They have all been dropped from the spin recently. Remove all
related needles too.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-03-05 15:58:37 -08:00
Adam Williamson
1e5d767fa3 Handle GNOME 40 now starting at overview, not desktop
For consistency, let's just return to the desktop right away. We
also need to handle closing the overview before running installer
on live image boot.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-03-04 16:03:21 -08:00
Adam Williamson
4758782d56 KDE apps: replace Calligra with LibreOffice
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-03-04 08:58:55 -08:00
Adam Williamson
0401e44420 Revert "Handle print-to-PDF printing to a different directory on KDE now"
This was caused by a bug which has now been fixed.
2021-03-03 15:10:43 -08:00
Adam Williamson
b6a6c1d7dd Handle print-to-PDF printing to a different directory on KDE now
In F34+, print-to-PDF in KDE is printing to /home/test , not
/home/test/Desktop. Not sure why. But let's deal with it.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-02-26 15:20:27 -08:00
Adam Williamson
e1a6d2c22b Handle KDE defaulting to offline updates in F34+
We need to hit 'restart' after applying updates, and we also
need the 'done' needle *not* to match the restart message, so
change that to match on the text (unfortunately). That also
means we have to add another variant of the needle for F32 as
the background of the text is a different color there.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-02-25 16:10:20 -08:00
Adam Williamson
de36bd2d12 Tweak desktop update matching logic
This gives apply and download longer to show up (which is an
issue for KDE right now) while also not waiting 10 seconds if
they don't.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-02-25 14:33:17 -08:00
Adam Williamson
09a0f19e36 Try and split 'g-i-s done' and 'welcome tour done'
They're not always the same, and it's breaking things on aarch64.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-02-19 17:58:58 -08:00
Adam Williamson
784962c96e Fix btrfs_preserve_home for UEFI
When running this test on UEFI, we need to preserve /boot/efi.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-02-19 14:48:47 -08:00
Lukáš Růžička
866a8efa72 Add a new testcase to test creation of LVM with ext4 using Blivet.
This PR adds a test that uses the Blivet interface to create an LVM
layout with ext4 filesystem as well as a postinstall test that checks
that the LVM layout has been created correctly.
2021-02-19 13:42:20 -08:00
Lukáš Růžička
a868b1241a Create Blivet standard partitioning with ext4 testcase.
This PR introduces a test case that uses the Blivet partitioning
tool to create a standard partitioning layout with / and /boot
(and specific partitions for UEFI and ARM64) using ext4 as
the selected filesystem.

It also adds a postinstallation test to check that the partitions
have been created correctly.
2021-02-19 13:27:45 -08:00
Adam Williamson
7ad6628d84 Add a wait_still_screen to the cockpit update changes
Otherwise matching could run ahead of the actual level change.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-02-19 11:05:43 -08:00
Adam Williamson
1cd0529785 cockpit: set log priority to 'info' before looking for entry
We finally saw a test where there were *no* errors logged by the
time Cockpit reached the log screen, so there were no entries to
click. Let's just make the test set log level to info before
looking for entries - I prefer this to 'click entry if found,
otherwise change log level' as that's twice as many branches to
look after. Of course, it means the warning triangle entry needle
is useless now :(

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-02-19 10:24:50 -08:00
Adam Williamson
43ee54c303 Er, it's last not break in perl. D'oh.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-02-18 14:33:32 -08:00
Adam Williamson
9226ccabe3 cockpit_updates: break out of loop if we see success
Behaviour changed a bit in Cockpit 238, we may now just hit
success during this loop, so handle that. Also use 'break' for
the other two cases, not a big run counter bump.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-02-18 14:32:35 -08:00
Adam Williamson
da1f703439 Fix schema stuff in previous commit to work properly
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-02-18 14:16:14 -08:00
Adam Williamson
b0ce5cc2cd Suppress Welcome Tour for new users in desktop_login
We get Welcome Tour now, not gnome-initial-setup new user mode,
and it doesn't respect the dotfile g-i-s respected.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-02-18 12:15:06 -08:00
Adam Williamson
81d6db802f ...yup, I durn goofed. Share properly, kids!
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-02-18 09:56:34 -08:00
Adam Williamson
4489a6cb3f Rejig GNOME welcome screen/g-i-s handling for GNOME 40
In GNOME 40, the new-user mode of g-i-s is gone and we get the
welcome tour where we would previously have seen that. This
should handle that, I hope. I probably messed up somewhere.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-02-18 09:54:06 -08:00
Adam Williamson
436e9cfdf2 Update GNOME 'getting started' needle and dismissal key
The new one isn't an app, so alt-f4 doesn't work. Esc does.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-02-18 09:38:52 -08:00
Adam Williamson
d0f99cfd51 Add missing brace
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-02-12 13:43:44 -08:00
Adam Williamson
4243932d09 Adjust desktop_login and needles for KDE power option changes
KDE in F34+ is now placing sleep, restart and shutdown buttons
right on the system menu, not in a submenu. So we need to sort of
tweak this logic. The approach here is: we count the GNOME
submenu as both a "power" and "leave" menu, so the needle to
enter it has both tags. KDE still has a "leave" submenu, but the
power options are not in a submenu any more, so the new "leave"
needle only has the leave tag, not the power tag. For "leave"
actions we just unconditionally expect the "leave" tag; for
power actions we first match on *either* the submenu tag (for
GNOME and earlier KDE) *or* the action tag, click whatever we
found, and then if we matched the submenu (not the action), we
assert and click the action. After that all paths should be in
sync again and we can continue.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-02-12 13:34:04 -08:00
Adam Williamson
7a7ff1757e Always use rootfs size of 3GiB in installer build test
This is how our Pungi config has been set up since F32, so we
should match it here to be accurate.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-02-09 11:19:43 -08:00
Lukáš Růžička
ecca7d3c01 Create testcase to recreate Btrfs layout using Blivet and preserve home.
This PR uses the Anaconda Blivet partitioning to recreate a partition
layout while preserving the content of the /home subvolume.

It also adds the postinstall test to check that the home has been
preserved.
2021-01-28 09:51:32 +01:00
Adam Williamson
78af6bfb05 Install dbus-glib when setting up Firefox at console
Seems to be needed since 85.0-2. See discussion at
https://bodhi.fedoraproject.org/updates/FEDORA-2021-1d4180de72 .

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-01-26 18:19:48 -08:00
Lukáš Růžička
ba90c70c8a Add several tests to test QA:Testcase_partitioning_custom_btrfs_preserve_home.
This PR adds the `install_btrfs_upload` to install the btrfs based
image, the `btrfs_preserve_home_extras` to prepare and test the data
on the home partition, as well as the `custom_btrfs_preserve_home` that
uses the preinstalled btrfs image and uses its current partitioning to
preserve the home partition and the data on it.
2021-01-20 16:50:39 +00:00
Adam Williamson
7631dd3c4d Update root-user-crypted-net kickstart usages
Use the copy in the group dir (not jskladan's), which I've fixed
to not use "install" any more.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-01-19 15:03:48 -08:00
Michel Normand
e9c15a502a ppc64le changes in disk_custom_blivet_resize_lvm.pm
Required because ppc64le has a PReP partition
before boot partition.
PReP partition must not be changed by this script.

Signed-off-by: Michel Normand <normand@linux.vnet.ibm.com>
2021-01-12 11:14:17 +01:00
Adam Williamson
5652b62484 Wait a bit longer for desktop_package_tool_update_apply
In current KDE we get it on start of the tool, but only after a
few more seconds...

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-12-30 10:46:16 -08:00
Adam Williamson
8cca936926 Put desktop_terminal back the way it was
OK, looked into it some more and ultimately we had problems here
because of https://bugzilla.redhat.com/show_bug.cgi?id=1908791
in fact. The password prompt was taking far longer than usual to
appear because pam_fprintd was failing because of that bug. That
should be fixed with next Firefox build, so I think it's best to
just leave this as it was, because in the usual course of events
it works fine and it saves having another needle to maintain.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-12-21 10:00:20 -08:00
Adam Williamson
068879a04a Check password_required needle in desktop_terminal
...nope, wait_screen_change wasn't enough. Let's just assert the
needle. Not sure if the existing one will work, if not we'll add
one.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-12-21 09:51:02 -08:00
Adam Williamson
e7853a56a8 Wait for screen change in desktop_terminal before typing pw
Sigh I hate this test. We seem to be typing root pw before the
terminal is ready for us:
https://openqa.fedoraproject.org/tests/745007#step/desktop_terminal/3
Let's try this. Hopefully it'll wait for the Password: prompt
before typing, without us having to actually add a needle...

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-12-21 09:27:39 -08:00
Adam Williamson
940848b628 Use 'test.openqa.fedoraproject.org' not 'domain.local'
Using .local is apparently Bad Form because it's reserved for
mDNS. However there doesn't appear to be any particularly Good
Form for what to call a test domain you never want to exist
outside of a closed system, apparently. Sigh. Let's try this.
Includes a bump to disk_ks version because the kickstarts on
that image also need to have this change applied.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-12-15 14:40:30 -08:00
Adam Williamson
0de57180ee Update cockpit needles and autoupdate test for 234
Auto-update time is shown as '6:00' not '06:00' now, so trim the
needle to match both.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-12-15 11:20:43 -08:00
Adam Williamson
d7e4f40a94 Give module test a bit longer to run
It's timing out on aarch64.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-12-04 16:19:36 -08:00
Adam Williamson
9d9a0352fb Extend ext4_postinstall conditional for UEFI
We have an extra boot partition on UEFI as well.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-12-04 14:59:03 -08:00
Adam Williamson
c6f1a03a92 Bump some wait_still_screen in custom_resize_lvm for aarch64
This is failing on aarch64 because it's not refreshing fast
enough.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-12-04 14:57:04 -08:00
Adam Williamson
dd9b9a8c5f Allow lm_sensors service to fail on aarch64
This is another known "fails due to no hardware" case:
https://bugzilla.redhat.com/show_bug.cgi?id=1894654
those are explicitly excluded from the release criterion, so a
soft failure is appropriate.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-12-04 14:46:54 -08:00
Adam Williamson
49a83b26a7 desktop_terminal: assert we actually see terminal app
...Apparently a wait_still_screen 5 isn't always enough on
aarch64:
https://openqa.stg.fedoraproject.org/tests/963387#step/desktop_terminal/2
so, this. Note that konsole_runs has apps_run_terminal tag, so
this won't break the test on KDE.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-12-04 11:55:36 -08:00
Adam Williamson
16313bd80e desktop_login: just reboot from console after user creation
We don't *need* to log out from the desktop and reboot from the
DM here, that's not part of the test (we test those features
later using jim and jack). Now we don't black out the background
of test's session in KDE, the logout needle doesn't match, so
instead of redoing that needle all the time or re-adding the
solidify_wallpaper call just to make one needle match reliable,
let's just reboot from the console.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-12-04 11:55:36 -08:00
Adam Williamson
8106286a43 desktop_login: don't use solidify_wallpaper, use a hack instead
solidify_wallpaper only does the current session, and does it in
a kind of painful way on each desktop. For apps_startstop this
is kinda okay, but for desktop_login it's slow and error-prone
to do this three times, every time. Let's replace it with a hack
that just replaces the actual wallpaper files with a solid black
PNG file. This only takes effect after a logout, but it should
affect all logins on all desktops once it's done. So long as
the base backgrounds package doesn't change layout too much.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-12-04 11:55:36 -08:00
Adam Williamson
fc0698ca1c desktop_login: tweak password typing so we wait after enter
This makes it so the `wait_still_screen` that comes at the end
of `type_very_safely` happens *after we hit enter*, not after
we type the password but before we hit enter. I'm hoping this
makes the 'set new password at login' more robust on aarch64, it
seems to be failing often.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-12-04 11:55:36 -08:00
Adam Williamson
24c46489a2 desktop_login: use chpasswd not passwd to set user password
This allows us to use assert_script_run, and be more reliable.
Same approach used in _do_install_and_reboot postinstall stuff.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-12-04 11:55:36 -08:00
Adam Williamson
9392c66b45 Try hitting enter a few times at GNOME login screen if necessary
Another aarch64 robustness fix...sometimes hitting enter at GDM
just doesn't seem to work, let's give it three tries if needed.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-12-04 11:55:36 -08:00
Adam Williamson
3d8852cb60 desktop_notifications: wait longer at login screen
This matches the wait in boot_to_login_screen. The needle can
match before the UI is really done loading, and if we don't wait
long enough we wind up hitting enter before GDM is really ready
for us. This seems to be affecting the test on aarch64 quite
badly.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-12-04 11:55:36 -08:00
Adam Williamson
cb001da6e6 desktop_login: do console stuff at a VT, not a desktop terminal
Typing into a desktop terminal is a lot less reliable than typing
into a VT. We're seeing failures here quite often on aarch64, so
let's try doing this stuff in a VT instead.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-12-04 11:55:36 -08:00
Adam Williamson
a30c01ea9a desktop_browser: wait out animations a bit longer when launching
Hoping this helps aarch64 be more reliable.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-12-04 11:55:36 -08:00
Adam Williamson
a5c0f7ffbb Enable several desktop tests on Workstation aarch64 disk image
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-12-04 11:55:33 -08:00
Adam Williamson
4c27140794 Actually bump podman build timeout
I tried to bump it before, but set it to 90, which is the default.
Sigh. So this is an actual bump. It looks like until 20201124 this
took about 80 seconds, now it's taking like 93.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-12-04 10:02:43 -08:00
Adam Williamson
089638bb7a Merge #209 Change the way the mountpoint textfield is reached. 2020-12-03 16:33:49 +00:00
Michel Normand
81654736ae Avoid ppc64le failure for new ext4 install test
Changes because ppc64le install has PReP partition.

Signed-off-by: Michel Normand <normand@linux.vnet.ibm.com>
2020-12-03 15:00:43 +01:00
Michel Normand
cc9be973cf Use $serialdev in desktop_terminal.pm not ttyS0
$serialdev is set in os-autoinst/testapi.pm

required at least for ppc64le.

Signed-off-by: Michel Normand <normand@linux.vnet.ibm.com>
2020-12-03 13:07:25 +01:00
Lukáš Růžička
86c2bf6650 Change the way the mountpoint textfield is reached.
The review for `btrfs_preserve_home` test case has revealed,
that the way how to reach the mountpoint textfield in the Anaconda
partitioning differs between various tests. This PR makes it the
easiest way possible, as is defined by `custom_with_swap` test
case mentioned in the review.
2020-12-03 12:18:50 +01:00
Adam Williamson
7bdaec0f8d Check both anaconda.log and packaging.log for software selection
It seems the message got moved to anaconda.log in Rawhide. I
think it should be fine to just check both.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-11-28 17:05:56 -08:00
Lukáš Růžička
6b0de3aec3 Add an installation test using Standard partitioning with ext4.
This PR add the installation test which uses Standard partitioning
with an ext4 filesystem to cover one of the new requirements as
described in issue #202.

Fixed after a review
2020-11-27 11:48:31 +01:00
Adam Williamson
ab4468310e Extend cockpit #14895 workaround to all post-231 releases
It still seems to be broken in 233 and 233.1; I limited the
workaround to 232 at first as Cockpit are usually good at fixing
things very fast, but as this one has sat for a while, let's
leave it worked-around until we know it's fixed.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-11-26 17:10:37 -08:00
Lukáš Růžička
5718c7f1d4 Add an installation test using LVM partitioning as asset for resize tests.
When Fedora went to BTRFS as a default, we lost the LVM based image to
run LVM resize tests with.

This PR introduces the `install_lvm.pm` installation test that creates
an LVM based qcow2 image to be used by follow-up tests.
2020-11-26 09:55:19 +01:00
Adam Williamson
a706fe5249 podman: give image build a bit longer to run
Seems it's timing out in current Rawhide, but actually working.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-11-24 16:08:17 -08:00
Adam Williamson
3850a088bc Add mouse click to install-wait loop on VNC clients
I noticed a pattern lately of VNC tests failing on Rawhide when
we have a debug kernel (but passing with a regular kernel). On
closer investigation I think there's simply a screen blank
happening if the install process takes more than five minutes,
and that's more likely with a debug kernel. This extends the
loop we use to move the mouse every so often while waiting for
the install to complete (which is meant to defeat this sort of
thing) to also click the mouse, when we're a VNC client test. In
a quick check this seemed to help.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-11-18 15:36:12 -08:00
Adam Williamson
649fcc51f1 Cockpit 232 fixes
Update a needle with slightly different text rendering, and add
a workaround to hit tab three times rather than once on entering
the "Join a domain" screen, see
https://github.com/cockpit-project/cockpit/issues/14895 .

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-11-11 12:55:42 -08:00
Adam Williamson
fa42229275 FreeIPA: re-enable dnssec
The weird bug turned out to be caused by an internal DNS zone
in the new infra not being signed:
https://pagure.io/fedora-infrastructure/issue/9411
This is now resolved, so we can drop the workaround.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-11-09 16:54:21 -08:00
Michel Normand
86b354ad63 Revert 2 commits brc#1817004 for ppc64le Silverblue to boot
Revert "Regenerate grub.cfg for ppc64le Silverblue to boot (step 2)"
This reverts commit d384cfed30.

Revert "Regenerate grub.cfg for ppc64le Silverblue to boot, brc#1817004"
This reverts commit 8d7be9a227.

Not required anymore for f33 (only for f32)
And  bad side effect for f33 (failure not analysed)

eg: https://openqa.stg.fedoraproject.org/tests/949783#step/_do_install_and_reboot/32

Keep correction to avoid warning in autoinst-log when ABRT var not defined.

Signed-off-by: Guy Menanteau <menantea@linux.vnet.ibm.com>
Signed-off-by: Michel Normand <normand@linux.vnet.ibm.com>
2020-11-05 11:49:50 +01:00
Adam Williamson
9eef80a85a base_services_start: convert mcelog exception to hcn-init
We've had this 'exception' for mcelog.service failing in here for
years. Looking into it, it seems to now be fixed:
https://bugzilla.redhat.com/show_bug.cgi?id=1526725
and hasn't happened in our official instances for years (I guess
because they're all Intel boxes). However, we have a similar case
on ppc64le with hcn-init.service failing spuriously:
https://bugzilla.redhat.com/show_bug.cgi?id=1894654
so I'm just converting it into a workaround for that instead. We
could wire this up to be more sophisticated, with some kind of
array or hash of services that are allowed to fail and more
complex checking code, but let's not bother unless/until it's
necessary.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-11-04 09:34:12 -08:00
Adam Williamson
92d52c6ac6 Split VNC client steps in two for aarch64 timing issue
So, there's a problem with how we figure out the NetworkManager
connection to use in setup_tap_static: it expects the first
connection in the list to be the right one, but this is only
actually true so long as it's *active*. When we're in the tap
case, it's usually not going to actually *work* out of the box
on boot (or else we wouldn't need setup_tap_static at all...),
so some time after boot, NetworkManager gives up on it and marks
it as inactive. And after that, setup_tap_static won't work any
more.

I never noticed this as a problem before because usually we do
setup_tap_static before that point. But it seems in the vnc
client tests, on aarch64, desktop boot and login is slow enough
that by the time we switch to a VT and try to setup the network,
we're very close to that cutoff, and sometimes miss it.

This, I hope, avoids the problem by doing the network setup in
that test before we deal with the desktop login, then doing the
desktop login, then doing the actual VNC bits.

The alternative here would be to figure out a better way to do
setup_tap_static, but I can't.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-10-30 12:39:52 -07:00
Adam Williamson
bcefdd8357 Wait a bit before typing password on GNOME login screen
Seems like this often fails when booting the desktop disk image
on aarch64 if we start typing right away.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-10-30 12:39:52 -07:00
Adam Williamson
5341957960 cockpit: wait longer for services screen to load
It seems like it can be *really* slow on aarch64, since 218:
https://github.com/cockpit-project/cockpit/issues/14840
this should give it a total of 180 seconds on aarch64 (90 second
still screen timeout plus 30 second assert_screen timeout, with
1.5x scale).

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-10-30 12:39:52 -07:00
Adam Williamson
c7a1b94c84 Enable aarch64 disk image testing, related fixes
This sets us up to test the release-blocking aarch64 disk images
(Minimal, Server and Workstation). It also allows for testing
armhfp disk images on aarch64 worker hosts (though my testing of
that isn't going too well so far), and fixes the initial-setup
handling for a change upstream ('use password' is now the default
so we don't need to choose it). We rewire disk image deployment
test loading to work through the generic loader code rather than
using ENTRYPOINT, as it allows us to more gracefully handle
graphical (Workstation) vs. console (Server, Minimal), moving
the code for handling console initial-setup to a helper function
just like the code for gnome-initial-setup and having _console_
wait_login call it when appropriate. We also tweak desktop_vt a
bit because now we need to switch from a console running as test
to a desktop, which breaks the assumption that the highest
numbered session of user test is the desktop...

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-10-30 12:39:49 -07:00
Adam Williamson
b57b306d4b _iot_zezere_remote: be careful when quitting firefox
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-10-28 13:52:07 -07:00
Adam Williamson
505c556c67 support_server: disable systemd-resolved
We're setting up our own (dnsmasq) name server, we can't have
resolved running.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-10-28 09:07:46 -07:00
Adam Williamson
a9704de4bd FreeIPA: disable dnssec validation till weird bug is fixed
I noticed today that if we deploy FreeIPA with dnssec validation
enabled, dnf can't resolve dl.fedoraproject.org afterwards, which
is a problem because it means we wind up falling through to
random mirrors for metadata and package download once the server
is deployed, which can be slow and give old packages. This seems
to be why the server upgrade test on F33 is sometimes failing
because we get an older FreeIPA package on upgrade, even though
the newer one has been stable for a week.

It's difficult to pin down exactly where this bug is and fix it,
I've mailed some folks to try and work it out, but until that's
figured out, let's just disable dnssec validation.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-10-23 11:38:01 -07:00
Adam Williamson
0d8ceec820 Try to make desktop_browser more robust
We've been getting failures lately on the first page load, I
think because Firefox is getting even more grindy on startup. So
turn the 'sleep' into a 'wait_still_screen', extend another wait,
and tweak the 'browser' needle so it only matches after the
bookmark bar has loaded rather than as soon as half the chrome
appears. Also make all the wait_still_screens use similarity 45
for consistency (flashing cursor could be there on any of them).

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-10-23 09:48:09 -07:00
Adam Williamson
bd7d3cd663 Fix desktop_terminal command check (thanks defolos)
This check wasn't working, the test passed whatever wait_serial
found. This version suggested by defolos works, I checked.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-10-15 16:25:26 -07:00
Adam Williamson
1c33d07d38 Drop workaround_ble26, bug was fixed months ago
https://pagure.io/background-logo-extension/issue/26 was fixed
months back, we don't need this any more.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-10-15 15:36:04 -07:00
Adam Williamson
a008ffb8be Simplify desktop notification checks (#195)
This is the best option I can come up with to deal with #195.
Update notifications seem to have become transient in KDE lately
(even in F31 and F32, if I'm looking at these screenshots right).
This actually simplifies things a lot to do more or less the
same in the KDE and GNOME paths: open the 'permanent' store of
notifications (in GNOME you get to it by clicking on the clock,
in KDE via the systray) and then look for no notifications (live
path) or only an update notification (post-install path). We
only run this test for composes so we shouldn't need to worry
about anything older than F32, and I believe this should work
for KDE in F32 and F33. I left out click_unwanted_notifications
for now as I'm hoping it should be unnecessary, but we can add
it back in if necessary.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-10-14 23:30:00 -07:00
Adam Williamson
94b47afc53 Tweak setup_tap_static and FreeIPA tests for resolved
This does some of the things suggested by cheimes in
https://bugzilla.redhat.com/show_bug.cgi?id=1880628#c24 . It
seems to make the replica tests work with resolved, still work
with pre-F33 resolving, and not break anything. Also remove the
workaround to disable resolved if it's running, as we can now
work with it.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-10-09 16:54:46 -07:00
Adam Williamson
40974c2f94 Simplify Krusader app test
We don't need a separate 'welcome' needle because it just matches
on an OK button anyway. So turn that needle into an OK needle
(we don't have any existing 'blue OK button' needle) and simplify
the logic to a single loop for kde_ok and krusader_settings_close.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-10-08 14:47:46 -07:00
Adam Williamson
200cab3899 disk_custom_resize_lvm: add some waits
On ppc64le it looks like this test is often failing because it
takes a second or two to update the partition list after we
click update settings, but we're not waiting for that, so we
wind up clicking in the wrong place because we match the next
partition needle before the list is refreshed but click after
it's refreshed. Let's hope these waits solve it.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-10-07 14:52:49 -07:00
Adam Williamson
fdf142dbd5 Disable systemd-resolved before deploying FreeIPA server/replica
Having systemd-resolved in use seems to cause problems for
FreeIPA servers:
https://bugzilla.redhat.com/show_bug.cgi?id=1880628
until the scripts are enhanced to do this or something, let's
disable it before server/replica deployment.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-09-18 13:49:11 -07:00
Adam Williamson
aab6935707 FreeIPA replica: don't re-do setup_tap_static after deployment
ipa-replica-install already changes the DNS config to use the
local bind instance, we don't need to do this and it's actually
wrong (as it bypasses the local BIND we should use and uses
the VM host's DNS servers instead).

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-09-18 13:43:28 -07:00
Adam Williamson
c2e7ddba45 Fix DNS config in realmd_join_sssd and realmd_join_cockpit
Seems what they had before worked until systemd-resolved became
the default; now we need to make sure we do nmcli mod and then
bring the connection down and up, as we do in tapnet.pm. Writing
to resolv.conf is kinda "wrong" for resolved but I don't think
it really breaks anything so I think I'll just leave those bits
in until F32 goes EOL just in case they're still somehow needed
on F31 or F32.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-09-17 16:01:15 -07:00
Adam Williamson
314f8f84eb Another attempt to improve robustness of desktop_browser
https://openqa.fedoraproject.org/tests/667693#step/desktop_browser/8
shows us matching on Save File when the window is in kind of a
borked state; we'd probably wind up clicking on Open with,
because by the time we click the content of the window will have
moved to where it's actually supposed to be...so let's try this
to slow it down a bit.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-09-16 11:55:31 -07:00
Adam Williamson
ed5c06baa8 Upload pylorax.log when done building installer image
Handy to have it around to check for oddities.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-09-15 14:54:44 -07:00
Adam Williamson
a5d37e4c67 Need to bind mount the workarounds repo too
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-09-15 14:44:34 -07:00
Adam Williamson
e4d89b6d6b Tweak how we add repos to mock config a bit
Not sure if the other way was valid.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-09-15 14:25:05 -07:00
Adam Williamson
3dd33e3ef1 Use workarounds repo for installer and live build tests
Need this to pull in the kernel fix that's breaking install tests
at the moment.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-09-15 14:21:07 -07:00
Adam Williamson
9824f20566 Slow down desktop_browser a bit to try and make it more reliable
Getting some odd failures where the downloaded file doesn't show
up in the right place which I think might be due to over rapid
clicking here. Try and slow it down a bit.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-09-11 16:18:15 -07:00
Adam Williamson
e99a3fbdf9 os_release: adjust for Fedora CoreOS
...which just has to be another special flower.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-09-02 16:22:20 -07:00
Adam Williamson
478b7eff9e Add initial CoreOS product and test templates
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-09-02 14:49:29 -07:00
Adam Williamson
170ef0733a Use nmcli for static network stuff, not ifcfg files
This should work even if the ifcfg plugin is not present (hi,
CoreOS) or 'predictable' (har) network names are on.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-09-02 14:49:29 -07:00
Adam Williamson
52d52c7062 Add a bit of clean up before second run of postgresql-setup
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-09-01 15:46:10 -07:00
Adam Williamson
a3806af8ee Workaround RHBZ #1872511 by installing langpack
There's a complex bug in current Rawhide affecting the database
server test; it boils down to "deployment fails because LANG is
set to a locale for which the corresponding langpack is not
installed". As we know broadly what's going on there now, let's
work around it with a soft failure so we catch any later bugs in
the process.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-09-01 15:22:19 -07:00
Adam Williamson
387b09a53a Fix previous zezere change (use single quotes)
Stupid @.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-08-21 16:03:14 -07:00
Adam Williamson
30ab26fbe6 Tweak _iot_zezere_remote to keep retrying ssh for up to 10 mins
The time before the ssh key provision request goes through turns
out to be kinda unpredictable, so instead of just a hardcoded
wait then assuming it should succeed, let's do a loop-y retry
thing instead.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-08-21 15:02:01 -07:00
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
Adam Williamson
252013fe3a Tweak desktop_notifications to work around #1821499 (again)
...this one should really work!

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-04-14 12:10:02 -07:00
Adam Williamson
0189b338d0 Drop all #1821499 workaround attempts
This stuff is kinda broken in various ways and halfline thinks
he can fix the underlying bug anyway. So let's go back to just
the GNOME live test being broken for now.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-04-07 15:14:57 -07:00
Adam Williamson
1c3106ebe3 OK, try setting GDM to debug mode instead?
I tested this workaround on staging before pushing it to git and
it worked, but then when I pushed it to prod it didn't work. On
stg I also had this to set GDM to debugging mode, so maybe this
is also needed for the workaround to work for some reason?

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-04-06 17:30:03 -07:00
Adam Williamson
b811d93c4c Try a sleep before hitting enter on GDM screen
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-04-06 17:19:06 -07:00
Adam Williamson
d8c7f85ecb Workaround RHBZ#1821499 in desktop live notifications test
A GNOME bug seems to result in us getting to GDM, not a liveuser
desktop, after running 'systemctl isolate graphical.target' from
a live boot to runlevel 3 since the end of March. This works
around that to let the test run, as it's not really a failure of
the test per se.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-04-06 17:05:11 -07:00
Michel Normand
cc5c85a3e4 Increase timeout for getting_started ppc64le f32
Signed-off-by: Michel Normand <normand@linux.vnet.ibm.com>
2020-04-03 19:38:04 +02:00
Michel Normand
d384cfed30 Regenerate grub.cfg for ppc64le Silverblue to boot (step 2)
Previous commit same summary had some side effect
solved by this new one.

And avoid a warning in autoinst-log when ABRT var not defined.

Signed-off-by: Michel Normand <normand@linux.vnet.ibm.com>
2020-04-02 20:50:06 +00:00
Lukáš Růžička
603ee871c1 Prevent the Konqueror test from running on F32 and later.
Rework changes after the review.
2020-04-02 14:08:19 +02:00
Adam Williamson
36181eea76 Fix 'actions' ordering after last commit
I merged the previous commit before realizing the ordering was
wrong. All other 'actions' lines have to come *before* the one
that adds 'reboot', because one of the conditions for that is
whether @actions is populated - basically, if we're taking any
actions, we also have to reboot afterwards. If we add an action
*after* that line (but no actions were added before that line),
we'll do it but then not reboot and the test will break.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-04-01 10:34:50 -07:00
Guy Menanteau
8d7be9a227 Regenerate grub.cfg for ppc64le Silverblue to boot, brc#1817004
Patch for https://bugzilla.redhat.com/show_bug.cgi?id=1817004

Signed-off-by: Guy Menanteau <menantea@linux.vnet.ibm.com>
2020-04-01 09:57:23 +02:00
Lukáš Růžička
29f9da9331 Revert "Prevent the Konqueror test from running on F32 and later."
This reverts commit 00b756f0e2.

Unfortunately, I made a typo in the script and the fix did not
work. I do not want to rebase the master (in order not to break
things for everyone) so I am reverting again.
Sorry.
2020-03-31 13:04:50 +02:00
Lukáš Růžička
00b756f0e2 Prevent the Konqueror test from running on F32 and later. 2020-03-31 09:37:11 +02:00
Lukáš Růžička
a54f020118 Revert "Fix the Konqueror test - handle Locations dialogue."
This reverts commit d784bf54ca.

It turned out that Locations are not connected to Konqueror
at all. The reason why the test is failing is that the
application has been removed to limit the number of
web browsers.
2020-03-31 09:23:13 +02:00
Adam Williamson
a3796fb901 bump the server_cockpit_autoupdate timeout to help F30/F31
We seem to be seeing the bug this works around:
https://bugzilla.redhat.com/show_bug.cgi?id=1765685
in F30 and F31 update tests even with this wait. At least, it
looks that way. Trying this to see if a longer wait helps.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-03-27 14:37:54 -07:00
Lukáš Růžička
d784bf54ca Fix the Konqueror test - handle Locations dialogue. 2020-03-26 10:57:00 +01:00
Adam Williamson
37f597229a Boxes: drop RHBZ #1692972 workaround, fix for <F32
RHBZ #1692972 was fixed long ago, so we don't need to worry
about that any more. But this test failed on the recent F31 live
respin compose because it was changed to assume the tutorial
would appear on startup, which only happens on F32+. To make the
test work on F31 respins, let's handle both paths. Once F32 is
stable we can drop this as we won't run the test on F31 any more
after that.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-03-20 14:02:18 -07:00
Adam Williamson
66bd961765 Use quit_firefox in Cockpit update tests
Just doing ctrl-q breaks if we hit the 'close tabs' dialog,
which seems to happen occasionally.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-03-20 14:02:18 -07:00
Adam Williamson
cced8f5428 Tweak release_identification for awkward IoT 33 branch
IoT created a branch that's basically Rawhide but is versioned
33. This causes the release_identification tests to fail. I don't
think they'll change this on their end, so let's just have the
test cope with it and expect branches versioned as the Rawhide
release number to behave as Rawhide does here.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-03-18 11:45:27 -07:00
Adam Williamson
c884842439 Update expected Silverblue os-release strings
It seems to be actually installing fedora-release-silverblue now
so we get correct identification here. Update the tests.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-03-18 10:46:13 -07:00