-
Epic
-
Resolution: Done
-
Undefined
-
None
-
None
-
None
-
Periodic Testing Infrastructure for HO/CPO Compatibility
-
To Do
-
Quality / Stability / Reliability
-
-
0% To Do, 0% In Progress, 100% Done
-
False
-
-
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
- is depended on by
-
CNTRLPLANE-1856 Configure Konflux Release Gating via Periodic Test Results
-
- To Do
-
- links to