Commit Graph

27 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 b371331436 _ostree_build: handle change to repos in workstation-ostree-config
The place where repos are defined changed on the F40+ branches
of workstation-ostree-config, this handles both possibilities.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-02-14 12:29:51 -08:00
Adam Williamson 965dc99ef5 Give ostree_build another half hour again
Another bunch of these timed out. Not sure why. Maybe it's when
I run a lot of them at the same time? Let's try this, again.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-02-06 23:07:25 -08:00
Adam Williamson 09e4f526a8 Revert "Give ostree_build another half hour"
This reverts commit 56c9e80f60.
Things seem to have settled down with the mass rebuild and this
test seems to be back to consistently taking about 90 minutes.
2024-01-30 09:47:44 -08:00
Adam Williamson 56c9e80f60 Give ostree_build another half hour
It seems to be timing out a lot on Rawhide lately. Not sure if
it's just mass rebuild stuff, but anyhow...

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-01-29 17:03:30 -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 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 2e572d72b6 Add --http1.1 to one curl command that didn't have it
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-07-28 10:50:15 -07:00
Adam Williamson ba1d492416 ostree: only use --unified-core on F39+
I think it's breaking F37 and F38 tests, not surprisingly as we
didn't do all the fixes there.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-07-27 12:26:23 -07:00
Adam Williamson bf4a8ec454 Enable unified core for ostree composes
It got enabled in production, so we should do the same here.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-07-25 18:35:58 -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 d5a9e4777e Retry all pagure.io downloads
This tweaks all pagure.io downloads to be retried a few times,
since we seem to be getting failures quite often. We use curl
for this as it has nice options for it.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-07-19 13:37:29 -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 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 2427d8c0dc ostree: get ostree-parse-pungi.py from main again
whoops, forgot to reset this on merging the change.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-06-19 11:21:29 +02:00
Adam Williamson d07b5a4178 Tweak ostree build and rebase for update tests to be more robust
We have had several problems where rebasing from one release to
another just doesn't work, and we have to work around it somehow.
Sometimes it's difficult or impossible to do. All we want to do
here is check the rebase mechanism itself; we don't actually want
to assert that you can rebase to any specific other release.

For update tests, we should be able to use a non-standard ref
name for the ostree we build, embed into the installer image,
and install. That should mean we can then rebase to the standard
ref name for the same release, which should be much safer than
trying to rebase to a different release. We can't do this for
the compose tests, but at least for update tests I'm hoping this
makes things more robust.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-06-11 21:06:57 -07:00
Adam Williamson bac28124a0 _ostree_build: use koji-rawhide.repo in lorax command
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-03-18 08:37:01 -07:00
Adam Williamson 5f8876691f Give _ostree_build lorax command a bit longer
It seems to be timing out a lot.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-16 20:36:14 -08:00
Adam Williamson 0a9abca4a6 _ostree_build: drop a stray comment
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-16 11:52:32 -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 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
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 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 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