Add ensure_beaker_ip_on to fix unapplied static IPs (EL10/vagrant) - #284
Merged
Conversation
Vagrant configures static private-network IPs on RedHat-family guests by writing legacy ifcfg files, which EL10 no longer supports. The interface silently falls back to NetworkManager DHCP with an arbitrary address, so everything targeting the Beaker-recorded host[:ip] (cross-SUT traffic, direct Net::SSH logins) fails with 'No route to host'. Detect the mismatch in the global before(:all) hook (alongside activate_interfaces) and re-apply the expected address via NetworkManager (reboot-safe, no default-route pollution), falling back to 'ip addr add' when NM is not managing the interface. Disable with BEAKER_no_fix_interfaces. Validated on pupmod-simp-tlog almalinux10: 13 examples/1 failure -> 66 examples/0 failures.
silug
marked this pull request as draft
July 3, 2026 13:21
silug
marked this pull request as ready for review
July 3, 2026 13:51
nick-markowski
approved these changes
Jul 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.
Problem
Vagrant configures static private-network IPs on RedHat-family guests by writing legacy ifcfg files, which EL10 no longer supports. The interface silently falls back to NetworkManager DHCP with an arbitrary address, so everything that targets the Beaker-recorded
host[:ip](cross-SUT traffic, directNet::SSHlogins, NFS mounts, log forwarding) fails withNo route to host.This is the root cause of the
almalinux10acceptance failures across the open cleanup PRs (rsyslog, simp_snmpd, tlog, autofs, nfs, simp_nfs, simp_gitlab, libreswan).Fix
New
ensure_beaker_ip_on(hosts), run automatically in the globalbefore(:all)alongsideactivate_interfaces:host[:ip]is already assigned (cheap no-op on healthy platforms)ip -o -4 addr)nmcli connection modify ... ipv4.method manual ... ipv4.never-default yes(reboot-safe, matches Vagrant's static-network semantics — no gateway/default-route pollution)ip addr addwhen NetworkManager isn't managing the interfaceBEAKER_no_fix_interfacesescape hatchValidation
pupmod-simp-tlogbeaker:suites[default,almalinux10](vagrant_libvirt): 13 examples / 1 failure → 66 examples / 0 failures, with the remediation visible in the log:Unit suite: 23 examples, 0 failures; rubocop clean.
Release note for consumption
simp-rake-helpers ~> 5.24currently pinssimp-beaker-helpers ~> 2.0, and module Gemfiles default to'~> 2.0.0'— so module CI cannot consume a 3.x release today. Options: relax the rake-helpers pin, or backport this to a 2.0.6 release (module Gemfiles'~> 2.0.0would pick a 2.0.x up automatically).🤖 Generated with Claude Code