Commit Graph

634 Commits

Author SHA1 Message Date
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