Commit Graph

2596 Commits

Author SHA1 Message Date
Adam Williamson a664c10817 _check_install_source: drop branches for EOL releases
Thankfully this all calmed down a bit so we can simplify it a
lot. Clean things up a bit at the same time; escaping nested
single quotes is a lot clearer than concatening blocks with
different quote marks.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-12-13 12:45:20 -08:00
Adam Williamson ea8e1f950d Drop #2120433 workaround
The bug seems to have gone away, at least I don't see that this
soft failure has been hit much for the last two months.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-12-13 12:45:20 -08:00
Adam Williamson 2226cea183 Update note as to why we use tty1 in desktop_notifications
It's been on 1 so long now I kinda don't want to change it to 3
or 4 or anything. That might break something. As long as it's not
causing any trouble let's just leave it on 1.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-12-13 12:45:20 -08:00
Adam Williamson fecf4ea595 Simplify condition for disabling dnssec on FreeIPA upgrade test
We don't need the release number part any more, it's always
more than 34.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-12-13 12:45:20 -08:00
Adam Williamson 729796730f Update KDE user confirm needle
This is from an F37 respin test that failed, Rawhide hasn't
reached this point for a while.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-12-13 12:43:50 -08:00
Adam Williamson cce6a3da3d Update KDE login needle for some change in recent Rawhide update
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-12-13 12:37:26 -08:00
Adam Williamson fdf4e4e757 Put INSTALL variable back for LVM resize tests
These actually *do* need it because they have START_AFTER_TEST
set, but they're still install tests.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-12-13 12:25:38 -08:00
Adam Williamson 61d77ee108 Use older grub for _support_server tftp to fix PXE (#2152763)
PXE install on UEFI (incl. aarch64) is failing at present, this
seems to be due to a grub bug:
https://bugzilla.redhat.com/show_bug.cgi?id=2152763
we're really intending to test the client side here, not the
server end, so let's work around this problem on the server end
by installing a grub2 scratch build that's the package from just
before the bad change, but with the release and epoch bumped,
from a side repo.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-12-12 17:51:52 -08:00
Adam Williamson ffab8bce75 Don't load _advisory_update when START_AFTER_TEST is set
This should always be safe (in the four cases where it's set,
the previous test will have set up the advisory repo), and saves
us a reboot.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-12-12 08:53:02 -08:00
Adam Williamson 6e9213f4b7 Drop use of _ADVISORY_REPO_DONE, always use file tests
This is safer if the advisory stuff was done on a previous test
run. Hilariously, this exposed a dumb mistake I made years ago
in installedtest.pm and never noticed before: the calls to
advisory_* at the bottom of that file are meant to be in the
post_fail_hook, but they weren't, which meant they got called
by the scheduler. This didn't cause any failures because the
first line caused them to return immediately based on a get_var
call (which it's OK to do in the scheduler), but changing it
to a script_run call (which it's *not* OK to do in scheduling)
caused all the tests to blow up immediately and confused me
*a lot* until I spotted this!

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-12-12 08:53:02 -08:00
Adam Williamson ffbb618d03 Simplify _graphical_wait_login welcome screen logic
This turns out to be overcomplicated. We don't need the special
handling for updates any more, because a few months after we
implemented it, we had to make sure the affected update tests had
an empty START_AFTER_TEST anyway, or else openQA would refuse to
schedule them. So we can just rely on the START_AFTER_TEST
condition for those now. We also don't need the additional
INSTALL_NO_USER condition; the only case where it's actually used
is for install_arm_image_deployment_upload on Workstation, and
that test does not have START_AFTER_TEST set, so the other
condition catches it for welcome screen handling purposes. There
is no need to nest the IMAGE_DEPLOY conditional inside a check
for the desktop and the INSTALL_NO_USER var either; we don't
test any other desktop on ARM, and the IMAGE_DEPLOY var is only
set for that one install_arm_image_deployment_upload test.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-12-12 08:48:53 -08:00
Adam Williamson f915297475 Use buildroot repo for Rawhide image builds also
We recently started using the buildroot repo for Rawhide update
tests, but weren't including it in the image build tests. This
should include it in all the image build tests.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-12-12 08:42:18 -08:00
Adam Williamson 7429b438fd Don't update system in repo_setup on update install tests
When I enabled _advisory_post for live and ostree install tests,
the point was to check that updated packages were included in
the install media and used during installation. We shouldn't run
a system update in _repo_setup_updates on this path because it
will hide the problem if the updated packages weren't included.
The INSTALL variable is for this purpose - it was previously
used to skip _advisory_post on the same path. At the same time
let's remove some stray settings of this var on non-update tests
as it serves no purpose there.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-12-09 13:07:15 -08:00
Adam Williamson 5698525cc7 Enable the buildroot repository for Rawhide update tests
Per discussion at https://pagure.io/fedora-ci/general/issue/376
it really feels like this is the right thing to do. There are no
buildroot overrides for Rawhide, so we don't have to worry about
cross-pollution. The buildroot repo only contains builds that
have been tagged stable since the most recent Rawhide compose,
and thus will go into the next one. It makes sense to test later
updates against these. This avoids issues like:
https://openqa.fedoraproject.org/tests/overview?distri=fedora&version=38&build=Update-FEDORA-2022-30a952e331&groupid=2
where the tests of an update failed because it requires another
update which had been submitted and tagged stable previously, but
after the last compose.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-12-08 14:28:09 -08:00
Adam Williamson f752b4c00a Don't snapshot after wait_login tests (usually)
We currently snapshot after every run of _console_wait_login or
_graphical_wait_login, which means we snapshot *twice* on most
update tests as those modules get run twice. However, we almost
never use those snapshots. Snapshotting takes quite some time,
and hits the disk pretty hard, so we should avoid it unless it
is really needed.

We only have a few modules that are not fatal (and so might use
the snapshots), and most of those don't run after one of these
tests, or run after a later module that's also a milestone. Best
I can tell, only two test suites really need to use a snapshot
from a login test: server_cockpit_updates and modularity_tests.
To handle these and potential future cases, we'll add a new
module that does nothing, but is marked 'milestone', so it will
take a snapshot, and load that test after the login test if the
var LOGIN_SNAPSHOT is set, and set that var for those two suites.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-12-08 09:59:23 -08:00
Adam Williamson 27a45493e1 Just remove abrt_runs_found_problem needle
it's really just a dupe of the -problems needles, it turns out,
Lukas was reinventing that wheel. He had to add another one
today because I broke the JSON in this one when I was simplifying
it yesterday, but I think this one on the new -problems needle
are really just dupes.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-12-08 09:53:34 -08:00
Lukáš Růžička b4d6d73c47 Add another needle for Abrt as font has changed again. 2022-12-08 17:32:21 +01:00
Lukáš Růžička 5af70b9dda Reneedle Maps needles to support newer version. 2022-12-08 11:42:18 +01:00
Adam Williamson a13cd7a08a Add `--squashfs-only` to lorax args
We started using this in real composes a year or two back, so
openQA should do the same. It drops the nesting of an ext4 fs
image inside a squashfs image, just using a single squashfs
image instead. This results in smaller images - missing this
is why the images built by openQA were coming out larger than
the real ones.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-12-07 14:03:19 -08:00
Adam Williamson 4d3673f811 Simply abrt KDE stuff even more
...wait, this is what 'workaround' needles are for.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-12-07 11:30:08 -08:00
Adam Williamson 9c6d5459e6 Simplify the KDE abrt logic
This does the same, just cleaner.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-12-07 11:26:27 -08:00
Lukáš Růžička 179764d49c Fix tests for Maps.
* Scarborough provided quite a messy map that resulted
in frequent needle failure. Changing the location
for something better to make it more reliable.
* The zoom test could have failed with a low resolution
image. Adding some timeout to the needle give more
time to load the proper image.
2022-12-07 11:52:11 +01:00
Lukáš Růžička 0cb57e7511 Add timeout 30 secs to make less fragile.
The check_screen function checks for the existing tag
but it only waits 1 second by default. In this time,
Abrt will not even start so we need to prolong
the check_screen timeout to make sure the application
has started (or at least give it enough time to try).
2022-12-07 10:00:33 +01:00
Adam Williamson 98653847d3 Add missing single quotes
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-12-06 14:01:51 -08:00
Adam Williamson 7536b6ce10 ostree_build: tee and timestamp the `rpm-ostree` output
Instead of just redirecting it to a log file, let's tee it, so
simple errors can be read off a screenshot without bothering to
download the file. Also, let's timestamp it (via `ts` from
moreutils) so we can see which bits of it take a long time...

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-12-06 13:38:57 -08:00
Lukas Ruzicka bf2f8d7305 Add two more needles for Maps. 2022-12-06 10:45:19 +01:00
Adam Williamson 894cc5072e Update some more maps needles
I think these needles are pretty fragile to changes in the
underlying OSM dataset, not just in Maps itself...

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-12-05 17:54:56 -08:00
Adam Williamson 6e0192fed4 Update anaconda warning bar needle
It seems to have become more orange.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-12-05 10:09:32 -08:00
Adam Williamson 1fecb3f9c4 Add an 'already selected' needle for root password screen
In case it's already selected/highlighted on the hub.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-12-05 10:08:49 -08:00
Adam Williamson 9b97028a25 Update the Maps 'found Scarborough' needle
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-12-05 10:07:50 -08:00
Lukas Ruzicka 1605706fb3 Set timeout to 60 on startstop needles. 2022-12-05 15:16:16 +01:00
Lukas Ruzicka f29572ba76 Abrt should not fail on found issues but softfail on startup tests. 2022-12-05 14:30:03 +01:00
Lukas Ruzicka 7daa4b3dd0 Give more time to the needle to avoid failing on delayed start. 2022-12-05 14:03:48 +01:00
Adam Williamson 1ae7065961 ostree: use scratch disk as target for rpm-ostree compose
Seems like we might be running out of space on this step on F35.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-12-03 16:16:39 -08:00
Adam Williamson c2fb8fa83b Use 'main' branch for ostree-parse-pungi.py checkout
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-12-03 12:29:23 -08:00
Adam Williamson e45473103f Upload appropriate logs on ostree_build failure
Also use get_var("TEST") for installer_build - no point trying
to upload these logs for the other tests in the same flavor,
they won't be there.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-12-03 11:17:17 -08:00
Adam Williamson 37412b95a8 ostree_build: bump timeout on ISO build
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-12-03 11:10:37 -08:00
Adam Williamson 9d050b8501 Add missing console_in_toolbox needle for ostree tests
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-12-02 23:09:17 -08:00
Adam Williamson 55721ae690 Drop match levels on the akonadi migration needle
To catch minor variations.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-12-02 15:53:10 -08:00
Adam Williamson ba88dac325 Handle chunked ADVISORY_NVRS_N settings
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-12-01 15:52:20 -08:00
Adam Williamson 3c957de6d8 Update needles for Cockpit 281 (workaround)
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-12-01 15:49:56 -08:00
Adam Williamson 03b6663339 Add tests to build a Silverblue installer image and install it
This is like the existing tests that build network install and
live images then install them, only for Silverblue. First we
build an ostree, using the standard configuration for the release
and subvariant but with the 'advisory' and 'workarounds' repos
included, so it will contain current stable packages plus the
packages from the update and any workarounds. Then we build an
ostree installer image with the ostree embedded, again including
advisory and workarounds repos in the installer build config so
packages from them will be included in the installer environment.
The image is uploaded, which completes the _ostree_build test.
Then an install_default_update_ostree test runs, which does a
standard install and boot from the installer image.

We do make a change that affects other tests, too. We now run
_advisory_post on live image install tests, as well as this new
ostree install image install test. It was skipped before because
of an exception that's really only needed for the netinst image
install test. In that test, packages from the update won't be
included in the installed system, so we can't run _advisory_post
on it. But for ostree and live image build/install tests, the
installed system *should* include packages from the update, so
we should check and make sure that it does.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-11-30 13:17:28 -08:00
Adam Williamson 4f3a5acea7 Update an anaconda help needle for some change in Rawhide KDE
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-11-29 09:49:34 -08:00
Adam Williamson 7a25ad7023 Add a variant nautilus app needle for F36 (respin tests)
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-11-29 09:48:35 -08:00
Adam Williamson 137f2a2176 nautilus: check app started *before* trying to fullscreen it
Seems to make a lot more sense this way around.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-11-29 09:41:47 -08:00
Adam Williamson 1429e5b1c8 Give all update tests the same priority, ahead of compose tests
It doesn't make sense for update tests to have different
priorities. We gate on all update tests, so they are all equally
important. With varying priorities we get a problem: if 10
updates are created quite close together, first we do all the
prio 30 and prio 40 tests for all of them, and only after all of
those are done do we get to the prio 41 and 42 tests for the
earliest of the updates, which means they can be waiting longer
than they should to have all the tests done. If all the tests
have the same priority, openQA should always use creation time
to order them, so it should prioritize finishing tests for
earlier updates, which is what we want.

Update tests are also more time-critical than compose tests,
because we gate on update tests. So we should prioritize update
tests over compose tests in all cases.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-11-28 08:43:30 -08:00
Adam Williamson c1f0c65a3e Move some tap job groups to new 'tap2' worker class
This is intended to allow us to split the workload across
multiple tap workers, as right now, sometimes we wind up in a
situation where all non-tap jobs are done and the non-tap
workers are sitting idle, but the poor tap worker has a backlog.
This way the tap jobs for updates can be split across two
worker hosts, which should help out.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-11-25 17:33:31 -08:00
Adam Williamson 8ce76de09f Revert "Retry tests affected by #2119970 three times"
This reverts commit 41d8d5923a. The
bug seems to have magically disappeared, so hopefully we should
not need this any more.
2022-11-25 12:21:41 -08:00
Adam Williamson 173bdef5cb Revert "Try and get more detailed Firefox logs from startx"
This reverts commit f424e5bac5. It
never actually worked, and the Firefox-dying bug seems to have
magically gone away recently.
2022-11-25 12:13:08 -08:00
Adam Williamson c9191b0d4a disable_firefox_studies: don't run twice, skip uploads
There's no need to run this twice (which can happen on some
paths), so if the first file already exists, just bail. Also,
don't bother uploading the config files any more - that was just
for debug while I was making this stuff work, now it works, and
this saves some time.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-11-25 11:39:39 -08:00