Skip to content

Adding OCP versioned ROSA Gap Analysis jobs#79399

Open
ravitri wants to merge 1 commit into
openshift:mainfrom
ravitri:gap-version
Open

Adding OCP versioned ROSA Gap Analysis jobs#79399
ravitri wants to merge 1 commit into
openshift:mainfrom
ravitri:gap-version

Conversation

@ravitri
Copy link
Copy Markdown
Member

@ravitri ravitri commented May 18, 2026

Based on SREP-4811, we need to create OCP version based Gap Analysis jobs which would run the existing Gap Analysis automation over all OCP versions on a nightly basis.

Once done, will update rosa-e2e and Sippy as well.

Summary

This PR adds OCP-version-specific ROSA Gap Analysis periodic CI jobs. The changes configure nightly scheduled test jobs that run the existing Gap Analysis automation across multiple OCP versions (4.19, 4.20, 4.21, 4.22, and 5.0) per SREP-4811.

Changes

The PR modifies the CI configuration for the openshift-online/rosa-gap-analysis repository:

  1. Updated main configuration (openshift-online-rosa-gap-analysis-main.yaml): Removed prowgen-specific settings and updated resource specifications for job pods.

  2. New periodic job definitions (openshift-online-rosa-gap-analysis-main__periodics.yaml): Introduced a new CI periodic job variant that defines five nightly-scheduled test jobs (nightly-4-19 through nightly-5-0). Each job:

    • Runs on a distinct nightly schedule
    • Executes the Gap Analysis script (./scripts/gap-all.sh)
    • Sets an OPENSHIFT_VERSION environment variable for the respective OCP version
    • Generates test reports in a dedicated output directory
    • Uses the rosa-gap-analysis container image

The configuration also includes a containerized build setup using ci/Containerfile and establishes resource requests and limits for all job variants.

Impact

Gap Analysis testing for ROSA is now automated across all active OCP versions on a nightly cadence, enabling continuous validation of ROSA compatibility across version releases.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 18, 2026

Walkthrough

CI configuration for the ROSA gap analysis job is refactored: inline nightly test configuration is removed from the main config, which now specifies global pod resource constraints; a new periodic configuration file is created with build root, image publishing, and five OpenShift version–specific nightly test jobs running ./scripts/gap-all.sh.

Changes

CI Periodic Job Configuration

Layer / File(s) Summary
Periodic job definition and resource configuration
ci-operator/config/openshift-online/rosa-gap-analysis/openshift-online-rosa-gap-analysis-main.yaml, ci-operator/config/openshift-online/rosa-gap-analysis/openshift-online-rosa-gap-analysis-main__periodics.yaml
The main config removes prowgen settings and inline nightly test configuration, replacing them with global pod resource constraints (100m CPU request, 200Mi memory request, 1Gi memory limit). A new periodic config establishes build root and image publishing, applies the same resource constraints, and defines five scheduled nightly test jobs for OpenShift 4.19–5.0 with REPORT_DIR environment setup and ./scripts/gap-all.sh execution.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Suggested labels

lgtm, approved

Suggested reviewers

  • danilo-gemoli
  • droslean
🚥 Pre-merge checks | ✅ 12
✅ Passed checks (12 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'Adding OCP versioned ROSA Gap Analysis jobs' directly reflects the main change: adding new periodic CI jobs for ROSA Gap Analysis across multiple OCP versions.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Stable And Deterministic Test Names ✅ Passed This PR modifies only OpenShift CI/CD configuration YAML files, not Ginkgo test code. The custom check applies to Ginkgo test names and is not applicable here.
Test Structure And Quality ✅ Passed No Ginkgo test code present in PR. Changes are YAML CI/CD configuration files only. Custom check for Ginkgo test quality is not applicable to this PR context.
Microshift Test Compatibility ✅ Passed This PR modifies CI operator configuration files only (YAML). It does not add or modify any Ginkgo e2e tests. The MicroShift Test Compatibility check is not applicable.
Single Node Openshift (Sno) Test Compatibility ✅ Passed PR adds only CI configuration (YAML) files that schedule gap analysis scripts, not Ginkgo e2e tests. SNO compatibility check only applies to new Ginkgo tests, which are absent from this PR.
Topology-Aware Scheduling Compatibility ✅ Passed PR adds CI configuration files only. No scheduling constraints found (no affinity, node selectors, topology spread, PDBs). Not applicable to production topologies.
Ote Binary Stdout Contract ✅ Passed PR contains only YAML CI configuration files, not Go source code. OTE Binary Stdout Contract check applies to Go binaries and process-level code violations, making it not applicable here.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed No Ginkgo e2e tests are added. Changes only modify CI configuration files for periodic job scheduling of gap analysis automation scripts. Check not applicable.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

[REHEARSALNOTIFIER]
@ravitri: the pj-rehearse plugin accommodates running rehearsal tests for the changes in this PR. Expand 'Interacting with pj-rehearse' for usage details. The following rehearsable tests have been affected by this change:

Test name Repo Type Reason
pull-ci-openshift-online-rosa-gap-analysis-main-images openshift-online/rosa-gap-analysis presubmit Presubmit changed
pull-ci-openshift-online-rosa-gap-analysis-main-periodics-images openshift-online/rosa-gap-analysis presubmit Presubmit changed
periodic-ci-openshift-online-rosa-gap-analysis-main-periodics-nightly-4-21 N/A periodic Periodic changed
periodic-ci-openshift-online-rosa-gap-analysis-main-periodics-nightly-4-19 N/A periodic Periodic changed
periodic-ci-openshift-online-rosa-gap-analysis-main-periodics-nightly-5-0 N/A periodic Periodic changed
periodic-ci-openshift-online-rosa-gap-analysis-main-periodics-nightly-4-22 N/A periodic Periodic changed
periodic-ci-openshift-online-rosa-gap-analysis-main-periodics-nightly-4-20 N/A periodic Periodic changed

Prior to this PR being merged, you will need to either run and acknowledge or opt to skip these rehearsals.

Interacting with pj-rehearse

Comment: /pj-rehearse to run up to 5 rehearsals
Comment: /pj-rehearse skip to opt-out of rehearsals
Comment: /pj-rehearse {test-name}, with each test separated by a space, to run one or more specific rehearsals
Comment: /pj-rehearse more to run up to 10 rehearsals
Comment: /pj-rehearse max to run up to 25 rehearsals
Comment: /pj-rehearse auto-ack to run up to 5 rehearsals, and add the rehearsals-ack label on success
Comment: /pj-rehearse list to get an up-to-date list of affected jobs
Comment: /pj-rehearse abort to abort all active rehearsals
Comment: /pj-rehearse network-access-allowed to allow rehearsals of tests that have the restrict_network_access field set to false. This must be executed by an openshift org member who is not the PR author

Once you are satisfied with the results of the rehearsals, comment: /pj-rehearse ack to unblock merge. When the rehearsals-ack label is present on your PR, merge will no longer be blocked by rehearsals.
If you would like the rehearsals-ack label removed, comment: /pj-rehearse reject to re-block merging.

@openshift-ci openshift-ci Bot requested review from bmeng and rbhilare May 18, 2026 10:36
@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 18, 2026

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: ravitri

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label May 18, 2026
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
ci-operator/config/openshift-online/rosa-gap-analysis/openshift-online-rosa-gap-analysis-main__periodics.yaml (1)

17-66: 🏗️ Heavy lift

Prefer step-registry workflows over inline container commands in periodic tests.

Lines 18-66 currently duplicate inline shell logic across five jobs. Please move this into a step-registry workflow/chain and pass only version-specific inputs per test to align with repo CI config standards and reduce drift risk.

As per coding guidelines, CI configuration files should define build_root, images, tests (referencing step-registry workflows), promotion, and releases sections in ci-operator/config/<org>/<repo>/.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@ci-operator/config/openshift-online/rosa-gap-analysis/openshift-online-rosa-gap-analysis-main__periodics.yaml`
around lines 17 - 66, The five inline periodic jobs (as: nightly-4-19,
nightly-4-20, nightly-4-21, nightly-4-22, nightly-5-0) duplicate the same shell
steps (mkdir artifact dir, set REPORT_DIR, export OPENSHIFT_VERSION, run
./scripts/gap-all.sh); extract those commands into a step-registry workflow
(e.g., rosa-gap-analysis/gap-all) that accepts an OPENSHIFT_VERSION input and
performs the artifact setup and ./scripts/gap-all.sh run, then update each
periodic test to call that workflow with only the version-specific input
(OPENSHIFT_VERSION) instead of inline commands; also ensure the repository's
ci-operator config follows guidelines by defining build_root, images, tests
(pointing to the new step-registry workflow), promotion, and releases sections
so the new workflow is referenced correctly.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In
`@ci-operator/config/openshift-online/rosa-gap-analysis/openshift-online-rosa-gap-analysis-main__periodics.yaml`:
- Around line 17-66: The five inline periodic jobs (as: nightly-4-19,
nightly-4-20, nightly-4-21, nightly-4-22, nightly-5-0) duplicate the same shell
steps (mkdir artifact dir, set REPORT_DIR, export OPENSHIFT_VERSION, run
./scripts/gap-all.sh); extract those commands into a step-registry workflow
(e.g., rosa-gap-analysis/gap-all) that accepts an OPENSHIFT_VERSION input and
performs the artifact setup and ./scripts/gap-all.sh run, then update each
periodic test to call that workflow with only the version-specific input
(OPENSHIFT_VERSION) instead of inline commands; also ensure the repository's
ci-operator config follows guidelines by defining build_root, images, tests
(pointing to the new step-registry workflow), promotion, and releases sections
so the new workflow is referenced correctly.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: dbecfdbe-e2f8-43ab-aa22-31b45337dd66

📥 Commits

Reviewing files that changed from the base of the PR and between 5a5a25f and 0aba8d8.

⛔ Files ignored due to path filters (2)
  • ci-operator/jobs/openshift-online/rosa-gap-analysis/openshift-online-rosa-gap-analysis-main-periodics.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift-online/rosa-gap-analysis/openshift-online-rosa-gap-analysis-main-presubmits.yaml is excluded by !ci-operator/jobs/**
📒 Files selected for processing (2)
  • ci-operator/config/openshift-online/rosa-gap-analysis/openshift-online-rosa-gap-analysis-main.yaml
  • ci-operator/config/openshift-online/rosa-gap-analysis/openshift-online-rosa-gap-analysis-main__periodics.yaml
💤 Files with no reviewable changes (1)
  • ci-operator/config/openshift-online/rosa-gap-analysis/openshift-online-rosa-gap-analysis-main.yaml

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 18, 2026

@ravitri: all tests passed!

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant