Support EL10 in beaker role - #1976
Merged
Merged
Conversation
ekohl
reviewed
Aug 3, 2026
ekohl
reviewed
Aug 3, 2026
ekohl
left a comment
Member
There was a problem hiding this comment.
Looks like this should say as the commit message "support EL 10 in Beaker role". Other than that, this looks ok to me.
Extends the beaker role's acceptance testing support to EL10 (CentOS Stream 10): - Enable CRB on EL10, needed for build deps like libyaml-devel. - Default BEAKER_PUPPET_COLLECTION to openvox8, since forklift doesn't test any collection other than OpenVox right now. - Work around a podman/beaker-docker incompatibility on EL10: podman's newer Docker-compat API reports HostConfig.NetworkMode as the generic "bridge" while its actual default network is still named "podman", which crashes beaker-docker's NetworkSettings.Networks lookup. Renaming podman's default network to "bridge" before it starts makes the two agree; EL9 doesn't hit this mismatch and is left untouched. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Odilhao
force-pushed
the
add-support-pulp-el10
branch
from
August 3, 2026 18:27
179d356 to
da374d3
Compare
zjhuntin
approved these changes
Aug 3, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Ports the EL10 acceptance testing capability from theforeman/puppet-pulpcore#411 / theforeman/puppet-pulpcore#412 (now on
master) into forklift's real pulpcore pipeline (pipelines/pulpcore/{01-boxes,02-install,03-tests}.yml), which is what runs in Jenkins atpulpcore-nightly-rpm-pipeline.pipelines/pulpcore/03-tests.yml: on EL10, overrideBEAKER_PUPPET_COLLECTIONtoopenvox8. Puppet doesn't publish an EL10 release RPM yet (puppet8-release-el-10.noarch.rpm404s), but OpenVox does (openvox8-release-el-10.noarch.rpm). EL9 and other OSes are unaffected.roles/beaker/tasks/main.yml:libyaml-devel). No ruby-module-enable step was needed for EL10 since it ships Ruby ≥3.2 by default and dropped DNF modularity.HostConfig.NetworkModeas the generic"bridge", while the actual default network it attaches containers to is still named"podman". beaker-docker 3.1.2 looks upNetworkSettings.Networks[NetworkMode]to get the container IP, so that key mismatch crashes withundefined method '[]' for nil. Renaming podman's default network to"bridge"(via acontainers.conf.ddrop-in) makes the two agree. Confirmed EL9/AlmaLinux9 production runs don't hit this (older podman doesn't have the mismatch), so it's gated todistribution_major_version == "10"only.No changes were needed to
01-boxes.yml— thecentos10-streambox (centos/stream10) already exists invagrant/boxes.d/00-centos.yaml, and03-tests.yml's existingbeaker_os: "{{ pipeline_os.replace('-stream', '') }}"correctly producescentos10, matching beaker-hostgenerator'scentos10-64platform.No change was needed for the Redis→Valkey test assertion — that's already fixed in puppet-pulpcore (
spec/acceptance/basic_spec.rb, OS-conditional on valkey vs redis, from theforeman/puppet-pulpcore#411 theforeman/puppet-pulpcore#412 and picked up automatically sinceroles/beaker/tasks/main.ymlclones the module fresh fromtheforeman/puppet-pulpcoreatHEADby default.Nightly is tested against the real
stagingyum.theforeman.orgstaging repo for EL10 (no Copr staging override needed, unlike puppet-pulpcore's CI, since forklift's pipeline isn't gated the same way GitHub Actions is).Test plan
ansible-playbook pipelines/pulpcore.yml -e pipeline_version=nightly -e pipeline_os=centos10-stream -e pipeline_type=pulpcore -e pipeline_action=pulpcore -e expected_version=''locally end-to-end (boxes → install → acceptance tests) — passed withfailed=0.almalinux9) production Jenkins runs are unaffected — the podman network fix andBEAKER_PUPPET_COLLECTIONoverride are both gated todistribution_major_version == "10".🤖 Generated with Claude Code