Uploaded image for project: 'Red Hat OpenShift Control Planes'
  1. Red Hat OpenShift Control Planes
  2. CNTRLPLANE-1848

Periodic Testing Infrastructure for HO/CPO Compatibility

XMLWordPrintable

    • Icon: Epic Epic
    • Resolution: Done
    • Icon: Undefined Undefined
    • None
    • None
    • HyperShift
    • None
    • Periodic Testing Infrastructure for HO/CPO Compatibility
    • To Do
    • Quality / Stability / Reliability
    • OCPSTRAT-2477HCP jobs to ensure that Managed HO functions with supported CPO versions
    • 0% To Do, 0% In Progress, 100% Done
    • False
    • Hide

      None

      Show
      None
    • False
    • None
    • None
    • None

      Establish periodic CI jobs in openshift/release that test Konflux-generated HyperShift Operator (HO) images against all supported OCP/CPO versions using the existing TestUpgradeControlPlane test.

      This epic implements comprehensive compatibility testing by running the existing e2e upgrade test with different version parameters, ensuring that each supported OCP minor version is tested with three critical Z-stream releases: latest, latest-1, and .0.

      Epic Acceptance Criteria

      • Periodic jobs run TestUpgradeControlPlane for .0 → latest upgrades (all supported OCP versions)
      • Periodic jobs run TestUpgradeControlPlane for latest-1 → latest upgrades (all supported OCP versions)
      • Periodic jobs run TestUpgradeControlPlane for cross-minor upgrades (4.Y.latest → 4.(Y+1).0)
      • Baseline periodic jobs test cluster creation with latest Z-stream
      • All jobs run on appropriate cadence (nightly at most)
      • Jobs use Konflux-generated HO images from release branches
      • Test results are published and accessible to the team
      • Failed jobs create notifications/alerts
      • All tests validate no unintended NodePool rollouts via MachineDeployment generation checks

      Scope

      In Scope

      • Periodic job configurations in openshift/release repository
      • Testing on AWS platform (primary)
      • Baseline cluster lifecycle tests (create, validate health, destroy)
      • CPO upgrade tests (.0 → latest, latest-1 → latest, cross-minor)
      • Reuse of existing TestUpgradeControlPlane test
      • Automated testing for supported OCP versions (4.20, 4.21, 4.22, etc.)

      Out of Scope

      • New test framework development (using existing tests)
      • New test implementation (leveraging TestUpgradeControlPlane)
      • Multi-platform support beyond AWS (covered in Epic 2)
      • Advanced edge case testing

      Existing Test Infrastructure

      TestUpgradeControlPlane (test/e2e/control_plane_upgrade_test.go:16)

      Already validates:

      • CPO upgrade from PreviousReleaseImage → LatestReleaseImage
      • MachineDeployment.Generation == 1 (no NodePool rollout)
      • No crashing pods (EnsureNoCrashingPods)
      • Node count matches NodePool replicas
      • Cluster functionality post-upgrade

      Configured via:

      • --e2e.previous-release-image: Source CPO version
      • --e2e.latest-release-image: Target CPO version

      Testing Pattern

      Following the pattern from https://github.com/openshift/release/pull/71026:

      • Create ci-operator config: openshift-hypershift-release-4.Y__periodics-hcm.yaml
      • Add periodic jobs that invoke existing e2e tests with specific version parameters
      • Run every 12-24 hours for critical paths, weekly for cross-minor
      • Report results to CI dashboards

      Job Types

      Baseline Jobs

      • Name: periodic-ci-openshift-hypershift-release-4.Y-periodics-hcm-e2e-aws-ovn
      • Purpose: Test cluster creation/deletion with latest Z
      • Test: Standard cluster creation tests
      • Cadence: Every 12 hours

      Upgrade Jobs (.0 → latest)

      • Name: periodic-ci-openshift-hypershift-release-4.Y-periodics-hcm-upgrade-dot-zero-to-latest-aws-ovn
      • Purpose: Validate .0 → latest upgrade path
      • Test: TestUpgradeControlPlane
      • Parameters: --e2e.previous-release-image=4.Y.0 --e2e.latest-release-image=4.Y.Z
      • Cadence: Daily

      Upgrade Jobs (latest-1 → latest)

      • Name: periodic-ci-openshift-hypershift-release-4.Y-periodics-hcm-upgrade-latest-1-to-latest-aws-ovn
      • Purpose: Validate latest-1 → latest upgrade path
      • Test: TestUpgradeControlPlane
      • Parameters: --e2e.previous-release-image=4.Y.Z-1 --e2e.latest-release-image=4.Y.Z
      • Cadence: Daily

      Cross-Minor Upgrade Jobs

      • Name: periodic-ci-openshift-hypershift-release-4.Y-periodics-hcm-upgrade-cross-minor-to-4.Y+1-aws-ovn
      • Purpose: Validate cross-minor upgrade path
      • Test: TestUpgradeControlPlane
      • Parameters: --e2e.previous-release-image=4.Y.Z --e2e.latest-release-image=4.(Y+1).0
      • Cadence: Weekly

      Supported Versions (Initial)

      • 4.20.z (latest: 4.20.15, latest-1: 4.20.14, .0: 4.20.0)
      • 4.21.z (latest: 4.21.8, latest-1: 4.21.7, .0: 4.21.0)
      • 4.22.z (latest: 4.22.3, latest-1: 4.22.2, .0: 4.22.0)

      As new minor versions are released, additional jobs will be added.

      Target Users

      • HyperShift QE team
      • CI/CD automation systems
      • Release engineering
      • Managed OpenShift Service teams (ROSA HCP, ARO HCP)

      Dependencies

      • Access to openshift/release repository
      • Konflux image build pipeline for HO
      • AWS test infrastructure and credentials
      • Existing TestUpgradeControlPlane test in hypershift repository

              sjenning Seth Jennings
              asegurap1@redhat.com Antoni Segura Puimedon
              None
              None
              None
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: