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

544 Commits

Author SHA1 Message Date
Adam Williamson
89fa04661f Disks: workaround partitions sometimes being mounted after format
https://github.com/storaged-project/udisks/issues/1102 - udisks2
seems to have a bug where it leaves filesystems mounted at a
"temporary" mount point after creating them. We need to work
around this when it happens or else we'll frequently get test
failures.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-05-18 15:15:02 -07:00
Lukas Ruzicka
e211a87fc7 Create a test suite for Disks. 2023-05-12 17:05:44 -07:00
Adam Williamson
119229cce7 Add a needle cleanup script, enhance the needle check script
This adds a new script - cleanup-needles.py - to use for cleaning
up old needles. It has to be used in conjunction with a database
query; the comment at the top explains how to do that query and
export the needed information. It produces a git commit with
needles that haven't matched since a certain date (specified in
the sql query) removed, subject to a 'keeplist' of needles we
keep even if they seem to be old.

I also enhanced check-needles.py to check for cases where tests
seem to be trying to match a tag we have no needles for. This
was necessary to find cases where the cleanup script was too
aggressive (i.e. the things that wound up in the 'keeplist'),
but it also turned out to find quite a lot of cases where the
code really *was* looking for a needle that had gone in a
previous cleanup or that never existed; the commits before this
one clean up a lot of those cases.

The code to decide which string literals are needle tags is
pretty dumb and hacky and needs some manual cueing sometimes -
that's what the `# testtag` changes in this commit are for.
Making it smarter would probably require this script to get a
lot more complicated and either incorporate or become a
tokenizer, which I don't really want to do.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-05-04 09:57:15 -07:00
Adam Williamson
1de9d7fa34 Drop click_unwanted_notifications (and associated needle)
It looks like neither of these has been a problem for some time.
The notification needle has not matched for a year. The akonadi
needle doesn't exist any more - it was cleaned up in the 2021
needle cleanup, meaning it hadn't matched for weeks in 2021. I
checked the last several months of KDE app start/stop tests and
don't see any case where there was a stray notification that we
missed. So I think we can just ditch this whole mechanism for
now; if we have problems with these notifications again in future
we can put it back.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-05-04 09:57:15 -07:00
Adam Williamson
ae40eea065 Drop another no-op workaround (Japanese in g-i-s)
For several releases now, the 'new user mode' of g-i-s is just
gone: https://gitlab.gnome.org/GNOME/gnome-initial-setup/-/issues/12
so this whole path where we used to be able to set up Japanese
input methods on first boot after install doesn't work any more.
We had to set up a whole different route to set the input method
via control center instead (which lives in _graphical_input).
This block is never reached any more, and the needles for it were
cleaned up in 2021.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-05-04 09:57:15 -07:00
Adam Williamson
73abc9de67 Drop KDE branch of start_with_launcher
Since 022865ab we do not use start_with_launcher on KDE any more.
The needle for it has since got lost in an unused needle
cleanup. Let's just drop this branch for now; we can add it back
if we ever need it again.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-05-04 09:57:15 -07:00
Adam Williamson
88f422a38f Drop a no-op workaround (needle hasn't existed since 2021)
The needle that backs this workaround was dropped in the 2021
needle cleanup, so it's never worked since then. I checked, and
no aarch64 tests seem to be failing on this any more.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-05-04 09:57:14 -07:00
Adam Williamson
e89ec3017a Update serial console handling for upstream changes
Upstream https://github.com/os-autoinst/openQA/pull/4973 requires
us to poke things here a bit. This only works with the newer
os-autoinst and openQA (there may be a way to conditionalize it
to work with both, but I can't be bothered figuring it out, let's
just update).

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-05-02 12:24:26 -07:00
Adam Williamson
47664b0dd8 desktop_switch_layout: give switching 3 tries to work
There's a fairly longstanding issue in GDM where switching layout
just doesn't work sometimes:
https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6066#note_1707051
there doesn't seem to be any progress on getting this fixed, and
it's annoying constantly restarting tests that fail on it. So
this just makes us try three times to switch before giving up.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-04-01 14:55:27 -07:00
Adam Williamson
bbfc9d7c70 Handle anaconda 'protecting' the disk we're installing from
In install_repository_hd_variation , we have two disks attached,
so when we reach the INSTALLATION DESTINATION screen we expect
we have to select the correct target disk. However, as of the
most recent anaconda build in Rawhide, anaconda realizes we're
using a file from the other disk as our install repo, and
'protects' it - i.e. it does not show it on the INSTALLATION
DESTINATION screen, meaning only one disk is shown there, and
when only one disk is shown, it's pre-selected. So when we click,
we actually *un*select it, and the test fails.

Fixing this is a bit awkward; I wanted to add a new variable,
ANACONDA_PROTECTED_DISKS or something, and subtract that from
the NUMDISKS count; but we can't really do that as the enhanced
protection isn't in F38, and we can't easily set variables
differently on different releases (we'd have to set them in the
scheduler code, not just put them in the templates). So we just
code in a doofy condition for this instead. Maybe when F38 is
EOL we can change to the variable approach.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-03-29 12:59:39 -07:00
Adam Williamson
e7f5e5e9b4 Add workarounds for critical bugs in Rawhide
An lvm2 issue which breaks the installer (#2180557) and anaconda
renaming the .desktop file for the Workstation live welcome
screen, which caused it not to appear -
https://pagure.io/livesys-scripts/pull-request/12 .

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-03-21 18:04:00 -07:00
Adam Williamson
873720b97b Drop workaround which went stable a few days ago
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-03-21 18:03:34 -07:00
Adam Williamson
5572a73f61 Use pandoc-common instead of python3-kickstart for package tests
Reasoning:

1. pandoc is not in critpath so will not itself be tested
2. pandoc is widely used and actively maintained
3. package is noarch
4. package has minimal deps

Hopefully this will work for everything. For some reason, the
"use python3-blivet for pykickstart tests" fails mysteriously
sometimes, see e.g.
https://openqa.stg.fedoraproject.org/tests/2672282

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-03-18 09:44:02 -07:00
Adam Williamson
38c3693684 Revert "Fix desktop_update_graphical tests for pykickstart updates"
This reverts commit 2e5fa93415.
Let's try using one non-critpath package for all these tests
instead.
2023-03-18 09:39:19 -07:00
Adam Williamson
c25db659c0 Add anaconda fix for new pykickstart as a workaround
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-03-17 21:26:39 -07:00
Adam Williamson
ac6ecb1058 Drop workarounds that have gone stable
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-03-17 21:26:16 -07:00
Adam Williamson
2e5fa93415 Fix desktop_update_graphical tests for pykickstart updates
Somehow, the dummy package being python3-kickstart causes the
graphical update tests (only) to fail for pykickstart updates
(that's the source package of python3-kickstart). The CLI and
Cockpit update tests are fine with this and pass.

To workaround this, use python3-blivet as the dummy package for
the graphical update tests when testing an update that contains
python3-kickstart. I've updated the test repo to contain both
dummy packages.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-03-14 14:14:25 -07:00
Adam Williamson
cf5532fc3a Add workarounds for ffmpeg/kf5/oneVPL mess
So...there's an ffmpeg update:
https://bodhi.fedoraproject.org/updates/FEDORA-2023-a5e10b188a
which went stable. It includes new sonames of all the ffmpeg
libs. It also pulls in a thing called oneVPL, which has a bug
that breaks ostree composes.

There's a big kf5 update:
https://bodhi.fedoraproject.org/updates/FEDORA-2023-b086a98f78
which contains kf5-kfilemetadata, which is built against ffmpeg.
Neal made sure that update's build of it was built against the
new ffmpeg and submitted both for stable at once - but the tests
on the kf5 update failed because they weren't run against the
new ffmpeg as it wasn't yet stable, and the kf5 update was
ejected from the push because of the failed tests.

So now we have the ffmpeg update stable but not the
kf5-kfilemetadata rebuild for it, which will break KDE stuff,
and the oneVPL issue means ostree composes will all fail.

This adds the ffmpeg update as a workaround so we can re-run the
tests for the kf5 update and get them to pass so we can push it
stable. It also adds the oneVPL update as a workaround so ostree
compose tests don't start failing.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-03-13 18:20:14 -07:00
Adam Williamson
20620236b3 Clean up minimal browser environment setup
Move the xauth disablement and the disabling of studies into
_setup_browser, instead of repeating it in a couple of other
places (but *not* doing it in the zezere test, where we should
be doing it). Drop some explicit package installs that should
no longer be needed as Firefox and/or X.org now depend on those
things. Install the current default fonts (Noto), not the old
ones (DejaVu).

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-03-02 13:51:08 -08:00
Adam Williamson
a9a3cea174 Don't use koji-rawhide repo on support_server test
We definitely don't want the support server pulling in random
packages from Rawhide.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-25 10:22:50 -08:00
Adam Williamson
1d3fe8dbb6 Drop workaround that's now stable
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-24 12:57:37 -08:00
Adam Williamson
471ea9d27b workarounds: add plasma-discover with fix for #2173022
Just using a scratch build for now as my fix hasn't been reviewed
and may have dumb mistakes in it, but it does seem to fix the
openQA test at least.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-23 12:15:15 -08:00
Adam Williamson
f42d921b0b Drop workarounds that have gone stable
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-23 12:14:48 -08:00
Adam Williamson
bb3492ac9d Remove repo management packages on update live install path
A different way to address the same problem as 56936df7 . Let's
just *remove* the repo management packages after we're done
creating the repos. dnf will automatically remove the unused
dependencies too. This fixes the python-cryptography case at
least - I tested.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-22 15:57:02 -08:00
Adam Williamson
9a0ef37a25 Revert "Update live install tests: handle awkward install ordering"
This reverts commit 56936df7a5. It
was a lovely idea, but forgot that the 'matching update version'
check doesn't actually use the allpkgs.txt list...
2023-02-22 15:55:24 -08:00
Adam Williamson
56936df7a5 Update live install tests: handle awkward install ordering
There's this awkward path for the live image install tests on
updates. We run the 'are the correct versions of all the packages
installed' check on these tests to ensure the right versions
actually made it onto the live image. So we don't run
`dnf -y update` at the end of repo_setup_updates on that path,
because if we did that, even if the packages on the live image
were old, we'd update them there and hide the problem.

However, this causes a bit of an ordering issue, because in
order to set up the advisory repo, we need to install a few
packages. What if the update under test includes one of those
packages, or a dependency that wasn't already installed? In
that case, we wind up with the older stable version of the
package (because obviously we can't install the newer version
from the advisory repo *before we've set up the advisory repo*),
don't update it later, and so the 'correct version' check at
the end of the test fails. See:
https://openqa.fedoraproject.org/tests/1778707 for a case of
this happening with a python-cryptography update.

Up till now I was trying to handle this by just updating the
specific packages we install, but that doesn't account for
*dependencies* of them. I looked down the path of trying to
generate a list of all those dependencies and update all of
them but it looks a bit mad. So instead let's try this. On that
specific path, we'll generate the "all installed packages" list
*before* we run repo_setup, so it just doesn't include anything
that gets installed during repo_setup. The implementation is a
bit icky but not too horrible.

We *could* just *always* generate the all installed packages
list earlier, but then that would mean we *wouldn't* catch dep
issues in this kind of package on the other test paths, whereas
currently we do. I don't want to lose that.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-22 14:54:18 -08:00
Adam Williamson
a4ff85695b handle_welcome_screen: only set _WELCOME_DONE if we saw it
This is to handle a temporary condition where the screen isn't
present on the KDE base disk images for F38 or F39 yet, so they
only see it on the second boot on update tests, but don't handle
it because we marked it as already 'done'.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-22 08:04:29 -08:00
Adam Williamson
4254906308 Try clicking Skip on the KDE welcome tour thing
It seems like just closing it results in it showing up again on
the next boot...

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-21 19:57:19 -08:00
Adam Williamson
ddb3f44c57 Extend handle_welcome_screen to cover new KDE welcome tour
KDE has a welcome tour now, on F38 and Rawhide at least. Let's
"handle" it with extreme prejudice...

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-21 18:16:13 -08:00
Adam Williamson
ac1a59ef77 workarounds: kwin build that fixes VT switch for F38 and F39
The F38 update that breaks this hasn't gone stable due to gating
and the F39 update will be pulled in once the tests are done
and it goes stable, but doing this anyway so I can re-run the
tests on the F38 plasma-workspace update and push it stable,
and rerun all the failed Rawhide tests without waiting for all
the tests on this update to finish first.
2023-02-20 22:11:31 -08:00
Adam Williamson
19500a4018 drop workarounds that have gone stable
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-20 22:10:40 -08:00
Adam Williamson
7ea4ed733c Sigh, do the are-we-44 check in the right place
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-20 17:29:13 -08:00
Adam Williamson
d0699217a4 Handle g-i-s 44 requiring two tabs at 'set a password' screen
We still need to handle 43 only requiring one for now, and we
can't just make it release-dependent until 44 is stable for both
38 and Rawhide, so let's use a needle match temporarily. Only
44 has these eye/pencil icons on this screen.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-20 17:13:37 -08:00
Adam Williamson
813c329c0c workarounds: add lorax with disabled persistence for 38/39 (#2170544)
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-16 10:44:37 -08:00
Adam Williamson
35eec4062e Drop workarounds that went stable
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-16 10:43:22 -08:00
Adam Williamson
7156881b64 workarounds: add kde-settings for F38 too
This gets us the F38 background in KDE.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-14 11:27:18 -08:00
Adam Williamson
42316bdfb1 workarounds: add desktop-backgrounds too for F38
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-14 09:58:49 -08:00
Adam Williamson
8ce8f2aba4 f38 workarounds: drop updates now stable, add f38-backgrounds
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-14 09:17:49 -08:00
Adam Williamson
6baf67aefd Work around the f39 toolbox container not existing
On Rawhide, just use an f38 toolbox container for now.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-13 19:16:09 -08:00
Adam Williamson
619f5a70fe Add glib2 2.75.3 to f38 workarounds (FEDORA-2023-965f517da3)
GNOME blows up without it.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-13 15:09:14 -08:00
Adam Williamson
860c8e0a09 Add bug F38 GNOME update to workarounds
As we're not getting composes ATM this isn't being pulled into
tests of subsequent updates, but we need it to be or else there
are issues.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-13 12:23:08 -08:00
Adam Williamson
016c78d80b Add FEDORA-2023-ad52b2e4b9 as a workaround for F38
tracker-miners had a bad dep which broke live image builds.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-10 00:05:40 -08:00
Adam Williamson
95de85b33a Adjust a wait_still_screen not to time out on a flashing cursor
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-07 10:02:38 -08:00
Adam Williamson
8bcabe25a8 Give some long-running package install operations a bit longer
These have timed out quite often recently.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-03 09:04:48 -08:00
Adam Williamson
6a7c11466c Get updvercheck.py from main now it's merged
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-03 08:58:38 -08:00
Adam Williamson
06bfd2d2ae Make the update non-matching package check smarter
With Rawhide updates, we quite often run into a situation where
a test runs after a *later* version of the package has already
gone stable. This even happens for stable releases too, though
less often. The current shell-based check just always fails on
this case, but it's usually OK, and manually marking every case
like this with an "it's OK!" comment gets tiring. Instead, let's
use a smarter Python script to do the check. We compare the EVR
of all installed update packages with the EVR of the package
from the update. If it's the same, fine. If the installed package
is lower-versioned, that's always an error, and we fail. If the
installed package is higher-versioned, we check whether the
update already went stable. If it did, then we soft fail, because
probably nothing can go wrong at this point (this is the usual
Rawhide case). If the update did not yet go stable, we still
hard fail, because something can go wrong in this case: if the
update *now* goes stable, the older version from the update may
be tagged over the newer version the test got (presumably from
current stable).

If anything goes wrong with the Bodhi check, or the test is
running on a task not an advisory, we treat both cases as fatal.

The script also gives easier-to-understand output than the old
approach, which should be a bonus.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-01-31 10:14:45 -08:00
Adam Williamson
6a36fe28d1 Handle a false failure when testing koji updates
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-01-14 02:57:38 -08:00
Adam Williamson
3754ab3d8a Drop all handling of MODULAR
This was from years ago when we briefly did "modular composes".
That died and ain't coming back.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-12-15 11:10:40 -08:00
Adam Williamson
d012d31270 _post_fail_hook: only do advisory package checks when appropriate
Same conditions as used in main.pm to load the tests in the
normal flow. It makes no sense to do this on non-update tests,
or on the non-matching support server case.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-12-14 08:47:46 -08:00
Adam Williamson
02136a80e1 utils.pm: drop some stuff unneeded after F35 EOL
and associated needles.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-12-13 14:34:34 -08:00