-
Story
-
Resolution: Done
-
Major
-
None
-
None
-
Quality / Stability / Reliability
-
False
-
-
False
-
None
-
None
-
None
-
None
User Story
As a HyperShift release engineer, I want periodic jobs that test Konflux-generated HO images with the latest Z-stream release of each supported OCP version, so that I can ensure the current HO code is compatible with the newest OCP Z releases.
Acceptance Criteria
- Periodic jobs created for each supported OCP minor version (4.20, 4.21, 4.22)
- Jobs follow the pattern from https://github.com/openshift/release/pull/71026
- Jobs run every 24 hours
- Jobs test basic cluster lifecycle: create, validate, destroy
- Jobs use Konflux-generated HO images from appropriate release branches
- Jobs use latest Z-stream CPO version
- Test results published to CI dashboards
- Failed jobs trigger alerts
- Jobs include proper resource allocations and timeouts
Technical Details
For each supported OCP minor version (4.16+), create:
CI Operator Config
- Path: ci-operator/config/openshift/hypershift/openshift-hypershift-release-4.Y__periodics-hcm.yaml
- Define test workflow for latest Z-stream
- Specify cluster profile, environment variables
- Configure e2e-aws-ovn test variant
- Set --e2e.latest-release-image=<latest-z-pullspec>
Periodic Job
- Path: ci-operator/jobs/openshift/hypershift/openshift-hypershift-release-4.Y-periodics.yaml
- Name: periodic-ci-openshift-hypershift-release-4.Y-periodics-hcm-e2e-aws-ovn
- Interval: Every 12/24 hours
- Cluster: build01
- Spec: kubernetes/test-pods.yaml (ci-operator agent)
Job Configuration Example
periodics: - name: periodic-ci-openshift-hypershift-release-4.20-periodics-hcm-e2e-aws-ovn cron: "0 */12 * * *" # Every 12 hours cluster: build01 decorate: true decoration_config: timeout: 3h0m0s labels: ci.openshift.io/generator: prowgen pj-rehearse.openshift.io/can-be-rehearsed: "true" spec: containers: - args: - --gcs-upload-secret=/secrets/gcs/service-account.json - --image-import-pull-secret=/etc/pull-secret/.dockerconfigjson - --lease-server-credentials-file=/etc/boskos/credentials - --report-credentials-file=/etc/report/credentials - --secret-dir=/secrets/ci-pull-credentials - --secret-dir=/usr/local/e2e-aws-ovn-cluster-profile - --target=e2e-aws-ovn - --variant=periodics-hcm command: - ci-operator image: ci-operator:latest name: "" resources: requests: cpu: 10m volumeMounts: - mountPath: /etc/boskos name: boskos readOnly: true - mountPath: /secrets/ci-pull-credentials name: ci-pull-credentials readOnly: true - mountPath: /secrets/gcs name: gcs-credentials readOnly: true - mountPath: /etc/pull-secret name: pull-secret readOnly: true - mountPath: /etc/report name: result-aggregator readOnly: true - mountPath: /usr/local/e2e-aws-ovn-cluster-profile name: cluster-profile serviceAccountName: ci-operator volumes: - name: boskos secret: secretName: boskos-credentials items: - key: credentials path: credentials - name: ci-pull-credentials secret: secretName: ci-pull-credentials - name: cluster-profile secret: secretName: cluster-secrets-aws - name: pull-secret secret: secretName: registry-pull-credentials - name: result-aggregator secret: secretName: result-aggregator
Test Validation
Each job should:
- Create a HostedCluster with HO from Konflux and CPO from latest Z-stream
- Run existing cluster creation tests (test/e2e/create_cluster_test.go)
- Validate control plane becomes ready
- Validate NodePool creation and health
- Validate guest cluster accessibility
- Clean up all resources
- Report pass/fail status
Coordination Required
- Ensure HO main Konflux pipeline for all release branches
- Configure proper notification channels for failures
Success Metrics
- Jobs run successfully on schedule
- <10% false failure rate
- Results visible in CI dashboards
- Alerts fire within 1 hour of failure
Reference
- Example PR: https://github.com/openshift/release/pull/71026
- Existing periodic jobs: ci-operator/jobs/openshift/hypershift/
- Cluster creation tests: test/e2e/create_cluster_test.go