1
0
mirror of https://pagure.io/fedora-qa/os-autoinst-distri-fedora.git synced 2024-11-09 17:04:21 +00:00
Commit Graph

637 Commits

Author SHA1 Message Date
Adam Williamson
9f2d44a181 drop a FIXME on enabling/disabling repos with sed
dnf5 config-manager can now do this, but the syntax is different
to dnf4, and honestly, it seems easier to just stick with this
going forward than make it conditional on dnf version until
dnf4 goes away. So let's stop marking this as a FIXME.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-04-22 16:14:29 -07:00
Adam Williamson
f4bd3c6f58 Add a container build test
This test, much like _live_build or _installer_build, builds a
container image in a way intended to be as similar as possible
to how official compose images are built. The purpose of the test
is to make sure updates do not break official container image
builds.

At the end of the test, we also check that the built container
is functional (at least, that we can run a 'hello world' command
in it). This can't really be rolled into podman.pm because that
test is more about testing podman itself, and it's just a one-
liner here anyway. We also run the 'if any packages from the
update are installed, are they the versions from the update?'
check inside the container, which required giving that check the
ability to 'wrap' the rpm commands to run inside a container.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-04-22 16:01:41 -07:00
Adam Williamson
d65aac4c83 Drop a no-longer-needed workaround
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-04-19 16:30:52 -07:00
Adam Williamson
a8f547f5ef Fix check_prerelease when we don't care
I inadvertently broke this in the logic change in the previous
commit to this.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-04-14 08:36:50 -07:00
Adam Williamson
a07ad20240 Add FEDORA-2024-b156c57ef1 as F40 workaround to fix upgrades
See https://bugzilla.redhat.com/show_bug.cgi?id=2274833. Upgrades
from F39 to F40 fail without this.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-04-12 18:59:41 -07:00
Adam Williamson
fcbb00d0ac Drop workaround which went stable weeks ago
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-04-12 18:59:24 -07:00
Adam Williamson
4938c0e5ae Make pre-release check a soft failure on osbuild images
osbuild is struggling with the pre-release warnings ATM:

https://pagure.io/fedora-iot/issue/57
https://github.com/osbuild/images/issues/515

Until that mess is cleaned up we can't really make sensible
assertions for osbuild images, so let's make the check a soft
failure for now (now we know about the bugs, we want to let
the rest of the tests run and not block them on this).

Note for IoT the behaviour has never really been correct (IoT
images never get pre-release warnings), but the logic in this
check matches the wrong behaviour (IoT composes always have
RC- labels even when they're clearly not RCs), so the test
didn't fail. While fixing this in osbuild we might try to get
'correct' behaviour for IoT, and then we'd need to tweak the
logic here.

While we're at it, tweak the implementation a bit; without this
tweak, implementing this 'soft fail if osbuild' behaviour is more
awkward and ugly.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-04-12 09:00:25 -07:00
Lukas Ruzicka
b0bc18b187 Add a 'navigation' test for GNOME.
This PR partly solves the issue #301 when it adds the navigation
testing for Gnome. It uses the keyboard combinations to cycle through
running applications and checks that applications could be switched
accordingly. It also tests that you can switch between workspaces
and that you can move an applications to another workspace.
2024-04-10 21:46:43 +00:00
Deborah Brouwer
4eec75bec3 Get dns server address if host isn’t using systemd-resolved
The worker containers aren’t using systemd-resolved so
get_host_dns() can’t find the dns server causing tests that need
it to fail. Add an alternative place to look for the dns server address
that doesn’t rely on systemd-resolved.

Signed-off-by: Deborah Brouwer <deborah.brouwer@collabora.com>
2024-04-05 21:10:11 +00:00
Lukáš Růžička
f48dc5a0d5 Add wait_still_screen to menu_launch_type.
This is actually a very useful to wait a little bit before
we try to operate with the started application, especially
if we want to send keys.

Having this wait time here can save us doing this every time,
we start an application.
2024-04-05 14:09:28 +02:00
Adam Williamson
5701d1a5a5 Try and robustify menu_launch_type a bit
The mistypes on KDE are bugging me. Let's see if this - mainly
the wait_screen_change, the other just seems like a logical
tweak - helps at all.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-04-04 11:19:16 -07:00
Adam Williamson
f6273425ee Add FEDORA-2024-01fd5aa621 to workarounds
gvfs from the GNOME 46 megaupdate needs it. It's been pushed
stable but not included in a compose, yet.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-03-23 17:12:40 -07:00
Adam Williamson
92c822a719 Clear no-longer-needed update from workarounds
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-03-23 17:12:11 -07:00
Adam Williamson
b20aac5373 Add FEDORA-2024-b8e524ffdd as F40 workaround
It's queued for stable but blocked by the freeze, and
FEDORA-2024-9c9174f3dd requires it. Let's just make it a
workaround to clear the other update's tests.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-03-15 09:22:56 -07:00
Adam Williamson
30a71127c0 Clear F40 workarounds list
All updates are now stable.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-03-15 09:21:55 -07:00
Adam Williamson
b8fddfa265 Fix the logic for skipping _repo_setup_updates
Just checking for the package update list is wrong in a couple of
ways:

1. It goes wrong for child tests that inherit the main disk from
the parent test, but not the second disk where the actual update
repo lives. They'll have the package list, but not the repo. So
we should test for both the package list and the repo dir.

2. It goes wrong for side tag tests, because we don't write a
package list (or create an update repo) on that path. So on that
path let's check whether we already created the repo definition
we use on that path.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-03-13 10:49:05 -07:00
Adam Williamson
460eee87bc updates: test Silverblue install on UEFI as well as BIOS
https://bugzilla.redhat.com/show_bug.cgi?id=2268505 made it
clear that this is a bit of a hole. We don't test installing the
Silverblue image we build on UEFI, only on BIOS. Add this as a
separate test so we don't uselessly upload a disk image we won't
use for any follow-on tests.

This also adds an anaconda build that fixes a bug in this path
as a workaround for F40, so the test won't fail on all F40
updates.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-03-07 16:13:02 -08:00
Adam Williamson
9d1ae2aaf7 Add kde-settings update as a workaround too
This should mean all F40 update tests get the new background,
and we can once again make that test fail if it doesn't see it.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-03-07 16:03:18 -08:00
Adam Williamson
02015ed5a0 Add F40 backgrounds update as workaround
So the kde-settings update can pass tests.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-03-07 15:54:51 -08:00
Adam Williamson
cca9f90c8a Drop workarounds that have gone stable
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-03-07 15:52:54 -08:00
Adam Williamson
d42ada609b f41 workarounds: add realmd update needed to fix FreeIPA tests
a realmd update a few hours ago broke FreeIPA enrolment. This is
the fix.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-03-01 10:23:54 -08:00
Adam Williamson
b348f47108 workarounds: drop dogtag-pki update that went stable
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-03-01 10:23:34 -08:00
Adam Williamson
43be62ac01 Add FEDORA-2024-ff7b17cdea as workaround for FreeIPA Java issue
The Java 21 update broke FreeIPA and was waived stable. This
update rebuilds dogtag-pki and should fix it.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-02-29 17:43:02 -08:00
Adam Williamson
8dbcca38b0 clean up workarounds
Drop two that went stable, replace a scratch build with the
official update.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-02-29 17:42:27 -08:00
Adam Williamson
b1d0d448ea Give setup_repos.py longer for huge updates
Looking at you, FEDORA-2024-9b9da603e1

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-02-29 09:32:45 -08:00
Adam Williamson
ec11ce7903 Add FEDORA-2024-4afc8e64b0 to F40 workarounds to fix g-i-s pages
I missed reverting the g-i-s page skip config when deferring
the webUI Change to F40. Now I changed the conditional in the
openQA test to expect F40 to behave like F39 and earlier, it's
failing because it's seeing too many pages. This should resolve
it.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-02-28 00:31:53 -08:00
Adam Williamson
4c83347d54 Adjust for webUI deferral to Fedora 41
Same as the deferral from 39 to 40, except one of the tests has
gone away in the mean time.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-02-27 19:49:40 -08:00
Adam Williamson
2bc144ad0b Add workarounds for ostree overlay issue (#2266344)
jlebon and jmarrero figured out the fix for this, while we wait
for the packager to merge it their preferred way, let's use
scratch builds to work around it so every update doesn't get a
failed test.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-02-27 15:16:49 -08:00
Adam Williamson
ad394a7feb Drop workarounds that have reached stable
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-02-27 15:13:13 -08:00
Adam Williamson
c146bf4384 Add a couple of needed builds to F40 workarounds
Another case where an update was submitted after its deps had
gone stable, but before they made a compose. Maybe we really need
to set up a buildroot repo for tests of updates to branched-before
-bodhi-activation too. I'll think about it.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-02-22 12:49:49 -08:00
Adam Williamson
4a6d52e91e Add g-i-s build with live-user mode reverted as a workaround
Now the fedora-kickstarts PR to remove anaconda-webui was merged
we need this for tests to pass. Remove after next compose.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-02-21 15:33:32 -08:00
Adam Williamson
cb695c7e67 drop a workaround that's gone stable and into a compose
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-02-21 15:33:04 -08:00
Adam Williamson
15037690cc Add FEDORA-2024-5feb9b58f5 to F40 workarounds
Needed to make the tests for FEDORA-2024-039bae341c pass, I
don't wanna wait for a compose.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-02-20 18:20:16 -08:00
Adam Williamson
2c520e47c8 Drop update that's gone stable and into a compose from workarounds
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-02-20 18:19:44 -08:00
Adam Williamson
6c47319930 Add FEDORA-2024-11ba4726a4 as workaround for F40
The new gnome-shell from FEDORA-2024-f543e8595c requires this.
We don't use a buildroot repo for Branched even in the short
period where it acts like Rawhide (no karma or time requirements)
so let's just use a workaround.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-02-16 13:05:54 -08:00
Adam Williamson
06de92375f Clear workarounds that have reached composes
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-02-16 13:05:22 -08:00
Lukáš Růžička
8c027c9e10 Unbreak the /etc/release test by fixing a spelling typo in the function. 2024-02-16 13:32:01 +01:00
Adam Williamson
bd25bdac69 g-i-s: we always need two tabs to get to password confirm now
F38 is the oldest thing we test, and it has this flow. So let's
just drop the check here and always hit tab twice.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-02-14 15:24:32 -08:00
Adam Williamson
9ffd181bbd Don't expect g-i-s online accounts page on F40+
It was removed upstream:
https://gitlab.gnome.org/GNOME/gnome-initial-setup/-/merge_requests/221

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-02-14 15:19:46 -08:00
Adam Williamson
edcbf6a524 Wipe the openh264 repo a bit harder
We should wipe it both before and after running repo_setup to
really get rid of it. Ideally we should stop doing this at all,
but for right now the repo isn't there for Rawhide post-F40
branching yet, so let's keep this until that's done.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-02-14 14:22:44 -08:00
Adam Williamson
d998a56383 Add 41 to the workarounds table
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-02-14 13:35:32 -08:00
Adam Williamson
f8f1d0d433 Add mock and mock-core-configs to F40 workarounds
I'm hoping this will fix live image builds.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-02-14 11:58:43 -08:00
Adam Williamson
6d4a8a9fb7 setup_repos: fix a logic bug
we might be on a non-update waonly path here, we can't bail in
that case.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-02-14 11:45:37 -08:00
Adam Williamson
e6dabfa0df f40 workarounds: drop old anaconda build, add new lorax
We don't need this anaconda scratch build any more (the official
build has the fix now), but we *do* need the new lorax update I
just built to fix installer image builds with branched F40. See
https://github.com/weldr/lorax/pull/1379

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-02-14 00:15:09 -08:00
Adam Williamson
fa5cedc63a Add anaconda workaround build for #2262892
This adds a scratch build with my proposed patch:
https://github.com/rhinstaller/anaconda/pull/5460
to get the tests to start passing again, so we don't have the
flood of red which makes it hard to spot other problems.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-02-06 16:51:55 -08:00
Adam Williamson
5379850780 setup_repos: fix setup_repos.py call for KOJITASK case
I forgot to actually set the string in this case. Whoops.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-01-24 11:16:07 -08:00
Adam Williamson
4dd94df3bc get setup_repos.py from main branch not concdl now it's merged
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-01-11 15:38:10 -08:00
Adam Williamson
5f702b0be8 Run update repo setup steps from a serial console
This is a surprisingly large change as we want to go back to
the console we were previously on after doing it. To do that we
need to know what console we were on, and to know *that*, we need
to port everything that currently uses (ctrl-)alt-fX to switch
consoles to use select_console instead.

This is primarily intended to make running setup_repos.py faster
when it has to download a lot of packages (as typing in hundreds
of package names is quite slow). But it actually makes the whole
thing faster, even when only downloading one or two packages.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-01-11 12:09:59 -08:00
Adam Williamson
d445a80016 update testing: use a concurrent script to download packages
This uses a Python script which implements concurrent downloads
(via asyncio) to download workaround and update packages and
configure the repos. This should speed up the process for large
multi-package updates.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-01-11 11:31:40 -08:00
Adam Williamson
8251756331 Revert to having tests, not the scheduler, download packages (#108)
This effectively reverts 97618193 - but had to be done manually
and adjusted to maintain support for testing side tags and for
testing multiple tasks, since those features were added since
the update ISO change.

The 'scheduler injects ISOs of packages into the tests' approach
was intended to speed things up, especially for large updates,
and it did, but it had a few drawbacks. It means restarting
older tests from the web UI doesn't work as the ISOs get garbage
collected (you have to re-schedule in this case). And it has the
rather large problem that you can now only schedule tests from
the openQA server (or at least a machine with the openQA asset
share mounted), because the package download and ISO creation
just happen wherever the scheduler is running and assume that
the openQA asset share that will be used by the tests is at
/var/lib/openqa/share in that filesystem.

That's too big of a drawback to continue with this approach, IMO,
so this reverts back to the old way of doing things, with a bit
of refactoring to clean up the flow a little, and with support
for testing side tags and multiple tasks maintained.

As a follow-up I'm going to see if I can replace
_download_packages with a much more efficient downloader script
to mitigate the time this process takes on each test, especially
for large updates.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-01-11 11:31:40 -08:00