Stabilize RHEL 7 package tests against unavailable RHSCL packages

XMLWordPrintableJSON

    • 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.

            Assignee:
            Daniel Moody
            Reporter:
            Daniel Moody
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: