After the move of the repo configs to `osbuild/images`, we changed the
way to determine the all available distro repo configs by taking the
last release of 'images'. This turns out to be fragile, especially when
the test case is being run on a "rhel-x.y.0" branch or basically with
any old osbuild-composer binary. It could happen also in Nightly test
pipelines after the devel freeze.
We always compile osbuild-composer binary with debug information, so we
can determine the vendored 'images' version from the binary. We also
always ship repo configs from the same 'images' version in the RPMs.
Therefore modify the test case to check out the 'images' version that
osbuild-composer was compiled with and use repo configs from that
version.
In addition, don't reduce the depth when cloning the images repository,
because even 200 commits may be too little on some older RHEL ZStream
branches.
Signed-off-by: Tomáš Hozza <thozza@redhat.com>
Previously, the code would remove everything after the first dot in the
repo config filename. So 'rhel-10.0.json' -> 'rhel-10'. This means that
there was just a bunch of 'rhel-X' repo config names to compare. This is
probably a leftover from the days before we introduced dot-notation for
distro names.
Modify the test to effectivelly strip only the filename extension (the
part after the last dot, including the dot).
Signed-off-by: Tomáš Hozza <thozza@redhat.com>
The type of the minsize parameter in the new disk customization was
meant to support both integers (size in bytes) and strings (size with
unit). However, the schema wasn't done properly, which made any input
result in an error:
GenericError: Failed to create the compose request:
{"code":"IMAGE-BUILDER-COMPOSER-30","details":"request body has an
error: doesn't match schema #/components/schemas/ComposeRequest:
Error at \"/customizations/disk/partitions/0\": doesn't match schema
due to: Error at \"/minsize\": input matches more than one oneOf
schemas
Reducing it to just support strings simplifies the schema. It's also
not an important feature reduction since sizes as integers (for
filesystems that are typically in GiB) aren't very convenient.
tag v0.140.0
Tagger: imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com>
Changes with 0.140.0
----------------
* Loader part override followups (osbuild/images#1466)
* Author: Michael Vogt, Reviewers: Tomáš Hozza
* RHEL-10/gce: install cloud-utils-growpart by default (osbuild/images#1463)
* Author: Tomáš Hozza, Reviewers: Michael Vogt, Simon de Vlieger
* base-host-check: expand to cover more (COMPOSER-2498) (osbuild/images#1432)
* Author: Simon de Vlieger, Reviewers: Tomáš Hozza
* rhel8,9: move partitioning into YAML (osbuild/images#1390)
* Author: Michael Vogt, Reviewers: Tomáš Hozza
— Somewhere on the Internet, 2025-04-28
---
tag v0.141.0
Tagger: imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com>
Changes with 0.141.0
----------------
* Shrink the current installer images a bit (osbuild/images#1423)
* Author: Brian C. Lane, Reviewers: Achilleas Koutsou, Simon de Vlieger, Tomáš Hozza
* Update EL10 Azure images with changes made in RHEL 9.6 (osbuild/images#1472)
* Author: Achilleas Koutsou, Reviewers: Michael Vogt, Tomáš Hozza
* distro: add DNFSetReleaseVerVar to ImageConfig (osbuild/images#1465)
* Author: Michael Vogt, Reviewers: Achilleas Koutsou, Tomáš Hozza
* test/base-host-check.sh: fix disabled firewall services check (osbuild/images#1471)
* Author: Sanne Raymaekers, Reviewers: Achilleas Koutsou, Tomáš Hozza
— Somewhere on the Internet, 2025-04-29
---
Expose the ${SUBJ} customization in Cloud API. Weldr API inherited it
automatically with the update of `osbuild/blueprint` to v1.6.0.
Adjust relevant test cases and unit tests to use this new customization.
Signed-off-by: Tomáš Hozza <thozza@redhat.com>
The image type names for Fedora were changed in images 0.138.0, aliases
were left behind so the old names still exist.
Split out the testcases between rhel and fedora so we test for the new
names being returned.
Signed-off-by: Simon de Vlieger <supakeen@redhat.com>
Includes
tag v0.134.0
Tagger: imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com>
Changes with 0.134.0
----------------
* Distro/el10/ec2/modprobe: blacklist 'i2c_piix4' (RHEL-71926) (osbuild/images#1395)
* Author: Tomáš Hozza, Reviewers: Achilleas Koutsou, Michael Vogt
* Update osbuild dependency commit ID to latest (osbuild/images#1391)
* Author: SchutzBot, Reviewers: Achilleas Koutsou, Tomáš Hozza
* distro/rhel9/azure: blacklist more modules on 9.6+ (RHEL-79065) (osbuild/images#1394)
* Author: Achilleas Koutsou, Reviewers: Michael Vogt, Simon de Vlieger
* distro/rhel9/azure: exclude microcode_ctl on 9.6+ (RHEL-79065) (osbuild/images#1405)
* Author: Achilleas Koutsou, Reviewers: Michael Vogt, Tomáš Hozza
* test: add configs for Azure that match official builds (osbuild/images#1411)
* Author: Achilleas Koutsou, Reviewers: Michael Vogt, Tomáš Hozza
* test: fix description of `build-image` (osbuild/images#1420)
* Author: Michael Vogt, Reviewers: Achilleas Koutsou, Simon de Vlieger
* tools/gen-manifest-checksums: sort by image name (osbuild/images#1406)
* Author: Achilleas Koutsou, Reviewers: Michael Vogt, Simon de Vlieger
— Somewhere on the Internet, 2025-04-14
---
tag v0.135.0
Tagger: imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com>
Changes with 0.135.0
----------------
* RHEL 9.6+ & 10.0+: install system-reinstall-bootc AWS and Azure [COMPOSER-2502] (osbuild/images#1435)
* Author: Achilleas Koutsou, Reviewers: Ondřej Budai
* RHEL 9.6+/Azure: systemd service and script for dataloss warning on temporary resource disk (osbuild/images#1434)
* Author: Achilleas Koutsou, Reviewers: Tomáš Hozza
* Set refclock in chrony config for Azure images on RHEL 9.6+ (RHEL-79065) (osbuild/images#1400)
* Author: Achilleas Koutsou, Reviewers: Tomáš Hozza
* Update snapshots to 20250415 (osbuild/images#1431)
* Author: SchutzBot, Reviewers: Achilleas Koutsou
* WSL: add packages for podman and proc utilities (COMPOSER-2455) (osbuild/images#1425)
* Author: Sanne Raymaekers, Reviewers: Tomáš Hozza
* [RHEL-9.6+/Azure]: update waagent.conf and add nvme_core.io_timeout kernel arg (osbuild/images#1430)
* Author: Achilleas Koutsou, Reviewers: Ondřej Budai, Sanne Raymaekers
* [RHEL/Azure RHUI] Disable `auto_enable_yum_plugins` in the RHSM config as a BP customization (osbuild/images#1415)
* Author: Tomáš Hozza, Reviewers: Achilleas Koutsou
* ci: dependency updater gobump golang fix (osbuild/images#1441)
* Author: Lukáš Zapletal, Reviewers: Ondřej Budai
* ci: dependency updater gobump typo (osbuild/images#1439)
* Author: Lukáš Zapletal, Reviewers: Achilleas Koutsou
* ci: dependency updater via gobump (osbuild/images#1385)
* Author: Lukáš Zapletal, Reviewers: Achilleas Koutsou
* distro: almalinux and almalinux_kitten (osbuild/images#1375)
* Author: Simon de Vlieger, Reviewers: Neal Gompa (ニール・ゴンパ), Ondřej Budai
* fedora: bump branched and rawhide (osbuild/images#1440)
* Author: Simon de Vlieger, Reviewers: Achilleas Koutsou, Ondřej Budai
* github: don't run manifest checksum validation on main (osbuild/images#1437)
* Author: Achilleas Koutsou, Reviewers: Ondřej Budai, Simon de Vlieger
* manifesttest: add helper to find stages in a pipeline (osbuild/images#1418)
* Author: Michael Vogt, Reviewers: Lukáš Zapletal, Simon de Vlieger
* rhsm: support for podman secrets (osbuild/images#1414)
* Author: Lukáš Zapletal, Reviewers: Simon de Vlieger
— Somewhere on the Internet, 2025-04-16
---
tag v0.136.0
Tagger: imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com>
Changes with 0.136.0
----------------
* ci: dependency updater gobump git fix (osbuild/images#1442)
* Author: Lukáš Zapletal, Reviewers: Achilleas Koutsou
— Somewhere on the Internet, 2025-04-21
---
tag v0.137.0
Tagger: imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com>
Changes with 0.137.0
----------------
* RHEL 9.6+ Azure: enable the dataloss warning service and add unmanaged devices to the NetworkManager config (osbuild/images#1447)
* Author: Achilleas Koutsou, Reviewers: Ondřej Budai, Tomáš Hozza
— Somewhere on the Internet, 2025-04-22
---
Includes
tag v0.129.0
Tagger: imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com>
Changes with 0.129.0
----------------
* Update osbuild dependency commit ID to latest (osbuild/images#1347)
* Author: SchutzBot, Reviewers: Achilleas Koutsou, Ondřej Budai
* distro: move fedora partition tables into YAML (osbuild/images#1362)
* Author: Michael Vogt, Reviewers: Achilleas Koutsou, Simon de Vlieger
* osbuild: create .mount and .swap units in /etc/systemd (osbuild/images#1366)
* Author: Achilleas Koutsou, Reviewers: Michael Vogt, Simon de Vlieger
— Somewhere on the Internet, 2025-03-28
---
tag v0.130.0
Tagger: imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com>
Changes with 0.130.0
----------------
* Imageconfig no osbuild (osbuild/images#1350)
* Author: Michael Vogt, Reviewers: Achilleas Koutsou, Simon de Vlieger
* osbuild: add insights-client config stage (HMS-5670) (osbuild/images#1274)
* Author: rverdile, Reviewers: Achilleas Koutsou, Simon de Vlieger
— Somewhere on the Internet, 2025-04-01
---
tag v0.131.0
Tagger: imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com>
Changes with 0.131.0
----------------
* Update snapshots to 20250401 (osbuild/images#1374)
* Author: SchutzBot, Reviewers: Achilleas Koutsou, Simon de Vlieger
* disk: add missing json/yaml keys for disk structs (osbuild/images#1378)
* Author: Michael Vogt, Reviewers: Achilleas Koutsou, Simon de Vlieger
* distro/fedora: move defaultImageConfig into YAML (osbuild/images#1337)
* Author: Michael Vogt, Reviewers: Achilleas Koutsou, Simon de Vlieger
* distro: add `ImageType.BasePartitionTable()` (osbuild/images#1376)
* Author: Michael Vogt, Reviewers: Achilleas Koutsou, Simon de Vlieger
* gen-manifests: show depsolve config in mock depsolve (osbuild/images#1379)
* Author: Achilleas Koutsou, Reviewers: Michael Vogt, Simon de Vlieger
* tools: make gen-manifests-diff run against the merge base (osbuild/images#1356)
* Author: Michael Vogt, Reviewers: Achilleas Koutsou, Tomáš Hozza
— Somewhere on the Internet, 2025-04-03
---
tag v0.132.0
Tagger: imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com>
Changes with 0.132.0
----------------
* Manifest checksums: detect manifest changes in PRs (osbuild/images#1380)
* Author: Achilleas Koutsou, Reviewers: Michael Vogt, Simon de Vlieger
* manifest,image: stop embedding `OSCustomizations` in `manifest.OS` (osbuild/images#1386)
* Author: Michael Vogt, Reviewers: Achilleas Koutsou, Tomáš Hozza
* manifest: addInlineDataAndStages() helper method for the OS and OSTreeDeployment pipelines (osbuild/images#1353)
* Author: Achilleas Koutsou, Reviewers: Michael Vogt, Simon de Vlieger
* osbuild: add new stage org.osbuild.hmac (HMS-5924) (osbuild/images#1369)
* Author: Achilleas Koutsou, Reviewers: Brian C. Lane, Tomáš Hozza
* rhel{7,10}: move partition table into yaml (osbuild/images#1367)
* Author: Michael Vogt, Reviewers: Achilleas Koutsou, Simon de Vlieger
— Somewhere on the Internet, 2025-04-07
---
tag v0.133.0
Tagger: imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com>
Changes with 0.133.0
----------------
* Update snapshots to 20250404 (osbuild/images#1389)
* Author: SchutzBot, Reviewers: Simon de Vlieger, Tomáš Hozza
* dnfjson: provide details if subscription cannot be found (osbuild/images#1393)
* Author: Michael Vogt, Reviewers: Achilleas Koutsou, Lukáš Zapletal, Simon de Vlieger
* manifestgen: extra io.Writer for depsolver (osbuild/images#1384)
* Author: Simon de Vlieger, Reviewers: Michael Vogt, Tomáš Hozza
— Somewhere on the Internet, 2025-04-08
---
tag v0.134.0
Tagger: imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com>
Changes with 0.134.0
----------------
* Distro/el10/ec2/modprobe: blacklist 'i2c_piix4' (RHEL-71926) (osbuild/images#1395)
* Author: Tomáš Hozza, Reviewers: Achilleas Koutsou, Michael Vogt
* Update osbuild dependency commit ID to latest (osbuild/images#1391)
* Author: SchutzBot, Reviewers: Achilleas Koutsou, Tomáš Hozza
* distro/rhel9/azure: blacklist more modules on 9.6+ (RHEL-79065) (osbuild/images#1394)
* Author: Achilleas Koutsou, Reviewers: Michael Vogt, Simon de Vlieger
* distro/rhel9/azure: exclude microcode_ctl on 9.6+ (RHEL-79065) (osbuild/images#1405)
* Author: Achilleas Koutsou, Reviewers: Michael Vogt, Tomáš Hozza
* test: add configs for Azure that match official builds (osbuild/images#1411)
* Author: Achilleas Koutsou, Reviewers: Michael Vogt, Tomáš Hozza
* test: fix description of `build-image` (osbuild/images#1420)
* Author: Michael Vogt, Reviewers: Achilleas Koutsou, Simon de Vlieger
* tools/gen-manifest-checksums: sort by image name (osbuild/images#1406)
* Author: Achilleas Koutsou, Reviewers: Michael Vogt, Simon de Vlieger
— Somewhere on the Internet, 2025-04-14
---
commit a1ca7f34c770ac869387213923fa64ec36180084
Changes with a1ca7f34c770ac869387213923fa64ec36180084
----------------
* RHEL 9.6+/Azure: systemd service and script for dataloss warning on temporary resource disk (osbuild/images#1434)
* Author: Achilleas Koutsou, Reviewers: Tomáš Hozza
* Set refclock in chrony config for Azure images on RHEL 9.6+ (RHEL-79065) (osbuild/images#1400)
* Author: Achilleas Koutsou, Reviewers: Tomáš Hozza
* Update snapshots to 20250415 (osbuild/images#1431)
* Author: SchutzBot, Reviewers: Achilleas Koutsou
* WSL: add packages for podman and proc utilities (COMPOSER-2455) (osbuild/images#1425)
* Author: Sanne Raymaekers, Reviewers: Tomáš Hozza
* [RHEL-9.6+/Azure]: update waagent.conf and add nvme_core.io_timeout kernel arg (osbuild/images#1430)
* Author: Achilleas Koutsou, Reviewers: Ondřej Budai, Sanne Raymaekers
* [RHEL/Azure RHUI] Disable `auto_enable_yum_plugins` in the RHSM config as a BP customization (osbuild/images#1415)
* Author: Tomáš Hozza, Reviewers: Achilleas Koutsou
* ci: dependency updater gobump golang fix (osbuild/images#1441)
* Author: Lukáš Zapletal, Reviewers: Ondřej Budai
* ci: dependency updater gobump typo (osbuild/images#1439)
* Author: Lukáš Zapletal, Reviewers: Achilleas Koutsou
* ci: dependency updater via gobump (osbuild/images#1385)
* Author: Lukáš Zapletal, Reviewers: Achilleas Koutsou
* distro: almalinux and almalinux_kitten (osbuild/images#1375)
* Author: Simon de Vlieger, Reviewers: Neal Gompa (ニール・ゴンパ), Ondřej Budai
* fedora: bump branched and rawhide (osbuild/images#1440)
* Author: Simon de Vlieger, Reviewers: Achilleas Koutsou, Ondřej Budai
* github: don't run manifest checksum validation on main (osbuild/images#1437)
* Author: Achilleas Koutsou, Reviewers: Ondřej Budai, Simon de Vlieger
* manifesttest: add helper to find stages in a pipeline (osbuild/images#1418)
* Author: Michael Vogt, Reviewers: Lukáš Zapletal, Simon de Vlieger
* rhsm: support for podman secrets (osbuild/images#1414)
* Author: Lukáš Zapletal, Reviewers: Simon de Vlieger
---
The vmware tests are consistently failing. While the build succeeds,
the upload step fails with:
Unable to protect host, if the host isn't running as part of an
autoscaling group, this can safely be ignored: operation error Auto
Scaling: DescribeAutoScalingInstances, get identity: get credentials:
failed to refresh cached credentials, no EC2 IMDS role found,
operation error ec2imds: GetMetadata, http response error StatusCode:
404, request to EC2 IMDS failed
Disabling the test until we have time to look into it furhter.
The vsphere verification is failing consistently with the following
error message from govc:
A component of the virtual machine is not accessible on the host.
Disabling it until we have time to look into it further.
The version check is failing on the "dot" version, while trying to
convert "118.1" to an integer. Delete the condition for skipping the
test, because it will never be running on anything older than v83
anyway.
Signed-off-by: Tomáš Hozza <thozza@redhat.com>
Add a check which leverages the osbuild/images@check-spec-deps-action
action to check that the SPEC files requires at least the minimum
versions for dependencies specified by the `osbuild/images`.
Signed-off-by: Tomáš Hozza <thozza@redhat.com>
Test actual image builds of older distros on RHEL and CentOS, to catch
issues such as https://issues.redhat.com/browse/RHEL-71397.
The test can be later extended to cover also Fedora, but this is out of
scope at this point, since the goal is to ensure that RHEL cross-distro
builds work, because these differ a lot.
Signed-off-by: Tomáš Hozza <thozza@redhat.com>
This will allow using them inside Bash function that return values,
without tainting the returned value.
Signed-off-by: Tomáš Hozza <thozza@redhat.com>
This test case is no longer being run with an osbuild-composer version
lower than v97, so there's no need to special case it.
Signed-off-by: Tomáš Hozza <thozza@redhat.com>
Completely remove the /etc/osbuild-composer/repositories directory used
for repo overrides, to ensure that only repos from the RPM are used.
Moreover, instead of trying to restart osbuild-composer, which is always
a tricky thing to do, let's just stop all services and call the Weldr
API. Since the service is socket-activated, this will start all the
necessary services.
Signed-off-by: Tomáš Hozza <thozza@redhat.com>
Add a workaround for the issue that podman falls back to the 'cni'
network backend when finding any container images in the local storage
when executed for the first time. Since we started embedding container
images in our CI runner images, this resulted in failures, because the
OS is missing some required CNI plugins. Until we somehow fix this in
osbuild, we explicitly set the network backend to 'netavark'.
This is relevant only for RHEL-9 / c9s, because Fedora since F40 and
el10 support only `netavark` backend.
Signed-off-by: Tomáš Hozza <thozza@redhat.com>
We used to provide the cloud-init user-data and meta-data to the VM as
key/value in the VM's extraConfig as guestinfo keys. This replaces bunch
of code that used to create an ISO, upload it to VSphere and attach it
to the VM.
We recently started to observe issues when uploading the ISO to our
testing VSphere instance in CI. This commit aims to circumvent this
issue by using a different and simpler way to provide the cloud-init
data to the VM.
Signed-off-by: Tomáš Hozza <thozza@redhat.com>
Define a reusable minsize property in the cloud API schema.
The minsize type is either a uint64 or a string with data units.
Internally, this creates a union (json.RawMessage) type called Minsize
and optional uses of the property are of type *Minsize. We define an
internal decodeMinsize() function to convert *Minsize to uint64. This
is similar to the decodeSize() function in the blueprint, but made
specifically to handle *Minsize.
Removes an ineffectual GO111MODULE=off assignment in the build phase, as
we require go to run in module mode at that stage.
In the check phase we run without go modules, so the same stipulation as
on RHEL applies, where the vendor directory gets ignored in certain
cases. Also remove `-mod=vendor` from GOFLAGS on RHEL during the check
phase, as without go modules this is an ineffectual flag.
Fixed distribution list type, function signatures (later versions parse
uuids in the generated code), defaults actually being set and added
x-go-type where needed.