-
Type:
Bug
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
DevProd Build
-
ALL
-
Build OnDeck
-
0
-
None
-
None
-
None
-
None
-
None
-
None
-
None
Overview
Stabilize the RHEL 7 package-test workflow after the external rh-python38 package stopped being available from the mutable RHSCL repository.
This work addresses BF-45991 and the related BF-45925.
Root Cause
RHEL 7 package tests use registry.access.redhat.com/ubi7/ubi and install rh-python38.x86_64 at runtime. When the RHSCL repository no longer exposes that package, setup continues, creates a dangling Python symlink, and then fails with python3: command not found. The missing per-test log is a secondary symptom.
The special Evergreen package-test host can expose Red Hat subscription material to the UBI container, but the host entitlement must include an enabled RHEL 7 repository that provides the required runtime dependencies.
Scope of Work
- Pin all RHEL 7 package-test containers to the approved UBI7 Python 3.8 image digest.
- Remove the runtime dependency on rh-python38.x86_64.
- Run package-test containers as root and pass the host Red Hat entitlement/repository material into the UBI container.
- Validate the configured Python interpreter before creating a symlink or running package-test code.
- Preserve container output when setup exits nonzero and avoid reporting a misleading missing per-test log.
- Add unit coverage for interpreter setup ordering and native python3 handling.
- Apply equivalent changes to each maintained branch that still runs RHEL 7 package tests; v7.0 uses the ordinary test_packages task, while newer release matrices may use test_packages_release.
Acceptance Criteria
- RHEL 7 org and enterprise package tests pass on each affected maintained branch.
- The test setup fails early with an actionable diagnostic when the interpreter or RHEL 7 repository is unavailable.
- No dangling Python symlink is created after an unsuccessful interpreter setup.
- The pinned image digest is the documented runtime baseline.
- Branch-specific changes are verified with their corresponding Evergreen package-test tasks.