1
0
mirror of https://pagure.io/fedora-qa/os-autoinst-distri-fedora.git synced 2026-06-01 21:16:00 +00:00
Commit Graph

803 Commits

Author SHA1 Message Date
Lukáš Růžička
19ce5c75eb Fix the locking mechanism and add tests as requested
Improve Fedora Media Writer tests by validating written USB media
against the original ISO and by making the workflow work reliably
across classic and Silverblue variants.

The previous post-write verification relied on mounting the USB partitions
and checking for a handful of expected directory structures. This is replaced
with a stronger end-to-end check that verifies the embedded checksum on the
target device and then compares the raw device contents byte-for-byte
with the downloaded ISO, treating the expected cmp “EOF” condition as success.

To support Silverblue, where the required isomd5sum package is not installed
by default, a generic toolbox helper is introduced in utils.pm to create a toolbox,
install required packages inside it, and run the necessary command there.

The media writer test template is updated to explicitly model the USB target
as /dev/sda by enforcing a single-disk setup and adjusting that QEMU uses
a snapshot to create the device and thus not create a file lock on it to
prevent other tests from running.
2026-01-15 12:28:04 +01:00
Lukáš Růžička
c10f57437d Create test suite for Fedora Media Writer
This PR adds the test suite for Fedora Media Writer, which is
an application to download and copy the installation media files
to the a USB disk which can be then used for installation.
So far, we have been testing this application with manual testing,
this is an attempt to automate it. It tests the following:

* It chooses the Workstation media, downloads it, saves it locally
  and writes it to the USB disk. It also checks that the usual
  content exists on the USB disk.
* It opens the previously downloaded ISO and writes it to the USB disk.
  Then it check that the usual content exists on the USB disk.
* Removes the installation from the USB disk and restores it to its
  original state.
* This does not test any hotplugging mechanisms yet.

Fixes: https://pagure.io/fedora-qa/os-autoinst-distri-fedora/issue/450

Fix after review
2026-01-15 12:27:53 +01:00
Adam Williamson
9a97fdcaf1 Add the KDE update which fixes plasma-login as a workaround
It's going to go stable fairly soon, but I need to go out and I
don't want to wait to re-trigger all the other failed tests.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2026-01-12 16:40:49 -08:00
Adam Williamson
eae16e6751 Drop cockpit from F43 update workarounds
The update's been stable a couple of days.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2026-01-09 15:59:46 -08:00
Adam Williamson
ee09022063 gnome-initial-setup: drop a relnum < 42 conditional
F41 is now EOL.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2026-01-07 13:37:33 -08:00
Adam Williamson
7233550c23 Revert "blivet: workaround https://gitlab.gnome.org/GNOME/mutter/-/issues/4211"
This reverts commit 203deabe9c. The
bug was fixed upstream, so this should no longer be needed.
2026-01-07 13:37:33 -08:00
Adam Williamson
5f7aea1a0f Revert "disable gpgcheck on openh264 repo for rawhide"
This reverts commit 81e5837fda.
Pretty sure it's not been needed for months.
2026-01-07 13:37:33 -08:00
Adam Williamson
a2b813547e Add cockpit-354 for f42 and f43 to workarounds, re-enable services
Cockpit has worked around the Firefox bug with the Services page,
so let's add the fixed builds to workarounds and re-enable the
tests.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2026-01-07 13:34:06 -08:00
Adam Williamson
fa3e435b7d drop plasma-setup from workarounds, stable for a couple days
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2026-01-07 13:32:17 -08:00
Adam Williamson
c3bf96a934 Cockpit: drop sidebar scroll handling
It looks like we haven't need to do this for some time. The search
needle doesn't match current Cockpit at all, so we'd be getting
test failures if we needed to scroll the sidebar to see the
Updates link, but we aren't. This needle hasn't matched for 8
months.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2026-01-05 10:56:52 -08:00
Adam Williamson
43ed426909 cleanup-needles: allowlist install_lang_search_field
Also explain why, in cleanup-needles and also in the test code.
This is for the "gnome-initial-setup before anaconda" flow for
Workstation live. It was temporarily implemented, which is why
we have the code and the needles, but then disabled because the
changes weren't successfully upstreamed and we didn't want to
maintain them downstream any more. It's still *supposed* to come
back at some point, so let's keep the code and the needles for a
while at least.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2026-01-05 10:56:52 -08:00
Adam Williamson
e927ac48fa plasma-setup: handle new hostname screen
Let's not make this conditional, let's just add it, and add the
update that adds the screen as a workaround until it's stable and
in the next nightly.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2026-01-05 10:28:43 -08:00
Adam Williamson
dd231d18ee Adapt to KDE plasma-setup switch
KDE is switching to a Workstation-like model where the user and
root password screens in the installer are suppressed, and a
KDE-specific initial setup wizard runs on first boot. This adapts
to handle that.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2025-12-08 16:54:08 -08:00
Adam Williamson
a014eeea69 Tweak nmcli connection name discovery
This seems to be going wrong quite often in the remote desktop
client test - we're getting 'lo' and trying to do a static config
on the loopback interface, which clearly isn't going to work.
This should either fix it or at least give us some idea why it's
going wrong (maybe we don't have any ethernet connections?)

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2025-12-05 14:45:44 -08:00
Adam Williamson
0606685dfb Bump a magic wait in custom_blivet_add_partition
Looks like it wasn't long enough on aarch64:
https://openqa.fedoraproject.org/tests/4022475

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2025-12-01 17:03:44 -08:00
Adam Williamson
76a1104637 Use start_with_launcher for desktop_launch_terminal on GNOME
Lately quite a lot of tests are failing here on GNOME because we
don't type terminal properly (we wind up with 'trminal' or
'teminal' usually). At first I thought my os-autoinst typing
delay change might be causing this, but it actually seems to have
started before I deployed that, so no idea what's going on. Let's
click instead of typing, to avoid the problem.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2025-11-27 18:31:28 -08:00
Adam Williamson
93606be074 More missing ;, sigh
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2025-11-27 12:08:43 -08:00
Adam Williamson
2180324cce Whoops, missing ;
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2025-11-27 08:20:26 -08:00
Adam Williamson
e47e711b77 _repo_setup_updates: provide debugging hints for dnf failure
The failure message here isn't very helpful unless you know what
is going on and where to look for the errors. Let's improve it
so packagers have a better chance of understanding failures.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2025-11-27 08:19:02 -08:00
Adam Williamson
20a0e5ec67 Revert "Add my latest shadow-utils revert as a workaround for now"
This reverts commit c28427425a.
The update is stable now.
2025-11-25 14:38:41 -08:00
Adam Williamson
c28427425a Add my latest shadow-utils revert as a workaround for now
It's still going through gating tests but I want to be able to
start restarting other failures with the fix.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2025-11-25 13:54:34 -08:00
Adam Williamson
3bb03d3fe8 select_rescue_mode: wait a bit longer for bootloader
It can take quite a while to show up with UEFI firmware on aarch64.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2025-11-21 15:30:21 -08:00
Adam Williamson
ad8a1243df Use type_safely not type_very_safely for encryption passphrase
Thanks to @jlinton , who worked out that the repeated inputs on
aarch64 seem to be caused by the relatively lengthy delay on
key down that we get when typing very slowly. Typing a bit faster
is actually more reliable in this case. I'm working on an
os-autoinst tweak that would avoid the lengthy key holds when
typing very slowly, which would allow us to revert this.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2025-11-21 10:40:23 -08:00
Adam Williamson
b0bc6025de Enable remote_desktop tests more widely, robustify and refactor
No reason these should only be run on the x86_64 live. Also
refactor the remote_desktop_client test to share the code for
opening a connection in GNOME Connections with the RDP install
test. The shared code is a combination of the two which should be
more robust than the previous remote_desktop_client version, which
was relying far too much on timings working out. This caused it to
fail often on x86_64 as well as on aarch64.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2025-11-19 16:55:14 -08:00
Adam Williamson
84bd4ae19b Tweak loadkeys stuff again
Extending the wait to 3 seconds in the utils.pm function probably
wasn't necessary; the problem is we were reimplementing it in
_do_install_and_reboot but without the wait. Let's revert the
wait to 3 seconds and use the function.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2025-11-12 16:14:23 -08:00
Adam Williamson
7cbdf4efb1 Longer wait for console_loadkeys_us
Seems to be taking longer than 3 seconds on French installs in
Rawhide, e.g.
https://openqa.fedoraproject.org/tests/3947220#step/_do_install_and_reboot/22

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2025-11-10 14:41:19 -08:00
Adam Williamson
4415c3ff37 drop workarounds that have gone stable or been superseded
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2025-10-30 12:21:03 -07:00
Adam Williamson
ad74a52e0b tweak check_software_start to wait longer for ignore
10 seconds isn't enough, the aarch64 upgrade tests often fail
because they're still Refreshing Data after 10 seconds, then
the ignore button appears but we already quit looking for it.

Let's wait 150 seconds for *either* the ignore button *or* the
UI to appear, if the UI appears we're done instantly, if the
ignore button appears, click it and wait for the UI.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2025-10-30 12:16:16 -07:00
Lukáš Růžička
6154f0ccb8 Create tests for remote desktop connections.
This adds a test for remote connection. It consists of a server part
in which Gnome RDP connection is set up, enabled, and the server is run,
and the client part that uses Connections as a client to connect to the
server.
The test is considered successful when the connection is established
and the user has logged into the system.

Fixes: https://pagure.io/fedora-qa/os-autoinst-distri-fedora/issue/333
2025-10-16 17:33:57 -07:00
Adam Williamson
2911c7d32b Revert "Run updvercheck.py in toolbox on atomic (CANNED)"
This reverts commit 8a657904d0.
We already had a tweak in _ostree_build to put python3-rpm in the
ostree; the real problem is that had broken with changes to
workstation-ostree-config. The next commit solves it properly.
2025-10-15 09:31:08 -07:00
Adam Williamson
8a657904d0 Run updvercheck.py in toolbox on atomic (CANNED)
This started failing in install_default_update_ostree
_advisory_post because the ostree no longer has python3-rpm baked
in, by the looks of it. Moving the execution of updvercheck.py
into a toolbox container *should* fix it with no undesirable side
effects, I hope. It looks like /tmp should be shared between the
host and the container so the file location should be OK.

The use of `toolbox run --` as a wrapper instead of interactive
toolbox entry/exit was suggested by Gemini PR review:
https://github.com/AdamWill/os-autoinst-distri-fedora-ai-test/pull/26#discussion_r2431461670

Signed-off-by: Adam Williamson <awilliam@redhat.com>
Assisted-by: Google Gemini Code Assist
2025-10-15 00:58:18 -07:00
Adam Williamson
0b112a5b47 extend _graphical_input to also test non-switched keyboard layout
We are missing a check that the expected keyboard layout is used
at the desktop, for non-switched layouts (e.g. French). This is
actually broken for Workstation live installs at present, so we
really ought to be testing it. Along the way, let's clean up the
conditionals a bit, and let's do the actual input testing at a
console not the overview, since we want to do it on KDE as well
as GNOME now, and KDE's kicker menu is a pain to type in.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2025-10-10 18:05:49 -07:00
Adam Williamson
125f8f11e9 Add a French install test on Workstation and KDE live (with webUI)
Also add keyboard layout selection handling for webUI, natively
for the KDE live, via GNOME settings for Workstation live.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2025-10-10 18:05:45 -07:00
Adam Williamson
ff0428b837 Add a Japanese install test on Workstation live (with webUI)
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2025-10-10 17:46:08 -07:00
Adam Williamson
8ef714febf Add anaconda scratch with reboot fix as workaround for Rawhide
The bug causes a crash at boot on Silverblue installer, we need
the fix to stop all Rawhide Silverblue tests failing.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2025-10-09 12:32:49 -07:00
Adam Williamson
547cacb7a0 Replace FreeIPA scratch build overrides with updates
And remove the Rawhide one as that's stable already.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2025-10-09 12:32:16 -07:00
Adam Williamson
ecae6fb851 Add FreeIPA bump rebuilds to workarounds to fix upgrade tests
FreeIPA team bumped the F41 NVR past the F42 one, so now upgrade
tests from F41 to F42 are broken. To workaround this we need
bumped rebuilds for F42, F43 and F44, because if only do F42 the
problem moves to F42->F43 upgrades, etc.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2025-10-03 13:42:07 -07:00
Lukáš Růžička
6504998d0a Fix the doubled login name
For some reason, the login name is filled in double time.
Let's fix it with adding more wait time and also an extra
delete key to wipe the field properly.
2025-09-26 13:39:40 +02:00
Adam Williamson
783cdb6e03 Add an rmdepcheck test for updates (WIP)
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2025-09-22 12:22:23 -07:00
Adam Williamson
6a41721d5d g-i-s: also expect no 'software' page on Silverblue F43
The change is now landed on f43 workstation-ostree-config too.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2025-09-22 12:21:51 -07:00
Adam Williamson
a7fa13f2b0 g-i-s: don't expect 'software' on Rawhide Silverblue
See https://pagure.io/workstation-ostree-config/pull-request/682

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2025-09-20 23:02:04 -07:00
Adam Williamson
94d36a1e13 Retry more dnf commands
I'm seeing more test failures due to
https://github.com/rpm-software-management/dnf5/issues/2435 .
This retries more common dnf commands to try and workaround the
problem.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2025-09-16 10:27:37 -07:00
Adam Williamson
6d36010207 setup_repos: retry createrepo_c install up to 4 times
See https://github.com/rpm-software-management/dnf5/issues/2435 .
Lately this is sometimes failing because something else holds a
lock on the RPM database. To work around that, let's try again a
few times if it fails, with a bit of a wait.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2025-09-12 17:42:57 -07:00
Adam Williamson
d5ba7a4f9e webui: use 1GB for /boot and /boot/efi
512MB is too small, we're getting size warnings on the tests with
latest Rawhide.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2025-09-06 15:01:29 -07:00
Adam Williamson
4ddc3450a3 gnome_initial_setup: adjust to time zone active field change in 49
In GNOME 49 RC, the Time Zone page has been changed so the search
box is active by default. Previously we had to press tab to
activate it. We need to keep working with both, so unfortunately
that means adding a needle :/

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2025-09-05 09:54:50 -07:00
Adam Williamson
b99b0e3ec1 Drop workarounds (one went stable, we untagged libiscsi)
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2025-09-04 17:11:26 -07:00
Adam Williamson
ba6b6200a6 Add dep issue fix builds as workarounds for F44
Two different dep issues started breaking tests today -
a libiscsi soname bump broke deps in qemu and libvirt, and a
gnome-shell-extension-background-logo update had an invalid dep.
This adds fixes for all three as workarounds so I can get the
tests of each to pass, and other tests to pass while these are
going through gating.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2025-09-04 15:28:01 -07:00
Adam Williamson
5da5af3852 post_fail_hook: also upload AVCs and a text journal dump (#410)
@kparal pointed out that it's a bit inconvenient to quickly check
the journal and any SELinux AVCs for a failed test. All the info
is in the /var/log tarball, but you have to download it, extract
it, and know how to run journalctl on it. For convenience, this
adds a text dump of the journal and one of any AVCs found with
ausearch.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2025-09-03 12:45:03 -07:00
Adam Williamson
4e3bc57a03 Build and test cloud image in updates tests
This makes us create a generic cloud disk image and then run
tests on it, just like we do for Workstation and KDE lives,
everything netinst, Silverblue, and a container image. This is
intended to help avoid anything like
https://bugzilla.redhat.com/show_bug.cgi?id=2390898 happening
again - if we'd had these tests set up and gating enabled, the
update that caused that bug would've been gated.

This requires some changes that affect other things: bind mounting
the whole of /dev in our mock config when using simple isolation,
and forcing START_AFTER_TEST to "" for kiwi_build (this is needed
to override the setting of it in the updates-cloud flavor). bind
mounting is what koji does for 'real' kiwi build jobs so it's fine
(in fact, better); previously the mock config was shared with
livemedia-creator, but we don't use that any more so it's not a
problem.

It's a bit icky when we get to the point of having *multiple*
+START_AFTER_TEST settings, but I can't see another way to get
everything right here and still share the test suite definition
with compose tests.

Moving the definition of KIWI_PROFILE for container tests is not
strictly related, but I noticed it was weird while working on
this and couldn't leave it alone.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2025-08-28 16:43:07 -07:00
Adam Williamson
a3dd914d2d sigh, brackets
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2025-08-25 15:02:52 -07:00