Commit graph

7248 commits

Author SHA1 Message Date
Tomáš Hozza
ca1e1dce36 Many: factor out logger implementation from upload/koji
The upload/koji package functions were creating a logger and then were
using it. This is not ideal for a library implementation.

Signed-off-by: Tomáš Hozza <thozza@redhat.com>
2025-07-09 22:51:53 +02:00
Tomáš Hozza
60014b1218 upload/koji: use passed transport in NewFromPlain()
Don't create a new transport in NewFromPlain() using
CreateRetryableTransport(), because the only place
in which NewFromPlain() is called passes the return value of
CreateRetryableTransport() when calling it.

Signed-off-by: Tomáš Hozza <thozza@redhat.com>
2025-07-09 22:51:53 +02:00
schutzbot
55744ac1e8 Post release version bump
[skip ci]
2025-07-09 08:15:36 +00:00
Lukas Zapletal
1cde7e341b common: fix unclosed logrus logging pipes 2025-07-08 11:38:27 +02:00
rverdile
0c325137cf cloudapi/v2: add patch_url to customizations
Supports registering a template to insights on boot. Patch URL is needed
for RHEL 8 and RHEL 9.5 support.
2025-07-04 08:36:23 +02:00
Tomáš Hozza
c2f3e0486c Test/repositories/el8*: use rhui-4 instead of rhui-3
RHUI-3 has been EOL on RHEL-8 and it is no longer being updated and we
do not take new snapshots of it. Use RHUI-4 instead. More info in [1].

It turns out, that the previously used RHUI-3 snapshot was missing
amazon-libdnf-plugin package, wich is required by the RHUI client.
As a result, the "weldr dot-notation" test has been failing in the GA
pipeline on RHEL-8. We do not run the test case on RHEL-8 in PRs of
`main` pipeline, because we test only on nightly composes and there are
no new releases being developed for RHEL-8. Therefore this was
manifesting only in the GA pipeline runs.

This change should fix the failures in the GA pipeline.

[1] https://github.com/osbuild/rpmrepo/pull/119

Signed-off-by: Tomáš Hozza <thozza@redhat.com>
2025-07-03 12:59:52 +02:00
Sanne Raymaekers
3ce8efd80f schutzbot/containerbuild: do not verify images from rh registries 2025-06-27 21:19:21 +02:00
schutzbot
9f7b6210fe schutzfile: Update snapshots to 20250626 2025-06-27 21:19:21 +02:00
Lukas Zapletal
84e26ab591 fix: update gobump GHA 2025-06-26 18:44:35 +02:00
Lukas Zapletal
f0fb23f1af ci: introduce gobump gha 2025-06-26 13:01:27 +02:00
schutzbot
06d060c8df Post release version bump
[skip ci]
2025-06-25 08:16:36 +00:00
Sanne Raymaekers
7dea1bcd01 many: remove jobsite code
This was replaced by `cmd/osbuild-worker-executor`.
2025-06-25 03:01:59 +02:00
Achilleas Koutsou
f6c1709d8d cloudapi: add azure-cvm image type
Introduce the azure-cvm (confidential VM) in the cloud API.
2025-06-24 15:38:32 +02:00
Tomáš Hozza
f1afe0ce26 Schutzfile: unify the pinned osbuild ref
Make sure that we have the same osbuild ref pinned for all distros.

Signed-off-by: Tomáš Hozza <thozza@redhat.com>
2025-06-23 14:37:30 +01:00
Achilleas Koutsou
cf72504057 spec: bump min osbuild version 2025-06-23 14:37:30 +01:00
Achilleas Koutsou
deccaf9548 go.mod: update osbuild/images to v0.151.0
tag v0.149.0
Tagger: imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com>

Changes with 0.149.0

----------------
  * Update dependencies 2025-05-25 (osbuild/images#1560)
    * Author: SchutzBot, Reviewers: Simon de Vlieger, Tomáš Hozza
  * Update osbuild dependency commit ID to latest (osbuild/images#1522)
    * Author: SchutzBot, Reviewers: Simon de Vlieger, Tomáš Hozza
  * Update snapshots to 20250515 (osbuild/images#1524)
    * Author: SchutzBot, Reviewers: Simon de Vlieger, Tomáš Hozza
  * `vagrant-libvirt` implementation (HMS-6116) (osbuild/images#1548)
    * Author: Simon de Vlieger, Reviewers: Achilleas Koutsou, Tomáš Hozza
  * fedora: tweaks after all imageTypes are YAML (osbuild/images#1518)
    * Author: Michael Vogt, Reviewers: Simon de Vlieger, Tomáš Hozza
  * gha: do not break gobump output (osbuild/images#1561)
    * Author: Lukáš Zapletal, Reviewers: Simon de Vlieger, Tomáš Hozza
  * repositories: AlmaLinux 10 (osbuild/images#1567)
    * Author: Simon de Vlieger, Reviewers: Achilleas Koutsou, Lukáš Zapletal, Neal Gompa (ニール・ゴンパ)
  * vagrant: image config for default vagrant user (HMS-6116) (osbuild/images#1565)
    * Author: Simon de Vlieger, Reviewers: Achilleas Koutsou, Michael Vogt

— Somewhere on the Internet, 2025-05-27

---

tag v0.150.0
Tagger: imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com>

Changes with 0.150.0

----------------
  * Replace hardcoded kickstart %post scripts with new stage options and bootc switch with custom kickstart content (HMS-6051) (osbuild/images#1527)
    * Author: Achilleas Koutsou, Reviewers: Simon de Vlieger, Tomáš Hozza
  * test: install yamllint for tests (osbuild/images#1572)
    * Author: Achilleas Koutsou, Reviewers: Lukáš Zapletal, Simon de Vlieger, Tomáš Hozza

— Somewhere on the Internet, 2025-06-02

---

tag v0.151.0
Tagger: imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com>

Changes with 0.151.0

----------------
  * Introduce new Azure CVM image type (HMS-5636) (osbuild/images#1318)
    * Author: Achilleas Koutsou, Reviewers: Nobody
  * Many: support using string with unit for byte-sized partitioning fields in YAML distro definitions (osbuild/images#1579)
    * Author: Tomáš Hozza, Reviewers: Achilleas Koutsou, Brian C. Lane
  * Update osbuild dependency commit ID to latest (osbuild/images#1587)
    * Author: SchutzBot, Reviewers: Achilleas Koutsou, Tomáš Hozza
  * Update snapshots to 20250601 (osbuild/images#1573)
    * Author: SchutzBot, Reviewers: Achilleas Koutsou, Lukáš Zapletal
  * bootc: Make installed rootfs configurable (osbuild/images#1555)
    * Author: Mbarak Bujra, Reviewers: Michael Vogt, Tomáš Hozza
  * distro: create new ImageConfig.DNFConfig (osbuild/images#1583)
    * Author: Michael Vogt, Reviewers: Simon de Vlieger, Tomáš Hozza
  * distro: make "fedora" a "generic" distro (osbuild/images#1563)
    * Author: Michael Vogt, Reviewers: Nobody
  * image: If using a separate build container, copy bootc customization to it (osbuild/images#1571)
    * Author: Alexander Larsson, Reviewers: Achilleas Koutsou, Tomáš Hozza
  * manifest/ostree: explicitly include shadow-utils (osbuild/images#1585)
    * Author: Simon de Vlieger, Reviewers: Achilleas Koutsou, Michael Vogt
  * osbuild/tar: explicit compression (HMS-8573, HMS-6116) (osbuild/images#1581)
    * Author: Simon de Vlieger, Reviewers: Achilleas Koutsou, Tomáš Hozza
  * tests: bump fedora versions to 41 (osbuild/images#1438)
    * Author: Lukáš Zapletal, Reviewers: Brian C. Lane, Michael Vogt

— Somewhere on the Internet, 2025-06-09

---
2025-06-23 14:37:30 +01:00
Sanne Raymaekers
cedc351bbd templates/packer: fix installing rpms from copr
There are now 2 colons present, one separating the epoch and the
version, and one before the comment.
2025-06-20 21:57:04 +02:00
Tomáš Hozza
c4430ffa7a CI: disable consistently failing EDGE CI tests
These test have been failing consistently for very long time (many
months). They need to be investigated and fixed before re-enabling them.

The ticket to re-enable them is:
https://issues.redhat.com/browse/HMS-8719

Signed-off-by: Tomáš Hozza <thozza@redhat.com>
2025-06-20 12:55:17 +02:00
Tomáš Hozza
019c6771c6 CI: disable Installer test on c10s / el10.1 due to a known bug
The ticket to re-enable the test is:
https://issues.redhat.com/browse/HMS-8718

Signed-off-by: Tomáš Hozza <thozza@redhat.com>
2025-06-20 12:55:17 +02:00
Tomáš Hozza
b4e2db8c35 Test/data: add F42 repositories
Signed-off-by: Tomáš Hozza <thozza@redhat.com>
2025-06-20 10:06:51 +02:00
Achilleas Koutsou
61e3fc7f2e Stop testing on Fedora 40 - Start testing on Fedora 42
Signed-off-by: Tomáš Hozza <thozza@redhat.com>
2025-06-20 10:06:51 +02:00
Tomáš Hozza
664f68ba16 schutzbot/terraform: update ref to the one with F42 config
Update the terraform ref to the one that contains F42 configs. This is
needed to start testing anything on F42.

Signed-off-by: Tomáš Hozza <thozza@redhat.com>
2025-06-20 10:06:51 +02:00
schutzbot
378ca76682 schutzfile: Update snapshots to 20250605 2025-06-18 20:40:14 +02:00
Tomáš Hozza
11d821863e GHA: enable the stale action to delete its saved state
It turns out that the stale action is not able to delete its saved
state due to missing permissions. As a result, it was not processing
issues and PRs, that have been processed once, for almost a month.

The error in the job log was:
```
Warning: Error delete _state: [403] Resource not accessible by integration
```

The fix is to add `actions: write` to the action permissions

Signed-off-by: Tomáš Hozza <thozza@redhat.com>
2025-06-18 14:38:12 +02:00
Lukas Zapletal
f2bf47814f deps: upgrade go-systemd from v1 to v22 2025-06-16 17:46:45 +02:00
Achilleas Koutsou
5a5e6d732c clouapi: test Disk customization validation
Two new tests are added, one with valid customizations and another with
invalid customizations.
Invalid customizations will return one of two error types, depending on
where exactly the failures was generated.
When the openapi schema fails to validate a request, it will return
IMAGE-BUILDLER-30.
When the error occurs while converting the openapi customizations to the
blueprint types, it will have the IMAGE-BUILDER-35 type instead.
2025-06-16 13:33:20 +02:00
Achilleas Koutsou
45929efbcf cloudapi: validate Disk customization before returining
After converting a Disk customization from the API type to the Blueprint
equivalent, run the validator and return an error if it fails to
validate.
The schema doesn't catch all invalid cases, such as the mountpoint being
required when the fs_type is not "swap", so calling the validator
ensures that any such cases are caught without needing to duplicate the
checks.
2025-06-16 13:33:20 +02:00
Achilleas Koutsou
ea0b5e8661 cloudapi: make fs_type required for filesystems and logical volumes
While technically this is a backwards incompatible API change, the
core blueprint schema didn't allow for empty or undefined fs_type [1,2],
so the general behaviour hasn't changed, we're just catching it early
now.

[1] de18902e3f/pkg/blueprint/disk_customizations.go (L624-L627)
[2] de18902e3f/pkg/blueprint/disk_customizations.go (L677-L680)
2025-06-16 13:33:20 +02:00
Achilleas Koutsou
a03d01c92c cloudapi: make type mandatory for non-plain partitions
The type is required for partitions with a type other than plain.

This commit also adds the empty string to the valid values in the
conversion switch case and is treated like "plain".
2025-06-16 13:33:20 +02:00
Achilleas Koutsou
6cd4bbc6d2 cloudapi: support swap partitions and volume groups
Supporting "swap" as the fs_type requires making the mountpoint an
optional field.  When setting fs_type="swap", the mountpoint must be
empty.
2025-06-16 13:33:20 +02:00
Achilleas Koutsou
edb9b284d5 cloudapi: return http error when failing to convert disk customizations
Return an HTTP error with the invalid customization message when the
convertDiskCustomizations() function returns an error.

Secondary: The conversion was being run twice by mistake.  This has also
been fixed.
2025-06-16 13:33:20 +02:00
Sanne Raymaekers
90f05db135 Schutzfile: add fedora-42
The packer job actually looks for the osbuild dependency that matches
the distro name that it's about to build. So in the case of fedora-42, a
fedora-42 Schutzfile entry is needed.
2025-06-13 12:00:21 +02:00
Simon Steinbeiss
594286f07b fedora-worker-packer: Bump to Fedora 42 2025-06-12 17:03:48 +02:00
Simon Steinbeiss
47b5b8b101 Schutzfile: Bump all osbuild hashes
This completes the change commited as 612a295bf6
2025-06-12 17:03:48 +02:00
Simon Steinbeiss
612a295bf6 Schutzfile: Bump osbuild ref
This is to work around breakage in Fedora Rawhide and Python 3.14.
2025-06-12 15:39:56 +02:00
schutzbot
01f1fcf34b Post release version bump
[skip ci]
2025-06-11 08:17:01 +00:00
Florian Schüller
f26b992fe1 test/cases/oci.sh: Update shape to newer version
As of today it was recommended by oracle to use the
newer shape to be supported longer.
2025-06-06 14:34:04 +02:00
Florian Schüller
f0d39d986f test/cases/oci: improve CI output
Avoid error message where this is no error.
2025-06-06 14:34:04 +02:00
Florian Schüller
1d45104575 test/README.md: add a hint for the OCI env vars 2025-06-06 14:34:04 +02:00
Tomáš Hozza
a1c0edd71d GH Action/create-tag: allow passing the version when run manually
Modify the action to allow passing the version when run manually. This
will be useful in the future once we branch-off a `rhel-x.y` branch to
backport a fix and will be doing the first "dot" release from such
branch.

Signed-off-by: Tomáš Hozza <thozza@redhat.com>
2025-06-05 22:54:33 +02:00
Achilleas Koutsou
c77ca66191 go.mod: update osbuild/images to v0.148.0
tag v0.145.0
Tagger: imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com>

Changes with 0.145.0

----------------
  * github: run dependabot gomod action weekly (osbuild/images#1476)
    * Author: Achilleas Koutsou, Reviewers: Lukáš Zapletal

— Somewhere on the Internet, 2025-05-12

---

tag v0.146.0
Tagger: imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com>

Changes with 0.146.0

----------------
  * Fixes for ESP partition: Make optional, set label (osbuild/images#1525)
    * Author: Alexander Larsson, Reviewers: Achilleas Koutsou, Brian C. Lane
  * Initial automotive work: custom selinux policy, separate build container for bootc, and ext4 verity (osbuild/images#1519)
    * Author: Alexander Larsson, Reviewers: Achilleas Koutsou, Simon de Vlieger
  * Update snapshots to 20250512 (osbuild/images#1515)
    * Author: SchutzBot, Reviewers: Achilleas Koutsou, Simon de Vlieger
  * disk: make auto-generated /boot 1 GiB big (osbuild/images#1499)
    * Author: Ondřej Budai, Reviewers: Achilleas Koutsou, Michael Vogt
  * distro.yaml: Clean up yamllint errors and warnings (osbuild/images#1523)
    * Author: Brian C. Lane, Reviewers: Michael Vogt, Simon de Vlieger
  * distro/rhel9: make /boot 1 GiB everywhere (osbuild/images#1498)
    * Author: Ondřej Budai, Reviewers: Michael Vogt, Simon de Vlieger
  * distro: move disk/container image types into pure YAML (COMPOSER-2533) (osbuild/images#1508)
    * Author: Michael Vogt, Reviewers: Achilleas Koutsou, Simon de Vlieger
  * fedora: move all image types into pure YAML (osbuild/images#1514)
    * Author: Michael Vogt, Reviewers: Brian C. Lane, Simon de Vlieger
  * fsnode: fix go-1.24 errors  (osbuild/images#1521)
    * Author: Michael Vogt, Reviewers: Ondřej Budai, Tomáš Hozza
  * osbuild: add JSON/YAML unmarshal to UdevRulesStageOptions (osbuild/images#1489)
    * Author: Michael Vogt, Reviewers: Achilleas Koutsou, Simon de Vlieger
  * test: Run more distro tests in parallel (osbuild/images#1483)
    * Author: Brian C. Lane, Reviewers: Michael Vogt, Simon de Vlieger

— Somewhere on the Internet, 2025-05-19

---

tag v0.147.0
Tagger: imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com>

Changes with 0.147.0

----------------
  * Add support for setting partition uuid and label (osbuild/images#1543)
    * Author: Alexander Larsson, Reviewers: Achilleas Koutsou, Simon de Vlieger
  * Cleanup of new APIs (mkfs options and build container) (osbuild/images#1526)
    * Author: Alexander Larsson, Reviewers: Achilleas Koutsou, Simon de Vlieger
  * distro/rhel: remove the user/group warnings for edge-commits (osbuild/images#1538)
    * Author: Achilleas Koutsou, Reviewers: Brian C. Lane, Simon de Vlieger

— Somewhere on the Internet, 2025-05-20

---

tag v0.148.0
Tagger: imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com>

Changes with 0.148.0

----------------
  * Makefile: add vet command to check for consistent struct tags (osbuild/images#1554)
    * Author: Michael Vogt, Reviewers: Lukáš Zapletal, Simon de Vlieger
  * disk: tiny tweaks for the new MkfsOptions support (osbuild/images#1545)
    * Author: Michael Vogt, Reviewers: Achilleas Koutsou, Alexander Larsson, Lukáš Zapletal
  * fedora/many: increase `/boot` to 1 GiB (HMS-8604) (osbuild/images#1557)
    * Author: Simon de Vlieger, Reviewers: Achilleas Koutsou, Ondřej Budai
  * fedora/wsl: include `wsl-setup` (HMS-8573) (osbuild/images#1550)
    * Author: Simon de Vlieger, Reviewers: Brian C. Lane, Michael Vogt
  * fedora: add `anaconda.ModuleUsers` to ImageInstallerImage (osbuild/images#1558)
    * Author: Michael Vogt, Reviewers: Brian C. Lane, Simon de Vlieger
  * fedora: implement setting of the RootfsType via YAML (osbuild/images#1544)
    * Author: Michael Vogt, Reviewers: Brian C. Lane, Simon de Vlieger
  * rhel10: move ImageConfig into pure YAML (osbuild/images#1542)
    * Author: Michael Vogt, Reviewers: Brian C. Lane, Simon de Vlieger

— Somewhere on the Internet, 2025-05-26

---
2025-06-05 10:35:58 +02:00
Brian C. Lane
12dd0b0be4 cloudapi: Fix listing composes with empty result
It was returning a null body instead of an empty list.

Related: RHEL-60120
2025-06-05 10:32:56 +02:00
Brian C. Lane
b33f86783f cloudapi: Add artifact cleanup to delete handler
Related: RHEL-60120
2025-06-05 10:32:56 +02:00
Brian C. Lane
56fc58cca3 cloudapi: Add DeleteCompose to delete a job by UUID
This adds the handler for DELETE /composes/{id} which will delete a job and
all of its dependencies, and any artifacts.

Related: RHEL-60120
2025-06-05 10:32:56 +02:00
Brian C. Lane
a569ac0f7b cloudapi: Add DELETE /composes/{id} route to delete a job
This will be used to delete jobs and their artifacts.

Related: RHEL-60120
2025-06-05 10:32:56 +02:00
Brian C. Lane
f1a2c24563 worker: Add CleanupArtifacts function
This removes all artifact directories, and their contents, if there
isn't an associated Job. This is used to clean up local artifacts after
the compose job has been deleted.

Related: RHEL-60120
2025-06-05 10:32:56 +02:00
Brian C. Lane
c3394ae589 jobqueuetest: Add job delete tests
This adds tests for retrieving all root jobs, and deleting jobs
and unused dependencies. These tests are run against the fsjobqueue for
unit testing, and against dbjobqueue for integration testing.

Resolves: RHEL-60120
2025-06-05 10:32:56 +02:00
Brian C. Lane
c06064c1e2 dbjobqueue: Add DeleteJob to database job queue
This adds SQL to delete jobs and dependencies, and implements the
database version of the DeleteJob function.

Related: RHEL-60120
2025-06-05 10:32:56 +02:00
Brian C. Lane
5cddc4223d dbjobqueue: Add AllRootJobIDs implementation
Related: RHEL-60120
2025-06-05 10:32:56 +02:00
Brian C. Lane
d8285a0b74 jobqueue: Add DeleteJob function
This allows jobs to be deleted from the database.
Currently only implemented by fsjobqueue. The function for
dbjobqueue currently returns nil.

This will remove all the job files used by the root job UUID as long as
no other job depends on them. ie. It starts at the top, and moves down
the dependency tree until it finds a job that is also used by another
job, removes the job to be deleted from its dependants list, and moves
back up the tree only deleting jobs with empty dependants lists.

Related: RHEL-60120
2025-06-05 10:32:56 +02:00