Skip to content

Update Sail Operator jobs to use 4.21 as base and 4.22 as next OCP version#79669

Merged
openshift-merge-bot[bot] merged 6 commits into
openshift:mainfrom
fjglira:update-ossm
May 29, 2026
Merged

Update Sail Operator jobs to use 4.21 as base and 4.22 as next OCP version#79669
openshift-merge-bot[bot] merged 6 commits into
openshift:mainfrom
fjglira:update-ossm

Conversation

@fjglira
Copy link
Copy Markdown
Contributor

@fjglira fjglira commented May 25, 2026

Summary by CodeRabbit

This PR updates OpenShift CI configurations for the Sail Operator repository to advance supported OCP versions: removing OCP 4.20, consolidating 4.21 as the stable base, and adding OCP 4.22 as the new "next" target. The changes affect ci-operator configs and the Sail Operator README.

What changed in practice

  • Removed ocp-4.20 CI configuration files across main and release branches (multiple release-* and main variants) so those pipelines are no longer run for 4.20.
  • Added new ocp-4.22 CI configuration files for main and release branches, providing:
    • CLI/base images pinned to OCP 4.22,
    • build_root/builder image settings with build cache,
    • releases.latest mapping for 4.22 (nightly/candidate where applicable),
    • e2e job definitions wired to ossm/installer workflows and appropriate test refs,
    • default resource requests/limits for jobs.
  • Expanded and updated ocp-4.21 CI configs (main and release branches) to:
    • switch release metadata to stable multi-architecture channels,
    • add and standardize unit/integration/gencheck/lint jobs with consistent cache envs,
    • add sync-upstream automation (scheduled) with reporting and credentials,
    • enhance e2e jobs (more env vars, workflows) and add ARM64-specific e2e jobs,
    • add scorecard jobs and perfscale installer jobs (with reporting to #ossm-qe-ci) where applicable.
  • README update: performance job now uses SAIL_OPERATOR_CHANNEL: 1.30-nightly (was 1.29-nightly).

Impact

  • CI will no longer run OCP 4.20 jobs and will run 4.22 variants alongside an expanded, multi-arch 4.21 matrix.
  • Increased test coverage via ARM64 e2e jobs, scorecard checks, sync-upstream automation, and perfscale jobs (some optional/cron-scheduled).
  • Changes are limited to CI/operator configuration and documentation; no code or exported/public API changes.

Estimated review effort: mixed — many deletions of 4.20 files (high for large removals) and medium effort for the expanded 4.21/4.22 job definitions and new perf/scorecard entries.

fjglira added 3 commits May 25, 2026 14:13
Signed-off-by: Francisco Herrera <fjglira@gmail.com>
Signed-off-by: Francisco Herrera <fjglira@gmail.com>
Signed-off-by: Francisco Herrera <fjglira@gmail.com>
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 25, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

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

Review profile: CHILL

Plan: Enterprise

Run ID: b79fdb87-acda-4645-820c-c4bf90a14148

📥 Commits

Reviewing files that changed from the base of the PR and between 20e5a75 and 8452e4c.

📒 Files selected for processing (1)
  • ci-operator/config/openshift-service-mesh/sail-operator/openshift-service-mesh-sail-operator-main__ocp-4.21.yaml

Walkthrough

Modernize sail-operator CI across main and release branches: bump README channel, convert many release selectors to stable/multi-arch, expand/standardize test suites (unit/integration/gencheck/lint/sync-upstream), add ARM e2e and scorecard jobs, add perfscale installer jobs, and add OCP 4.22 CI configs.

Changes

Sail Operator CI Configuration Modernization

Layer / File(s) Summary
Performance README update
ci-operator/config/openshift-service-mesh/sail-operator/README.md
SAIL_OPERATOR_CHANNEL updated from 1.29-nightly to 1.30-nightly.
Main branch OCP 4.21 modernization
ci-operator/config/openshift-service-mesh/sail-operator/openshift-service-mesh-sail-operator-main__ocp-4.21.yaml, ci-operator/config/openshift-service-mesh/sail-operator/README.md
Switch releases.latest to release: {architecture: multi, channel: stable}; add Go test jobs (unit, integration, gencheck, lint), sync-upstream schedule/reporter, extend e2e-ocp env and switch to servicemesh-istio-e2e-hypershift, add e2e-ocp-arm, add scorecard and perfscale installer jobs.
Main branch OCP 4.22 bootstrap
ci-operator/config/openshift-service-mesh/sail-operator/openshift-service-mesh-sail-operator-main__ocp-4.22.yaml
New main OCP 4.22 CI config: base/cli images, build_root with cache, nightly candidate for 4.22, global resources, and e2e-ocp test job with refs and workflow.
Release-3.0 OCP 4.21 modernization
ci-operator/config/openshift-service-mesh/sail-operator/openshift-service-mesh-sail-operator-release-3.0__ocp-4.21.yaml
Switch to stable/multi release selector; add/standardize unit, integration, gencheck, lint, sync-upstream with cron/reporter/secret; add e2e-ocp-arm and scorecard.
Release-3.0 OCP 4.22 added
ci-operator/config/openshift-service-mesh/sail-operator/openshift-service-mesh-sail-operator-release-3.0__ocp-4.22.yaml
New release-3.0 OCP 4.22 config with build_root, resources, e2e-ocp job, and generated metadata.
Release-3.1 OCP 4.21 modernization
.../openshift-service-mesh-sail-operator-release-3.1__ocp-4.21.yaml
Switch to stable/multi; expanded/rewritten tests with explicit make/flags and cache env; sync-upstream automator and cron; restructured e2e-ocp; added e2e-ocp-arm and scorecard.
Release-3.1 OCP 4.22 added
.../openshift-service-mesh-sail-operator-release-3.1__ocp-4.22.yaml
New release-3.1 OCP 4.22 config with resources, build cache, e2e-ocp and metadata.
Release-3.2 OCP 4.21 modernization
.../openshift-service-mesh-sail-operator-release-3.2__ocp-4.21.yaml
Switch to stable/multi; standardize tests (unit/integration/gencheck/lint/sync-upstream/e2e), add e2e-ocp-arm and scorecard with ARM sizing and bundle triggers.
Release-3.2 OCP 4.22 added
.../openshift-service-mesh-sail-operator-release-3.2__ocp-4.22.yaml
New release-3.2 OCP 4.22 CI config: base/build_root, candidate mapping, global resources, e2e-ocp test refs/workflow, generated metadata.
Release-3.3 OCP 4.21 modernization
.../openshift-service-mesh-sail-operator-release-3.3__ocp-4.21.yaml
Replace candidate with stable/multi; add/standardize unit/integration/gencheck/lint/sync-upstream jobs; update e2e-ocp env; add e2e-ocp-arm and scorecard.
Release-3.3 OCP 4.22 added
.../openshift-service-mesh-sail-operator-release-3.3__ocp-4.22.yaml
New release-3.3 OCP 4.22 config with base images, build_root, resources, e2e-ocp job, and generated metadata.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Suggested labels

lgtm, rehearsals-ack, ok-to-test

Suggested reviewers

  • jwendell
  • MaxBab
🚥 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 accurately reflects the main objective of the PR: updating Sail Operator CI configurations to shift focus from OCP 4.20 to 4.21 as the base version and introducing 4.22 as the next OCP version, which is evident from the systematic removal of 4.20 configs and addition/update of 4.21 and 4.22 configs across multiple release variants.
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 PR modifies only CI configuration YAML files, not Go test code. No Ginkgo test definitions (It, Describe, Context, etc.) present in any modified files. Check is not applicable to this PR.
Test Structure And Quality ✅ Passed PR contains only CI configuration files (YAML, JSON, shell scripts), no Ginkgo test code. Custom check for Ginkgo test quality is not applicable.
Microshift Test Compatibility ✅ Passed PR modifies only CI configuration YAML files, not Ginkgo e2e test code. The check applies to new Go tests using incompatible APIs, which this PR does not introduce.
Single Node Openshift (Sno) Test Compatibility ✅ Passed PR contains only CI configuration YAML files and README updates; no new Ginkgo e2e tests are added, making the SNO compatibility check not applicable.
Topology-Aware Scheduling Compatibility ✅ Passed This PR modifies only ci-operator CI configuration files (test job definitions), not deployment manifests or operator code. The custom check does not apply to CI configuration files.
Ote Binary Stdout Contract ✅ Passed PR contains only CI configuration YAML files and documentation, no Go source code or test binaries. OTE Binary Stdout Contract check is not applicable.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed PR contains only CI configuration file (YAML) and documentation changes; no new Ginkgo e2e test code is added, making the IPv6/disconnected network compatibility 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

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

@openshift-ci openshift-ci Bot requested review from jwendell and yxun May 25, 2026 12:15
@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label May 25, 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.

Actionable comments posted: 1

🤖 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.

Inline comments:
In
`@ci-operator/config/openshift-service-mesh/sail-operator/openshift-service-mesh-sail-operator-main__ocp-4.21.yaml`:
- Line 156: SAIL_OPERATOR_CHANNEL is still set to the old 1.29-nightly value;
update the pinned channel to match the new target by changing the
SAIL_OPERATOR_CHANNEL environment variable from "1.29-nightly" to "1.30-nightly"
in the affected manifests (ensure you update both occurrences of
SAIL_OPERATOR_CHANNEL, including the second instance noted around the other
occurrence).
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

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

Review profile: CHILL

Plan: Enterprise

Run ID: 1a7bc934-22dc-4a34-89d3-021f1ae2cd5c

📥 Commits

Reviewing files that changed from the base of the PR and between 7b53fc5 and 20e5a75.

⛔ Files ignored due to path filters (10)
  • ci-operator/jobs/openshift-service-mesh/sail-operator/openshift-service-mesh-sail-operator-main-periodics.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift-service-mesh/sail-operator/openshift-service-mesh-sail-operator-main-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift-service-mesh/sail-operator/openshift-service-mesh-sail-operator-release-3.0-periodics.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift-service-mesh/sail-operator/openshift-service-mesh-sail-operator-release-3.0-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift-service-mesh/sail-operator/openshift-service-mesh-sail-operator-release-3.1-periodics.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift-service-mesh/sail-operator/openshift-service-mesh-sail-operator-release-3.1-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift-service-mesh/sail-operator/openshift-service-mesh-sail-operator-release-3.2-periodics.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift-service-mesh/sail-operator/openshift-service-mesh-sail-operator-release-3.2-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift-service-mesh/sail-operator/openshift-service-mesh-sail-operator-release-3.3-periodics.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift-service-mesh/sail-operator/openshift-service-mesh-sail-operator-release-3.3-presubmits.yaml is excluded by !ci-operator/jobs/**
📒 Files selected for processing (16)
  • ci-operator/config/openshift-service-mesh/sail-operator/README.md
  • ci-operator/config/openshift-service-mesh/sail-operator/openshift-service-mesh-sail-operator-main__ocp-4.20.yaml
  • ci-operator/config/openshift-service-mesh/sail-operator/openshift-service-mesh-sail-operator-main__ocp-4.21.yaml
  • ci-operator/config/openshift-service-mesh/sail-operator/openshift-service-mesh-sail-operator-main__ocp-4.22.yaml
  • ci-operator/config/openshift-service-mesh/sail-operator/openshift-service-mesh-sail-operator-release-3.0__ocp-4.20.yaml
  • ci-operator/config/openshift-service-mesh/sail-operator/openshift-service-mesh-sail-operator-release-3.0__ocp-4.21.yaml
  • ci-operator/config/openshift-service-mesh/sail-operator/openshift-service-mesh-sail-operator-release-3.0__ocp-4.22.yaml
  • ci-operator/config/openshift-service-mesh/sail-operator/openshift-service-mesh-sail-operator-release-3.1__ocp-4.20.yaml
  • ci-operator/config/openshift-service-mesh/sail-operator/openshift-service-mesh-sail-operator-release-3.1__ocp-4.21.yaml
  • ci-operator/config/openshift-service-mesh/sail-operator/openshift-service-mesh-sail-operator-release-3.1__ocp-4.22.yaml
  • ci-operator/config/openshift-service-mesh/sail-operator/openshift-service-mesh-sail-operator-release-3.2__ocp-4.20.yaml
  • ci-operator/config/openshift-service-mesh/sail-operator/openshift-service-mesh-sail-operator-release-3.2__ocp-4.21.yaml
  • ci-operator/config/openshift-service-mesh/sail-operator/openshift-service-mesh-sail-operator-release-3.2__ocp-4.22.yaml
  • ci-operator/config/openshift-service-mesh/sail-operator/openshift-service-mesh-sail-operator-release-3.3__ocp-4.20.yaml
  • ci-operator/config/openshift-service-mesh/sail-operator/openshift-service-mesh-sail-operator-release-3.3__ocp-4.21.yaml
  • ci-operator/config/openshift-service-mesh/sail-operator/openshift-service-mesh-sail-operator-release-3.3__ocp-4.22.yaml
💤 Files with no reviewable changes (5)
  • ci-operator/config/openshift-service-mesh/sail-operator/openshift-service-mesh-sail-operator-main__ocp-4.20.yaml
  • ci-operator/config/openshift-service-mesh/sail-operator/openshift-service-mesh-sail-operator-release-3.1__ocp-4.20.yaml
  • ci-operator/config/openshift-service-mesh/sail-operator/openshift-service-mesh-sail-operator-release-3.2__ocp-4.20.yaml
  • ci-operator/config/openshift-service-mesh/sail-operator/openshift-service-mesh-sail-operator-release-3.3__ocp-4.20.yaml
  • ci-operator/config/openshift-service-mesh/sail-operator/openshift-service-mesh-sail-operator-release-3.0__ocp-4.20.yaml

Signed-off-by: Francisco Herrera <fjglira@gmail.com>
@fjglira
Copy link
Copy Markdown
Contributor Author

fjglira commented May 25, 2026

/pj-rehearse

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@fjglira: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@fjglira
Copy link
Copy Markdown
Contributor Author

fjglira commented May 25, 2026

/pj-rehearse pull-ci-openshift-service-mesh-sail-operator-main-ocp-4.22-e2e-ocp

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@fjglira: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label May 25, 2026
@fjglira
Copy link
Copy Markdown
Contributor Author

fjglira commented May 25, 2026

The perf test run is expected to fail, it's trying to apply a Istio version that is not yet merged in the midstream repo (because we got failures during the sync PR)

@fjglira
Copy link
Copy Markdown
Contributor Author

fjglira commented May 25, 2026

The ARM job failed during the test run with the 137 error, this is expected we are working into solve this issue. Waiting for 4.22 job to finish to merge the PR with the update

@fjglira
Copy link
Copy Markdown
Contributor Author

fjglira commented May 25, 2026

/pj-rehearse pull-ci-openshift-service-mesh-sail-operator-main-ocp-4.22-e2e-ocp

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@fjglira: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@openshift-ci openshift-ci Bot removed the lgtm Indicates that a PR is ready to be merged. label May 27, 2026
@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@fjglira, pj-rehearse: unable to determine affected jobs. This could be due to a branch that needs to be rebased. ERROR:

couldn't prepare candidate: couldn't rebase candidate onto 81cf883fadcad9669d90652ca56d2ee35c95a64a due to conflicts
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
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 27, 2026

@fjglira: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/rehearse/periodic-ci-openshift-service-mesh-sail-operator-main-ocp-4.21-istio-periodic-perfscale 8452e4c link unknown /pj-rehearse periodic-ci-openshift-service-mesh-sail-operator-main-ocp-4.21-istio-periodic-perfscale
ci/rehearse/openshift-service-mesh/sail-operator/main/ocp-4.21-e2e-ocp-arm 8452e4c link unknown /pj-rehearse pull-ci-openshift-service-mesh-sail-operator-main-ocp-4.21-e2e-ocp-arm
ci/rehearse/openshift-service-mesh/sail-operator/main/ocp-4.22-e2e-ocp 8452e4c link unknown /pj-rehearse pull-ci-openshift-service-mesh-sail-operator-main-ocp-4.22-e2e-ocp

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.

Signed-off-by: Francisco Herrera <fjglira@gmail.com>
@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@fjglira, pj-rehearse: unable to determine affected jobs. This could be due to a branch that needs to be rebased. ERROR:

couldn't prepare candidate: couldn't rebase candidate onto c0b61d576bb7135dd5f8947a2e8ddf5800f22649 due to conflicts
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.

@fjglira
Copy link
Copy Markdown
Contributor Author

fjglira commented May 28, 2026

4.22 job need this PR to be merged in the midstream repo to pass: istio-ecosystem/sail-operator#1977

@fjglira
Copy link
Copy Markdown
Contributor Author

fjglira commented May 28, 2026

So, all the current failures are related to SYNC failure job and the 137 OOM error. Can we merge this PR @FilipB? The only test that runs on Hypershift passed, idk if is too risky to merge this update, but at the end we are still dealling with the same midstream issues until the 137 exit error is gone

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label May 29, 2026
@FilipB
Copy link
Copy Markdown
Contributor

FilipB commented May 29, 2026

/pj-rehearse ack

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@FilipB: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@openshift-merge-bot openshift-merge-bot Bot added the rehearsals-ack Signifies that rehearsal jobs have been acknowledged label May 29, 2026
@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 29, 2026

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: FilipB, fjglira

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-merge-bot openshift-merge-bot Bot merged commit 322149b into openshift:main May 29, 2026
16 checks passed
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. lgtm Indicates that a PR is ready to be merged. rehearsals-ack Signifies that rehearsal jobs have been acknowledged

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants