Commit Graph

57 Commits

Author SHA1 Message Date
Adam Williamson a353caeb90 Enable testing of COPRs, fix some issues, enable package checks
This works more or less like testing side tags. We also fix up
some flow problems with this path (that also affect the side tag
case), and enable the package checks on this path - it's not too
hard really, we just need to write the updatepkgs file when we
set up the repo, which we can do with dnf repoquery.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-05-03 14:40:34 -07:00
Adam Williamson ce2c511588 Revert "live_build: hack anaconda-webui out of kickstart on g-i-s update"
This reverts commit 0425be0d8e. We
only needed it for that one update and it went stable ages ago.
2024-04-22 16:33:47 -07:00
Adam Williamson 0425be0d8e live_build: hack anaconda-webui out of kickstart on g-i-s update
We need to special-case the g-i-s update to get it stable before
we can actually change this in the real kickstarts repo...

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-02-21 12:16:18 -08:00
Adam Williamson b3e5f7fb54 live_build: drop a hack that should no longer be needed
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-02-21 12:13:43 -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
Adam Williamson 5e3f39209d Workaround KDE kickstart referencing new comps group
This breaks things until a compose has happened and comps data
with the new group in it is actually out there in the repos. So
we need to hack it back out again till a compose goes through.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-01-04 15:01:15 -08:00
Adam Williamson 32621bd042 Drop KDE live build workaround we no longer need
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-12-23 12:10:41 -08:00
Adam Williamson 893052197d Workaround needed comps change for KF6 rebuild
https://pagure.io/fedora-comps/pull-request/920 is a required
comps change now
https://bodhi.fedoraproject.org/updates/FEDORA-2023-ad16578136
landed in stable, but it won't be in the public comps data till
after the next compose. This reproduces the same effect on the
fly in the KDE kickstart when doing the KDE live image build
test, so it will pass.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-12-15 13:20:34 -08:00
Adam Williamson 413dba4c95 Give live image tool install longer to run
It's timing out on stg quite a lot.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-09-19 12:47:35 -07:00
Adam Williamson ea8500cf07 Various changes for webUI deferral to F40
webUI has been deferred to F40, so we need to expect the old UI
flow on F39 now. This should cover everything, I hope.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-09-12 16:13:49 -07:00
Adam Williamson 2458ff7580 Adjust tests to handle webUI reversion
We're reverting webUI for Fedora 39.
https://bodhi.fedoraproject.org/updates/FEDORA-2023-73c4f1a802
is the update that implements this; adapt the tests to handle it
(by expecting the old flow when testing that update, and editing
the kickstart to drop anaconda-webui when building the live
image).

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-09-12 11:09:52 -07:00
Adam Williamson 91bf4e423f Disable forced use of HTTP 1.1 for curl and git
To see if the bug has gone away now -
https://pagure.io/fedora-infrastructure/issue/11426#comment-867456

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-08-10 15:13:04 -07:00
Adam Williamson 94a743b37e Drop _live_build mock config corrections for F39 and F40
These should no longer be needed with the new mock-core-configs
and mock. Tested on stg.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-08-10 12:54:36 -07:00
Adam Williamson ccda54d0f7 Fix launching eog on Silverblue
We still have to type "image viewer" there, for now.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-08-09 18:04:05 -07:00
Adam Williamson 8483e7bd82 Workaround mock-core-configs not being updated for F39 branch
mock still thinks the releasever for Rawhide is 39, which causes
it to use the wrong GPG keys and not be able to install packages.
This overrides that setting in our mock config file, until
mock-core-configs is updated in the distro.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-08-09 15:21:35 -07:00
Adam Williamson b228af2f76 Sigh, declare $mockver
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-08-09 14:27:38 -07:00
Adam Williamson 98bb256950 live_build: tweak mock config used for Rawhide
The numbered config file won't always exist right after branch
(there is no fedora-40-x86_64 now, for e.g.) But the named one
always does. This additional variable is a small price to pay for
making the test more robust.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-08-09 14:26:02 -07:00
Adam Williamson 92dbd802e8 koji-rawhide: set skip_if_unavailable=1 for now due to 404 issues
We're seeing a lot of tests fail on 404s when trying to access
the koji-rawhide repo (the repo for the Rawhide build tag, which
we use to get packages tagged since the last compose. nirik is
trying to figure this out from the server end, but for now at
least, let's mark the repo as skip_if_unavailable. This should
mean that if we hit a 404, the test will continue, it just won't
have access to the packages from that repo. Occasionally this
will cause a problem - a false failure or false pass - but this
still seems better than every test that hits it failing. The
false pass case is the most concerning, but I would hope in that
case some other tests from the same update would fail, making it
not an issue.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-08-02 09:10:55 +01:00
Adam Williamson 6f0480727f Make sure live image volume ID isn't longer than 32 chars
This can happen now we allow working on multiple Koji tasks.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-07-28 15:10:37 -07:00
Adam Williamson 0e01e4e659 Use fXX-build in the koji-rawhide repo definition, not rawhide
Per nirik, 'repos/rawhide' is just a symlink to 'repos/fXX-build'
and this could possibly be part of our 404 problem. So let's
try using fXX-build directly instead of the symlink.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-07-28 10:31:32 -07:00
Adam Williamson 2d6180b25e Try forcing HTTP/1.1 for pagure.io git clones
The change to the curl commands to force HTTP/1.1 seems to have
stopped them failing, so let's try doing it for the git clones
too and see if that avoids the problem till we can work out
what is causing it.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-07-24 11:56:28 -07:00
Adam Williamson 1f24f84bb1 Support testing a side tag instead of an update or task
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-07-04 19:10:03 -07:00
Adam Williamson fbb9bd7386 Revert "_live_build: workaround util-linux-user problem for KDE live"
This reverts commit efc2f8ae36.
As the comment said, it's no longer needed.
2023-06-28 16:52:48 +02:00
Adam Williamson 5c6ae24e99 _live_build: FIXME for using three disks
Change the comment on why we put /var/lib/mock on the third hard
disk: we probably can cut it down to two, now, but I don't want
to do it right now.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-06-28 16:48:55 +02:00
Adam Williamson 500fea03ad Fix workaround repo in live images
D'oh. This is the first time we actually tried to use the new
workarounds ISO thing for real, I forgot to update some paths.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-06-26 01:50:49 +02:00
Adam Williamson 97618193c6 Adjust tests for update and workaround repos provided as ISO
I'm attempting a new approach to the update and workaround repos.
Instead of having each update test recreate them for itself -
which is slow and wastes bandwidth - the dispatcher will create
an ISO at test schedule time and pass it as ISO_2. Then the test
just mounts the ISO. This makes the necessary adjustments on the
test side.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-06-19 20:21:07 +02:00
Adam Williamson efc2f8ae36 _live_build: workaround util-linux-user problem for KDE live
util-linux-user subpackage was removed but comps wasn't updated.
I've fixed comps now, but that won't "kick in" until after the
next Rawhide compose; we need to workaround the issue until then.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-05-18 09:26:58 -07:00
Adam Williamson 3462050cf7 _live_build: drop some workarounds we shouldn't need any more
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-05-18 09:24:55 -07:00
Adam Williamson 7b2c9d3e45 live_build: temporarily drop a newly-added group in KDE kickstart
This group was only added to comps today, so it's not in the
comps in the rawhide repo yet (will be after next compose). The
Koji repo doesn't have normal comps so it's not there either.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-03-30 11:20:51 -07: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 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 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 ed91ef94ff Drop systemd-oomd-defaults from Rawhide Workstation live (#2119518)
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-08-20 00:08:12 -04:00
Adam Williamson aadcc428d6 Give live image build even longer and bump max job time
Rawhide live image builds are still taking an awful long time
and often failing. I will look more into why later, but for now,
let's bump the timeouts even more just to try and get through
the job backlog.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-08-19 15:35:24 -04:00
Adam Williamson 1971164c7e Bump some more timeouts in _live_build
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-08-19 15:23:36 -04:00
Adam Williamson 6717cf7a4a Give live image build a bit longer to run
It's timing out a lot on Rawhide.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-08-18 17:19:42 -04:00
Adam Williamson 1a65993d36 Add a perltidy check and apply it to the entire codebase
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-07-28 14:38:38 -07:00
Adam Williamson a441a9d7a6 _live_build: give mock tool installation longer to run
It timed out in a Rawhide update test.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-05-06 14:08:04 -07:00
Adam Williamson 3df5d1fac8 Give _live_build a little longer to run
Seems it can take a bit longer on Rawhide sometimes.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-05-02 10:37:00 -07:00
Adam Williamson 0ed87c1b66 Adjust live and installer build for Rawhide support
We need to tweak various things when building live and installer
images for Rawhide.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-04-26 16:08:42 -07:00
Adam Williamson e705d0829a Use --isolation=simple for all mock commands in _live_build
I think this will help avoid the DNS resolution problems.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-03-09 16:02:06 -08:00
Adam Williamson a5d37e4c67 Need to bind mount the workarounds repo too
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-09-15 14:44:34 -07:00
Adam Williamson e4d89b6d6b Tweak how we add repos to mock config a bit
Not sure if the other way was valid.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-09-15 14:25:05 -07:00
Adam Williamson 3dd33e3ef1 Use workarounds repo for installer and live build tests
Need this to pull in the kernel fix that's breaking install tests
at the moment.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-09-15 14:21:07 -07:00
Adam Williamson 3bc1e8335a Put /var/lib/mock on separate disk for live image build test
The update live image build test keeps running out of disk space.
We've bumped the minimal disk image from 12GB all the way up to
20GB so far but it keeps happening. So let's try a different
strategy: use a scratch disk to mount /var/lib/mock. That's where
all the space gets used. This should allow us to reduce the size
of the minimal disk image again, and giving it 25GB of empty disk
should avoid it running out of space again for a while.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-05-05 21:12:12 -07:00
Adam Williamson 631cd368bc live build: give it 10 more minutes
Getting some timeouts on f32 near the end of the build process.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-03-17 13:26:26 -07:00
Adam Williamson cc61664e9e Drop --title from live image build command
Per https://github.com/weldr/lorax/pull/881 it wasn't doing
anything anyway, and using it causes the command to fail in F32
and later.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-02-25 22:56:48 -08:00
Adam Williamson 73896672cd Update live image build for a change to upstream mock
https://github.com/rpm-software-management/mock/commit/cb25d3ba
changes existing mock configs for stable releases to have a
`dnf.conf` section instead of a `yum.conf` section, and this
change got pushed out to F30 and F31, which breaks us :( Our
mock config that we use for building live images assumes the
existence of a `yum.conf` section in the config it inherits
from.

This change is now stable for F30 and F31, so at least we don't
have to do any conditional shenanigans; we can just change to
'the new style' unconditionally and things should work OK.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-02-20 12:24:10 -08:00
Adam Williamson 8be0541ce7 Tweak live_build mock handling to work with templates
mock is changing the config files to be based on templates,
which breaks how we generate the live build mock config. This
should work with both the old and new config files.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-09-23 16:00:08 -07:00