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

Create Baseline Periodic Jobs for Latest Z-Stream Testing

XMLWordPrintable

    • Icon: Story Story
    • Resolution: Done
    • Icon: Major Major
    • None
    • None
    • HyperShift
    • 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

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

                Created:
                Updated:
                Resolved: