Commit graph

228 commits

Author SHA1 Message Date
Jeremy Cline
e16b83df7f
Update container to Fedora 44, use mostly distro packages
Some checks failed
/ test (push) Failing after 24s
Recently there was a regression in Pika, and it would generally be nice
to use distribution packages for most of our dependencies. Since the
image tester is already committing similar crimes I think it's fine for
the uploader, too.

Right now we only pull in the Google SDK bits from PyPI, as well as the
Azure compute module from there since the Azure CLI pins an ancient
version.

Signed-off-by: Jeremy Cline <jeremycline@microsoft.com>
2026-08-06 13:32:05 -04:00
Jeremy Cline
2822223eef
Update fedora-image-tester to Fedora 44 container
Upstream has dropped the dependency on PyGObject entirely so next
release should be simpler.

Signed-off-by: Jeremy Cline <jeremycline@microsoft.com>
2026-08-06 13:31:56 -04:00
Jeremy Cline
de9fce6412
Temporarily pin pika to 1.4.1 or lower
Some checks failed
/ test (push) Failing after 26s
See also: https://github.com/pika/pika/pull/1678

Signed-off-by: Jeremy Cline <jeremycline@microsoft.com>
2026-08-05 15:24:39 -04:00
Jeremy Cline
cbcb72860d
azure: maybe fix crashing on gallery creation
Some checks failed
/ test (push) Failing after 23s
Somewhat recently, Azure images started failing to upload, crashing when
calling azure_compute_client.gallery_images.begin_create_or_update with
a server-side error of "HttpResponseError: (InvalidParameter) Required
parameter 'galleryImageVersionName' is missing (null)."

It _seems_ like it no longer allows updating a gallery image (even if
there are no actual updates happening, it just declares it as it always
was) with features that don't include a version within that gallery
where the feature is first enabled.

Signed-off-by: Jeremy Cline <jeremycline@microsoft.com>
2026-06-10 12:33:44 -04:00
Jeremy Cline
7bfe363c87
azure: drop compute API pin
Some checks failed
/ test (push) Failing after 23s
SDKs have been moving away from bundling all the API versions so this
isn't going to keep working.

Signed-off-by: Jeremy Cline <jeremycline@microsoft.com>
2026-06-10 11:48:29 -04:00
Jeremy Cline
18dec91847
Temporarily avoid updating to azure-mgmt-compute 38
Some checks failed
/ test (push) Failing after 34s
It's got a massive list of breaking changes and at least one of them
impact us.

Signed-off-by: Jeremy Cline <jeremycline@microsoft.com>
2026-06-10 11:15:47 -04:00
Jeremy Cline
faf71a4c50
Update LISA to 20260521.1
Signed-off-by: Jeremy Cline <jeremycline@microsoft.com>
2026-06-10 11:10:13 -04:00
Jeremy Cline
9fce8ba796
fedora-image-tester: Tweak requires to fix the container build
If we list the git repo installing a wheel of this package fails. We
have some silly work-arounds for LISA not being on PyPI (but really
really need to go chase that down).

Signed-off-by: Jeremy Cline <jeremycline@microsoft.com>
2026-04-27 15:46:48 -04:00
Jeremy Cline
1cd3f2a813
Drop the fedora-image-tester tests for Azure
None of these tests actually work since I reworked things to deal with
the long test times and AMQP ack timeouts. They also reference a lot of
since-deleted code. It'd obviously be good to have working tests, but no
tests are better than confusingly wrong tests.

Signed-off-by: Jeremy Cline <jeremycline@microsoft.com>
2026-04-27 15:35:17 -04:00
93debbb5ec
Add a .gitignore 2026-04-26 17:23:09 +01:00
d7bf37c5ff
Add Forgejo job to run tests 2026-04-26 17:22:31 +01:00
f7bcc53be9
Update tests to handle that since ba8b8e0, we only delete images that we own 2026-04-26 17:00:45 +01:00
658016a534
Fixup failing AWS test
Not totally sure about this one, I've removed a couple of test
conditions where it seems like an image was expected to be filtered out
but the only thing which has changed since the previous line was
removing the thing that caused it to be filtered in the first place.

Happy to put these back if someone can explain what the intention was.
2026-04-26 16:45:57 +01:00
6521f0e9f9
Skip GCP tests if the GCP environment variables aren't set 2026-04-26 16:23:27 +01:00
86fc6dc6ff
Skip Azure tests if the Azure environment variables aren't set 2026-04-26 16:18:41 +01:00
3e5fac69f2
Make all tests runnable through hatch test 2026-04-26 16:13:40 +01:00
Jeremy Cline
f28d44e62b
fedora-image-tester: don't assume the compose ID is a date
GA and RC composes aren't formatted as a date. Pull the value from the
metadata instead, and fall back to the current time if that fails.

Signed-off-by: Jeremy Cline <jeremycline@microsoft.com>
2026-04-15 13:18:07 -04:00
Jeremy Cline
1c95e2b032
fedora-image-tester: skip any non-F44 image for testing
This is a gross short term hack so we don't run out of Azure credits.

Signed-off-by: Jeremy Cline <jeremycline@microsoft.com>
2026-04-03 12:38:41 -04:00
Jeremy Cline
c9dafe9058
Update to LISA 20260330.1
Signed-off-by: Jeremy Cline <jeremycline@microsoft.com>
2026-04-03 12:32:21 -04:00
Jeremy Cline
f258ac24cc
gcp: Fix missing logging format parameter
Signed-off-by: Jeremy Cline <jeremycline@linux.microsoft.com>
2026-03-16 13:18:53 -04:00
Jeremy Cline
7824c7153f
fedora-image-tester: adjust test result paths
This puts Rawhide and ELN under the Fedora directory in the storage
container; they already both include Rawhide/ELN in their path so it
should be okay to not replicate that.

Signed-off-by: Jeremy Cline <jeremycline@linux.microsoft.com>
2026-03-09 13:49:31 -04:00
Jeremy Cline
6297b35ec0
Update LISA to v20260309.1
Signed-off-by: Jeremy Cline <jeremycline@linux.microsoft.com>
2026-03-09 10:25:05 -04:00
f86e0e8ce9 Add composes.json manifest for test results dashboard
Maintain composes.json along with junit and html results to the azure
blob sotrage. This enables to query test results programmatically for
the dashboard

Signed-off-by: Bala Konda Reddy M <bala12352@gmail.com>
2026-03-03 16:14:28 -08:00
Jeremy Cline
66b519651b
Update LISA to v20260202.1 2026-02-12 12:30:27 -05:00
Jeremy Cline
e82b9ec5cb
Update LISA to v20260126.1
Release notes: https://github.com/microsoft/lisa/releases/tag/20260126.1

Signed-off-by: Jeremy Cline <jeremycline@linux.microsoft.com>
2026-01-30 15:39:52 -05:00
Jeremy Cline
65f25c1919
Update fedora-image-uploader image to F43
Signed-off-by: Jeremy Cline <jeremycline@linux.microsoft.com>
2026-01-20 10:09:51 -05:00
Jeremy Cline
a7ef2a3a5e
Update LISA to v20260119.1
This also required bumping the container to F43 due to the Pillow
version required.

Signed-off-by: Jeremy Cline <jeremycline@linux.microsoft.com>
2026-01-20 10:08:58 -05:00
9f89e9dcbf Drop a couple of conditionals obsolete since F39 went EOL
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2026-01-06 11:56:09 -08:00
Jeremy Cline
1b2334ea82
fedora-image-tester: update to LISA 20251208
This includes two fixes for Fedora test failures, one of which we were
carrying as a patch (to work with systemd 258+). The second fixes the
enable kprobe test.

Signed-off-by: Jeremy Cline <jeremycline@linux.microsoft.com>
2025-12-08 13:42:19 -05:00
Jeremy Cline
118fc5401e
fedora-image-tester: immediately acknowledge messages
Running the tests can take some time, and often runs up against the
maximum time RabbitMQ will wait for a message to be acknowledged. To
work around this, we have to defer running the tests to a thread and
immediately return from our callback so the library acknowledges the
message for us.

This means that if the consumer fails (or is restarted) we won't get a
redelivery of the message. However, images are built daily so losing one
day's test results isn't the end of the world. To ensure the loss of
messages isn't too great, the consumer sets up a queue of size one and
periodically nacks the next message. This is not exactly elegant, but to
"do it right" we'd need to use the AMQP library directly.
2025-12-05 10:53:27 -05:00
Jeremy Cline
c05031171a
azure: skip cleaning up untagged resources as well
The tags attribute is None if there's no tags, not an empty dictionary.
Skip untagged resources for cleanup.
2025-12-04 11:17:29 -05:00
Jeremy Cline
ba8b8e0b3a
azure: Only delete images owned by this application
In order to not step on other images in the gallery, we need to filter
out images we didn't upload.
2025-12-04 10:01:42 -05:00
Jeremy Cline
b2abcad74b
Use non-capitalized delete tag
Elsewhere is already using non-capitalized delete tags, so let's be
consistent.
2025-12-04 09:44:46 -05:00
Jeremy Cline
139eebf344
Pick up a LISA fix for systemd 258
Currently many tests fail due to systemd introducing ANSI escape
sequences in logs the tests are inspecting. We should be able to drop
this patch whenever there's a new LISA release.
2025-12-04 09:44:22 -05:00
Jeremy Cline
2f755f9f39
Pass an integer to timedelta, not a string 2025-12-03 09:09:17 -05:00
Jeremy Cline
756ec1be21
Clean up old resource groups LISA makes
In the event the test run is interrupted (the pod is redeployed, for
example), it'll leave a bunch of expensive VMs running forever. This
adds a "delete" tag to resources LISA makes and does a check each run
for any stale resources.

Signed-off-by: Jeremy Cline <jeremycline@linux.microsoft.com>
2025-12-02 11:34:01 -05:00
Jeremy Cline
591d819c80
Switch the message category to "fedora_image_uploader"
This lets you see both the test results and published image messages in
https://apps.fedoraproject.org/datagrepper/v2/search?category=fedora_image_uploader
and it also aligns with the package it is in.

Signed-off-by: Jeremy Cline <jeremycline@linux.microsoft.com>
2025-12-02 10:40:01 -05:00
Jeremy Cline
68abe45696
Update LISA to v20251124
Until we get LISA on PyPI bumping the version is an unfortunately manual
process
2025-12-01 15:51:26 -05:00
Jeremy Cline
e4ddf2bb4b
fedora-image-tester: note configs are in the repo root
The readme in the image tester package didn't specify that the config
file and containerfile are in the repository root. Also, add an example
of reconsuming a message for testing purposes.

Signed-off-by: Jeremy Cline <jeremycline@linux.microsoft.com>
2025-11-21 13:18:49 -05:00
Jeremy Cline
5401c2d22f
azure: switch to DefaultAzureCredential class
This loads the credentials from a number of sources (azure-cli login,
environment variables, etc).

For production, we expect the AZURE_CLIENT_ID, AZURE_TENANT_ID, and
AZURE_CLIENT_SECRET or AZURE_CLIENT_CERTIFICATE_PATH variables to be
set.

Signed-off-by: Jeremy Cline <jeremycline@linux.microsoft.com>
2025-11-19 10:47:59 -05:00
Jeremy Cline
3ed63f9e56
fedora-image-tester: specify the working directory for LISA
Without this, it'll attempt to write in the default working directory
for the container, which is not write-able in environments like
OpenShift.

Signed-off-by: Jeremy Cline <jeremycline@linux.microsoft.com>
2025-11-18 12:44:40 -05:00
Jeremy Cline
f3101d67c1
azure: Rename GalleryDiskImageSource parameter
The parameter changed from "id" to "storage_account_id" when uploading,
presumably because the id field is used for the resource itself and not
the storage account. This breaking change was recently enforced server
side.

Signed-off-by: Jeremy Cline <jeremycline@linux.microsoft.com>
2025-11-18 07:51:14 -05:00
Jeremy Cline
9e3d230981
image-tester: write a minimal index page
In order to make it easier to browse results, write out an index file to
the storage container.

Signed-off-by: Jeremy Cline <jeremycline@linux.microsoft.com>
2025-11-11 13:44:05 -05:00
Jeremy Cline
15b67101ef
fedora-image-tester: various fix-ups
Fixes up the Containerfile so it installs properly. This also ensures
the resource groups LISA creates are tagged so they can be easily
cleaned up asynchronously if LISA fails to clean up for whatever reason
(e.g. the container is restarted during a run).

Signed-off-by: Jeremy Cline <jeremycline@linux.microsoft.com>
2025-11-10 13:28:30 -05:00
Jeremy Cline
862a365251
Rename to fedora-image-tester
Signed-off-by: Jeremy Cline <jeremycline@linux.microsoft.com>
2025-11-07 14:40:02 -05:00
Jeremy Cline
a72884d54f
Add a Containerfile for the testing consumer
Signed-off-by: Jeremy Cline <jeremycline@linux.microsoft.com>
2025-10-31 15:39:56 -04:00
Jeremy Cline
30495f452b
Apply project formatting
Signed-off-by: Jeremy Cline <jeremycline@linux.microsoft.com>
2025-10-31 15:35:05 -04:00
Jeremy Cline
17a4823811
Combine the messaging packages
Rather than distributing the two message schema separately, just keep
them in one package. The name is not quite as accurate now, but it's a
lot less work.

Signed-off-by: Jeremy Cline <jeremycline@linux.microsoft.com>
2025-10-31 14:10:12 -04:00
25c603dd06
Create a consumer to run tests via LISA
This commit introduces a new fedora-messaging consumer which runs LISA
tests against uploaded Azure images.

Signed-off-by: Bala Konda Reddy M <bala12352@gmail.com>
Signed-off-by: Jeremy Cline <jeremycline@linux.microsoft.com>
2025-10-31 12:00:55 -04:00
Jeremy Cline
bcdc84b8a8
azure: Tag images with the time they should be deleted
This is in preparation to add a garbage collection task for our Azure
subscription like the AWS account has. Resources including a "Delete"
tag with a date will be deleted after that date.

Signed-off-by: Jeremy Cline <jeremycline@linux.microsoft.com>
2025-10-10 12:22:52 -04:00