Testing Farm release 2026-07.1

Testing Farm release 2026-07.1 was deployed on 2026-07-13 🎉.

🚀 Upgrades

tmt was updated to 1.76 from 1.75.

Artemis was updated to v0.0.91 from v0.0.90 on Red Hat ranch.

🎯 Highlights

Flavor filters can now be defined in the pool configuration, and the routing report now surfaces the flavor filter rulings applied to each request, making it easier to understand why a particular guest was selected (testing-farm/artemis!1584, testing-farm/artemis!1592).

Beaker provisioning now remembers recently aborted hosts and avoids reusing them, reducing the chance of repeated failures on unhealthy machines (TFT-3313).

Failing plans are now explained at both the request and plan levels: each plan reports a stage-aware error reason (e.g. guest setup failed: …​) with a link to the failing phase’s log, and the request now carries a high-level summary such as 3 plans failed, 2 plans errored out. The error reason and log link are rendered inline in the plan summary (testing-farm/gluetool-modules!1073, testing-farm/oculus!97).

🚀 Improvements

AWS network interfaces (ENIs) are now tagged for both spot and standard instances (TFT-4805).

IBM Cloud boot volumes are now tagged, and the resource-tags check was fixed accordingly (TFT-4806).

The resource manager now logs guest acquisition attempts, previously logged from individual drivers, giving a consistent view of provisioning attempts (testing-farm/artemis!1586).

Fixed environment variables not being forwarded to tmt discovery and export invocations, which caused plans imported with scope: all-plans to be skipped as empty (testing-farm/gluetool-modules!1079).

Testing Farm now refuses unsafe SSH options (e.g. ProxyCommand) coming from plan metadata or TMT_SSH_* variables, and ignores extra options in the plan-name filter, hardening test execution (TFT-4839, TFT-4849).

CLI 400 error messages now include ranch, role, and token name for easier debugging (testing-farm/cli!233).

CLI no longer shows progress spinners in non-interactive output (testing-farm/cli!237).

The results viewer "show passed tests" toggle now also hides skipped tests (testing-farm/oculus!99).

Token lookups are now cached in the API, reducing database pool pressure under heavy load (testing-farm/nucleus!313).

The worker SIGTERM timeout was increased to 120 seconds, giving long-running test cleanup more time before the worker is killed (testing-farm/gluetool!236, testing-farm/infrastructure!1483).

📝 Documentation

Added an FAQ entry for efibootmgr missing on Beaker after booting kernel-rt on RHEL < 10, with a workaround using kernel-options-post: efi=runtime.

🐞 Bugfixes

Fixed Beaker bootc (image-mode) installs by merging user kickstart metadata with the bootc ks-meta, so ostreecontainer --url= is no longer emptied (TFT-4779).

Fixed the SELinux context of /etc/resolv.conf not being restored by the workarounds.dns workaround (TFT-4769).

Allowed end-time: null in tmt subresults, preventing failures when a subresult has no end time (TFT-4821).

Added the missing patch-flavors schema key for the IBM Cloud VPC driver (testing-farm/artemis!1590).

Fixed a database READ COMMITTED isolation-level typo in Artemis (testing-farm/artemis!1589).

Fixed multiple serialization issues causing random 500s from the Testing Farm API (testing-farm/nucleus!314).

Workers now reap leaked Podman bridge interfaces, improving worker stability and reducing provisioning flakes (testing-farm/infrastructure!1409).

The results viewer no longer shows "Tests failed to run" for tests that have no logs (testing-farm/oculus!98).

📦️ Packages

List of important packages bundled in the worker image.

❯ podman run --entrypoint rpm quay.io/testing-farm/worker-public:2026-07.1 -q fmf tmt podman beakerlib | sort | uniq
beakerlib-1.33.3-1.fc44.noarch
fmf-1.7.0-6.fc44.noarch
podman-5.8.4-1.fc44.x86_64
tmt-1.76.0-1.fc44.noarch

🔎 Stats

Number of processed requests in the last 30 days was 196631.

The average error rate for Testing Farm was approximately 4.03%.