Skip to content

MGMT-23722: add CaaS periodic E2E jobs with cluster_claim to Prow#77783

Open
omer-vishlitzky wants to merge 2 commits intoopenshift:mainfrom
omer-vishlitzky:MGMT-23722-caas-prow
Open

MGMT-23722: add CaaS periodic E2E jobs with cluster_claim to Prow#77783
omer-vishlitzky wants to merge 2 commits intoopenshift:mainfrom
omer-vishlitzky:MGMT-23722-caas-prow

Conversation

@omer-vishlitzky
Copy link
Copy Markdown
Contributor

@omer-vishlitzky omer-vishlitzky commented Apr 14, 2026

https://redhat.atlassian.net/browse/MGMT-23722

Add 3 periodic CaaS E2E jobs using cluster_claim (pre-built AWS clusters, ~20 min setup):

  • cluster order lifecycle
  • API fields
  • delete during provision

Uses generic-claim workflow with inline steps (from: osac-installer for install, from: osac-test-infra for test).
Also adds presubmit E2E jobs to osac-installer repo config.
Schedule: Mon/Wed/Fri at 04:00 UTC.

Stacks on top of #77782.

Summary by CodeRabbit

  • New Features

    • Added many new E2E test suites (baremetal vMAAS and CAAS) with scheduled periodic jobs and a dedicated osac-test-infra test image.
    • Added new base images for assisted components and a dev-scripts/test-infra image.
  • Tests

    • Introduced numerous disabled-by-default presubmit/test jobs for compute and cluster lifecycle scenarios with explicit pre/test steps.
  • Chores

    • Updated CI job contexts, triggers, presubmit/postsubmit labels, periodic schedules, step dependencies, and adjusted a kustomize overlay default.

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Apr 14, 2026
@openshift-ci-robot
Copy link
Copy Markdown
Contributor

openshift-ci-robot commented Apr 14, 2026

@omer-vishlitzky: This pull request references MGMT-23722 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the task to target the "4.22.0" version, but no target version was set.

Details

In response to this:

https://redhat.atlassian.net/browse/MGMT-23722

Add 3 periodic CaaS E2E jobs using cluster_claim (pre-built AWS clusters, ~20 min setup):

  • cluster order lifecycle
  • API fields
  • delete during provision

Uses generic-claim workflow with inline steps (from: osac-installer for install, from: osac-test-infra for test).
Also adds presubmit E2E jobs to osac-installer repo config.
Schedule: Mon/Wed/Fri at 04:00 UTC.

Stacks on top of #77782.

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 openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci openshift-ci bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Apr 14, 2026
@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci bot commented Apr 14, 2026

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Apr 14, 2026

Walkthrough

Added many CI changes: new base images and an OCP 4.20 release-candidate pin, a built osac-test-infra image, numerous VMAAS (baremetal) and CAAS (AWS) E2E jobs (presubmits, periodics, postsubmits), SSH-based remote test execution using the test image, and small step/ref/default/label updates.

Changes

Cohort / File(s) Summary
Config: installer & test-infra
ci-operator/config/osac-project/osac-installer/osac-project-osac-installer-main.yaml, ci-operator/config/osac-project/osac-test-infra/osac-project-osac-test-infra-main.yaml
Added multiple base_images (assisted components, dev-scripts, osac-test-infra), added releases.latest.candidate selector for ocp 4.20, added osac-test-infra image build, and replaced placeholder tests with many new E2E job definitions (VMAAS and CAAS) and job-specific envs/steps.
Prow periodics
ci-operator/jobs/osac-project/osac-test-infra/osac-project-osac-test-infra-main-periodics.yaml
Added numerous new periodic jobs for the new E2E targets and updated one existing periodic’s name/cron/--target to e2e-metal-vmaas-virtual-network-lifecycle.
Prow presubmits / postsubmits
ci-operator/jobs/osac-project/osac-test-infra/...-presubmits.yaml, ci-operator/jobs/osac-project/osac-installer/...-presubmits.yaml, ci-operator/jobs/osac-project/osac-installer/...-postsubmits.yaml
Reworked presubmits: retargeted temp→images and introduced multiple e2e presubmits (CAAS/VMAAS), adjusted always_run, updated triggers/rerun commands and added runtime args, secrets, mounts and labels; added job-release: "4.20" to an images postsubmit.
Step registry — baremetal test
ci-operator/step-registry/osac-project/baremetal/test/osac-project-baremetal-test-commands.sh, ci-operator/step-registry/osac-project/baremetal/test/osac-project-baremetal-test-ref.yaml
Replaced echo placeholder with SSH-based remote execution to a CI machine that runs the osac-test-infra container via podman (mounts kubeconfig and pull-secret, injects env, runs make test). Added osac-test-infra dependency and new env inputs (TEST, E2E_NAMESPACE, E2E_VM_TEMPLATE, E2E_CLUSTER_TEMPLATE).
Step registry — installer ref
ci-operator/step-registry/osac-project/installer/osac-project-installer-ref.yaml
Changed default E2E_KUSTOMIZE_OVERLAY from ci to vmaas-ci.
Presubmit image job
ci-operator/jobs/osac-project/osac-test-infra/osac-project-osac-test-infra-main-presubmits.yaml
Switched presubmit context/rerun/trigger from temp to images, changed target to images, removed podIP env and exposed ports.
Infrastructure config
core-services/cluster-pools/_config.yaml
Added owners entry for claim openshift-ci with org: osac-project referencing osac-installer and osac-test-infra.

Sequence Diagram(s)

sequenceDiagram
  participant Prow
  participant CI-Operator
  participant CI-Machine as "CI Machine (ssh)"
  participant Podman as "Podman/Runtime"
  participant TestImage as "osac-test-infra image"

  Prow->>CI-Operator: trigger job (--target)
  CI-Operator->>CI-Machine: ssh with here-doc (TEST, namespace, templates, OSAC_TEST_IMAGE)
  CI-Machine->>Podman: podman run OSAC_TEST_IMAGE (mount kubeconfig, pull-secret, set env)
  Podman->>TestImage: start container and run `make test TEST=...`
  TestImage-->>Podman: exit code & logs
  Podman-->>CI-Machine: exit status & logs
  CI-Machine-->>CI-Operator: ssh output
  CI-Operator-->>Prow: report job status
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~50 minutes

🚥 Pre-merge checks | ✅ 10
✅ Passed checks (10 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly describes the main change: adding CaaS periodic E2E jobs with cluster_claim to Prow. It is specific, concise, and directly reflects the primary additions in the changeset.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Stable And Deterministic Test Names ✅ Passed PR modifies CI/Prow YAML and shell scripts but contains no Ginkgo test code with dynamic test titles.
Test Structure And Quality ✅ Passed PR contains only CI/CD configuration and test orchestration scripts, no Ginkgo test implementations.
Microshift Test Compatibility ✅ Passed This PR does not add any Ginkgo e2e test code to the openshift/release repository. It only modifies CI/Prow configuration files (YAML) and test orchestration shell scripts that reference external test implementations in the osac-test-infra repository. Since no Ginkgo test definitions (It(), Describe(), Context(), etc.) are being added in this PR, the MicroShift test compatibility check is not applicable.
Single Node Openshift (Sno) Test Compatibility ✅ Passed This PR only modifies CI configuration files (YAML, shell scripts) and does not add new Ginkgo e2e test code. The actual test execution is delegated to remote make commands.
Topology-Aware Scheduling Compatibility ✅ Passed PR modifies only CI/CD infrastructure configs (ci-operator, Prow jobs, step registry) with no deployment manifests or scheduling constraints.
Ote Binary Stdout Contract ✅ Passed PR modifies only CI/CD configuration in openshift/release repository with no modifications to OTE binary source code.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed This PR modifies CI configuration and job definitions, not Ginkgo e2e test code. Actual tests reside in external repositories.

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

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

Warning

Review ran into problems

🔥 Problems

Git: Failed to clone repository. Please run the @coderabbitai full review command to re-trigger a full review. If the issue persists, set path_filters to include or exclude specific files.


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

@openshift-ci-robot
Copy link
Copy Markdown
Contributor

openshift-ci-robot commented Apr 14, 2026

@omer-vishlitzky: This pull request references MGMT-23722 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the task to target the "4.22.0" version, but no target version was set.

Details

In response to this:

https://redhat.atlassian.net/browse/MGMT-23722

Add 3 periodic CaaS E2E jobs using cluster_claim (pre-built AWS clusters, ~20 min setup):

  • cluster order lifecycle
  • API fields
  • delete during provision

Uses generic-claim workflow with inline steps (from: osac-installer for install, from: osac-test-infra for test).
Also adds presubmit E2E jobs to osac-installer repo config.
Schedule: Mon/Wed/Fri at 04:00 UTC.

Stacks on top of #77782.

Summary by CodeRabbit

  • New Features

  • Added new end-to-end test jobs for baremetal and cloud environments with enhanced testing capabilities.

  • Introduced additional test image builds and automated test workflows.

  • Chores

  • Updated CI/CD infrastructure configuration with improved test scheduling and environment setup.

  • Adjusted build dependencies and test execution parameters.

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 openshift-eng/jira-lifecycle-plugin repository.

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

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

could not load configuration from candidate revision of release repo: failed to load ci-operator configuration from release repo: [invalid ci-operator config: invalid configuration: tests[0].as: should not be called 'images' because it gets confused with '[images]' target, invalid ci-operator config: configuration has 2 errors:

 * tests[0].as: should not be called 'images' because it gets confused with '[images]' target
 * tests[11].as: 46 characters long, maximum length is 42 for tests with claims
]
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.

Copy link
Copy Markdown

@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: 2

🧹 Nitpick comments (1)
ci-operator/config/osac-project/osac-test-infra/osac-project-osac-test-infra-main.yaml (1)

214-336: Consider extracting the repeated CAAS pre/test blocks.

Only the TEST= selector changes across these three jobs, and the same install block is duplicated again in ci-operator/config/osac-project/osac-installer/osac-project-osac-installer-main.yaml. A small ref/chain here would reduce drift the next time the install flow changes.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@ci-operator/config/osac-project/osac-test-infra/osac-project-osac-test-infra-main.yaml`
around lines 214 - 336, The three jobs (as: e2e-caas-cluster-order-api-fields,
e2e-caas-cluster-order-delete-during-provision and the earlier lifecycle job)
duplicate the same CAAS install and test pre/test steps (the block that runs
INSTALLER_KUSTOMIZE_OVERLAY=caas-ci ... sh scripts/setup.sh and the make test
with TEST=...), so extract that repeated install/test sequence into a single
reusable snippet (eg. a YAML anchor or shared job/template named
caas-install-pre and caas-test-step) and then replace each job's duplicated
pre/test blocks with references to that snippet, keeping only the differing
TEST=<...> value per job; ensure the anchor/template includes the credentials
mount, resource requests, timeouts and INSTALLER_KUSTOMIZE_OVERLAY/commands so
changes in osac-installer or the install flow are made in one place.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In
`@ci-operator/config/osac-project/osac-test-infra/osac-project-osac-test-infra-main.yaml`:
- Around line 39-42: Add a promotion stanza so the built image "to:
osac-test-infra" is published to the tag the installer expects; update the
ci-operator config by adding a promotion block that publishes the built image to
osac-project/latest:osac-test-infra (so downstream config osac-installer can
resolve it), e.g. add a promotion entry referencing the built image name
"osac-test-infra" and target tag "osac-project/latest:osac-test-infra".

In
`@ci-operator/jobs/osac-project/osac-test-infra/osac-project-osac-test-infra-main-periodics.yaml`:
- Around line 4-29: The periodic job references a stale target flag
(--target=e2e-metal-osac-caas-4-20) and an out-of-sync cron; update the
container args to use an existing test target (e.g., replace
--target=e2e-metal-osac-caas-4-20 with the appropriate new target such as
e2e-metal-vmaas-... or e2e-caas-cluster-order-...), adjust the job name
(periodic-ci-osac-project-osac-test-infra-main-e2e-metal-osac-caas-4-20) to
reflect the new target, and change the cron schedule to match the new CaaS
schedules so the job will run at the intended times. Ensure the updated target
exactly matches one of the targets defined in the ci-operator config (e.g.,
e2e-metal-vmaas-*) and that the --target value, job name, and cron are
consistent.

---

Nitpick comments:
In
`@ci-operator/config/osac-project/osac-test-infra/osac-project-osac-test-infra-main.yaml`:
- Around line 214-336: The three jobs (as: e2e-caas-cluster-order-api-fields,
e2e-caas-cluster-order-delete-during-provision and the earlier lifecycle job)
duplicate the same CAAS install and test pre/test steps (the block that runs
INSTALLER_KUSTOMIZE_OVERLAY=caas-ci ... sh scripts/setup.sh and the make test
with TEST=...), so extract that repeated install/test sequence into a single
reusable snippet (eg. a YAML anchor or shared job/template named
caas-install-pre and caas-test-step) and then replace each job's duplicated
pre/test blocks with references to that snippet, keeping only the differing
TEST=<...> value per job; ensure the anchor/template includes the credentials
mount, resource requests, timeouts and INSTALLER_KUSTOMIZE_OVERLAY/commands so
changes in osac-installer or the install flow are made in one place.
🪄 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: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 7f4a1a84-6cb7-4eb8-8782-504bf503975d

📥 Commits

Reviewing files that changed from the base of the PR and between b0d6ac6 and 0cb7dfc.

📒 Files selected for processing (7)
  • ci-operator/config/osac-project/osac-installer/osac-project-osac-installer-main.yaml
  • ci-operator/config/osac-project/osac-test-infra/osac-project-osac-test-infra-main.yaml
  • ci-operator/jobs/osac-project/osac-test-infra/osac-project-osac-test-infra-main-periodics.yaml
  • ci-operator/jobs/osac-project/osac-test-infra/osac-project-osac-test-infra-main-presubmits.yaml
  • ci-operator/step-registry/osac-project/baremetal/test/osac-project-baremetal-test-commands.sh
  • ci-operator/step-registry/osac-project/baremetal/test/osac-project-baremetal-test-ref.yaml
  • ci-operator/step-registry/osac-project/installer/osac-project-installer-ref.yaml

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci bot commented Apr 14, 2026

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: omer-vishlitzky
Once this PR has been reviewed and has the lgtm label, please assign akshaynadkarni, hector-vido for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found 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-robot
Copy link
Copy Markdown
Contributor

openshift-ci-robot commented Apr 14, 2026

@omer-vishlitzky: This pull request references MGMT-23722 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the task to target the "4.22.0" version, but no target version was set.

Details

In response to this:

https://redhat.atlassian.net/browse/MGMT-23722

Add 3 periodic CaaS E2E jobs using cluster_claim (pre-built AWS clusters, ~20 min setup):

  • cluster order lifecycle
  • API fields
  • delete during provision

Uses generic-claim workflow with inline steps (from: osac-installer for install, from: osac-test-infra for test).
Also adds presubmit E2E jobs to osac-installer repo config.
Schedule: Mon/Wed/Fri at 04:00 UTC.

Stacks on top of #77782.

Summary by CodeRabbit

  • New Features

  • Added numerous new end-to-end test jobs for baremetal and cloud (CAAS) scenarios and a dedicated test image build.

  • Added periodic schedules for the new test suites.

  • Chores

  • Updated CI job triggers, presubmit/postsubmit behavior, and job labels.

  • Added environment defaults and wired a test image into CI steps to support executions.

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 openshift-eng/jira-lifecycle-plugin repository.

Copy link
Copy Markdown

@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

♻️ Duplicate comments (1)
ci-operator/config/osac-project/osac-test-infra/osac-project-osac-test-infra-main.yaml (1)

39-42: ⚠️ Potential issue | 🟠 Major

Promote osac-test-infra to the tag the installer jobs consume.

Lines 39-42 build osac-test-infra, but this file still does not publish it to osac-project/latest:osac-test-infra. The downstream consumer in ci-operator/config/osac-project/osac-installer/osac-project-osac-installer-main.yaml Lines 38-41 resolves that promoted tag, so the new installer jobs will otherwise keep pulling a stale or missing image.

Suggested fix
 images:
   items:
   - dockerfile_path: Containerfile
     to: osac-test-infra
+promotion:
+  to:
+  - name: latest
+    namespace: osac-project
 releases:
   latest:
     candidate:
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@ci-operator/config/osac-project/osac-test-infra/osac-project-osac-test-infra-main.yaml`
around lines 39 - 42, The image build for "to: osac-test-infra" currently only
builds locally; update the ci-operator image promotion so the built image is
published to the promoted tag consumed by installers
(osac-project/latest:osac-test-infra). Modify the images/items block that
references dockerfile_path: Containerfile and to: osac-test-infra to include
promotion target(s) or a promotion configuration that publishes the image to
osac-project/latest:osac-test-infra so downstream osac-installer jobs resolve
the new image.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In
`@ci-operator/config/osac-project/osac-installer/osac-project-osac-installer-main.yaml`:
- Around line 109-145: The job claims cluster_claim.version "4.17" but both step
definitions (the pre/install step under steps.pre with as: install and the test
step with as: test) set cli: latest (pinned to 4.20); update either
cluster_claim.version to "4.20" or change the cli fields for those steps to a
4.17 release alias (e.g., "4.17") so the injected oc client matches the claimed
cluster version and avoids an unsupported client-server skew when running
commands like oc extract in the install step.

---

Duplicate comments:
In
`@ci-operator/config/osac-project/osac-test-infra/osac-project-osac-test-infra-main.yaml`:
- Around line 39-42: The image build for "to: osac-test-infra" currently only
builds locally; update the ci-operator image promotion so the built image is
published to the promoted tag consumed by installers
(osac-project/latest:osac-test-infra). Modify the images/items block that
references dockerfile_path: Containerfile and to: osac-test-infra to include
promotion target(s) or a promotion configuration that publishes the image to
osac-project/latest:osac-test-infra so downstream osac-installer jobs resolve
the new image.
🪄 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: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: c482a575-e8c1-4a45-a062-8a52a2d602a9

📥 Commits

Reviewing files that changed from the base of the PR and between 0cb7dfc and ba7ee19.

📒 Files selected for processing (10)
  • ci-operator/config/osac-project/osac-installer/osac-project-osac-installer-main.yaml
  • ci-operator/config/osac-project/osac-test-infra/osac-project-osac-test-infra-main.yaml
  • ci-operator/jobs/osac-project/osac-installer/osac-project-osac-installer-main-postsubmits.yaml
  • ci-operator/jobs/osac-project/osac-installer/osac-project-osac-installer-main-presubmits.yaml
  • ci-operator/jobs/osac-project/osac-test-infra/osac-project-osac-test-infra-main-periodics.yaml
  • ci-operator/jobs/osac-project/osac-test-infra/osac-project-osac-test-infra-main-presubmits.yaml
  • ci-operator/step-registry/osac-project/baremetal/test/osac-project-baremetal-test-commands.sh
  • ci-operator/step-registry/osac-project/baremetal/test/osac-project-baremetal-test-ref.yaml
  • ci-operator/step-registry/osac-project/installer/osac-project-installer-ref.yaml
  • core-services/cluster-pools/_config.yaml
✅ Files skipped from review due to trivial changes (3)
  • core-services/cluster-pools/_config.yaml
  • ci-operator/jobs/osac-project/osac-installer/osac-project-osac-installer-main-postsubmits.yaml
  • ci-operator/step-registry/osac-project/baremetal/test/osac-project-baremetal-test-ref.yaml
🚧 Files skipped from review as they are similar to previous changes (3)
  • ci-operator/step-registry/osac-project/installer/osac-project-installer-ref.yaml
  • ci-operator/step-registry/osac-project/baremetal/test/osac-project-baremetal-test-commands.sh
  • ci-operator/jobs/osac-project/osac-test-infra/osac-project-osac-test-infra-main-presubmits.yaml

Comment on lines +109 to +145
cluster_claim:
architecture: amd64
cloud: aws
owner: openshift-ci
product: ocp
timeout: 1h0m0s
version: "4.17"
steps:
allow_best_effort_post_steps: true
pre:
- as: install
cli: latest
commands: |
set -euo pipefail
base64 -d /var/run/osac-installer-aap/license > /installer/overlays/caas-ci/files/license.zip
oc extract secret/pull-secret -n openshift-config --to=- > /installer/overlays/caas-ci/files/quay-pull-secret.json
cd /installer
INSTALLER_KUSTOMIZE_OVERLAY=caas-ci MCE_SERVICE=true INGRESS_SERVICE=true STORAGE_SERVICE=true sh scripts/setup.sh
credentials:
- mount_path: /var/run/osac-installer-aap
name: osac-installer-aap
namespace: test-credentials
from: osac-installer
resources:
requests:
cpu: 100m
memory: 200Mi
timeout: 3h0m0s
test:
- as: test
cli: latest
commands: |
set -euo pipefail
cd /tests
make test TEST=test_cluster_order_lifecycle
from: osac-test-infra
resources:
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🌐 Web query:

What is the supported OpenShift oc/kubectl client-server version skew, and is an OpenShift 4.20 client supported against an OpenShift 4.17 cluster?

💡 Result:

The supported OpenShift oc/kubectl client-server version skew policy allows full compatibility when the client and server versions match (X.Y client with X.Y server). Newer clients (X.Y+N where N > 1) against older servers (X.Y) may provide options and features that are not compatible with the server. Older clients against newer servers may not access all server features. An OpenShift 4.20 client is not explicitly supported against a 4.17 cluster, as the skew exceeds 1 minor version (3 minor versions difference), potentially causing incompatibilities with new APIs or features in the 4.20 client not recognized by the 4.17 server. OpenShift follows Kubernetes conventions but with stricter policies; use matching or adjacent minor versions for reliability.

Citations:


Align the injected CLI with the claimed cluster version.

This job claims an OCP 4.17 cluster (Line 115), but both steps use cli: latest (Lines 120 and 139), which is pinned to 4.20 (Lines 76–80). The install step runs oc extract directly against the claimed cluster (Line 124). OpenShift's client-server version skew policy does not support a 4.20 client against a 4.17 server—this 3 minor-version gap may cause API incompatibilities. Either claim a 4.20 cluster or use a 4.17 release alias for these steps.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@ci-operator/config/osac-project/osac-installer/osac-project-osac-installer-main.yaml`
around lines 109 - 145, The job claims cluster_claim.version "4.17" but both
step definitions (the pre/install step under steps.pre with as: install and the
test step with as: test) set cli: latest (pinned to 4.20); update either
cluster_claim.version to "4.20" or change the cli fields for those steps to a
4.17 release alias (e.g., "4.17") so the injected oc client matches the claimed
cluster version and avoids an unsupported client-server skew when running
commands like oc extract in the install step.

@openshift-ci-robot
Copy link
Copy Markdown
Contributor

openshift-ci-robot commented Apr 14, 2026

@omer-vishlitzky: This pull request references MGMT-23722 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the task to target the "4.22.0" version, but no target version was set.

Details

In response to this:

https://redhat.atlassian.net/browse/MGMT-23722

Add 3 periodic CaaS E2E jobs using cluster_claim (pre-built AWS clusters, ~20 min setup):

  • cluster order lifecycle
  • API fields
  • delete during provision

Uses generic-claim workflow with inline steps (from: osac-installer for install, from: osac-test-infra for test).
Also adds presubmit E2E jobs to osac-installer repo config.
Schedule: Mon/Wed/Fri at 04:00 UTC.

Stacks on top of #77782.

Summary by CodeRabbit

  • New Features

  • Added many new E2E test jobs (baremetal vMAAS and CAAS) with periodic schedules and a dedicated osac-test-infra test image build.

  • Introduced disabled-by-default presubmit/test jobs that can be triggered for compute and cluster lifecycle scenarios.

  • Extended base images list to include multiple assisted components and a dev-scripts/test-infra image.

  • Chores

  • Updated CI job triggers, presubmit/postsubmit configs, labels, and periodics schedules.

  • Wired test-image env defaults, added step dependencies, and adjusted a kustomize overlay default.

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 openshift-eng/jira-lifecycle-plugin repository.

Copy link
Copy Markdown

@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

♻️ Duplicate comments (2)
ci-operator/config/osac-project/osac-installer/osac-project-osac-installer-main.yaml (1)

109-156: ⚠️ Potential issue | 🟠 Major

Align the claimed cluster version with the injected CLI.

This job claims an OCP 4.17 cluster, but both inline steps use cli: latest, and latest is pinned to 4.20 in this config (Lines 75-80). That leaves the new CaaS job running oc commands against a different minor than the claimed cluster. Pick one version and keep cluster_claim.version and both cli fields consistent.

What is the supported OpenShift oc/kubectl client-server version skew, and is an OpenShift 4.20 client supported against an OpenShift 4.17 cluster?
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@ci-operator/config/osac-project/osac-installer/osac-project-osac-installer-main.yaml`
around lines 109 - 156, The job claims cluster_claim.version "4.17" but both
step entries use cli: latest (which is pinned to 4.20); make them consistent by
either updating cluster_claim.version to "4.20" or changing both step cli fields
(pre and test) to the matching minor (e.g., "4.17"); update the two occurrences
of cli in the steps (the install/pre step and the test step) and ensure
cluster_claim.version and the selected cli value are the same across the file.
ci-operator/config/osac-project/osac-test-infra/osac-project-osac-test-infra-main.yaml (1)

39-42: ⚠️ Potential issue | 🟠 Major

Promote osac-test-infra if other configs consume osac-project/latest:osac-test-infra.

ci-operator/config/osac-project/osac-installer/osac-project-osac-installer-main.yaml pulls this image from osac-project/latest:osac-test-infra, but this config only builds it. Without a promotion stanza here, merged changes will not refresh the tag those downstream jobs run.

Suggested fix
 images:
   items:
   - dockerfile_path: Containerfile
     to: osac-test-infra
+promotion:
+  to:
+  - name: latest
+    namespace: osac-project
 releases:
   latest:
     candidate:
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@ci-operator/config/osac-project/osac-test-infra/osac-project-osac-test-infra-main.yaml`
around lines 39 - 42, The images.items entry that builds the image
(dockerfile_path: Containerfile, to: osac-test-infra) needs a promotion stanza
so the built artifact is published to the tag consumed by downstream jobs;
update the same YAML (the images.items entry for to: osac-test-infra) to include
a promotion block that publishes the image to
osac-project/latest:osac-test-infra (so ci-operator downstream config
osac-installer which pulls osac-project/latest:osac-test-infra gets the
refreshed image).
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In
`@ci-operator/config/osac-project/osac-test-infra/osac-project-osac-test-infra-main.yaml`:
- Around line 201-250: The job e2e-caas-cluster-order-lifecycle is claiming
cluster version "4.17" while injecting cli: latest (which is pinned to 4.20),
causing a disallowed 3-minor-version skew; update the cluster_claim.version from
"4.17" to "4.20" for this CaaS job (look for the block starting with as:
e2e-caas-cluster-order-lifecycle and the cluster_claim: version field) or
alternatively set the job's CLI to a compatible older release instead of cli:
latest to ensure at most ±1 minor version skew.

---

Duplicate comments:
In
`@ci-operator/config/osac-project/osac-installer/osac-project-osac-installer-main.yaml`:
- Around line 109-156: The job claims cluster_claim.version "4.17" but both step
entries use cli: latest (which is pinned to 4.20); make them consistent by
either updating cluster_claim.version to "4.20" or changing both step cli fields
(pre and test) to the matching minor (e.g., "4.17"); update the two occurrences
of cli in the steps (the install/pre step and the test step) and ensure
cluster_claim.version and the selected cli value are the same across the file.

In
`@ci-operator/config/osac-project/osac-test-infra/osac-project-osac-test-infra-main.yaml`:
- Around line 39-42: The images.items entry that builds the image
(dockerfile_path: Containerfile, to: osac-test-infra) needs a promotion stanza
so the built artifact is published to the tag consumed by downstream jobs;
update the same YAML (the images.items entry for to: osac-test-infra) to include
a promotion block that publishes the image to
osac-project/latest:osac-test-infra (so ci-operator downstream config
osac-installer which pulls osac-project/latest:osac-test-infra gets the
refreshed image).
🪄 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: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: fd24edbb-f4c6-41f0-aa30-6a46d74d4f45

📥 Commits

Reviewing files that changed from the base of the PR and between ba7ee19 and afd0de2.

📒 Files selected for processing (10)
  • ci-operator/config/osac-project/osac-installer/osac-project-osac-installer-main.yaml
  • ci-operator/config/osac-project/osac-test-infra/osac-project-osac-test-infra-main.yaml
  • ci-operator/jobs/osac-project/osac-installer/osac-project-osac-installer-main-postsubmits.yaml
  • ci-operator/jobs/osac-project/osac-installer/osac-project-osac-installer-main-presubmits.yaml
  • ci-operator/jobs/osac-project/osac-test-infra/osac-project-osac-test-infra-main-periodics.yaml
  • ci-operator/jobs/osac-project/osac-test-infra/osac-project-osac-test-infra-main-presubmits.yaml
  • ci-operator/step-registry/osac-project/baremetal/test/osac-project-baremetal-test-commands.sh
  • ci-operator/step-registry/osac-project/baremetal/test/osac-project-baremetal-test-ref.yaml
  • ci-operator/step-registry/osac-project/installer/osac-project-installer-ref.yaml
  • core-services/cluster-pools/_config.yaml
✅ Files skipped from review due to trivial changes (4)
  • core-services/cluster-pools/_config.yaml
  • ci-operator/step-registry/osac-project/installer/osac-project-installer-ref.yaml
  • ci-operator/jobs/osac-project/osac-installer/osac-project-osac-installer-main-postsubmits.yaml
  • ci-operator/step-registry/osac-project/baremetal/test/osac-project-baremetal-test-commands.sh
🚧 Files skipped from review as they are similar to previous changes (2)
  • ci-operator/step-registry/osac-project/baremetal/test/osac-project-baremetal-test-ref.yaml
  • ci-operator/jobs/osac-project/osac-installer/osac-project-osac-installer-main-presubmits.yaml

Comment on lines +201 to +250
- as: e2e-caas-cluster-order-lifecycle
cluster_claim:
architecture: amd64
cloud: aws
owner: openshift-ci
product: ocp
timeout: 1h0m0s
version: "4.17"
cron: 0 4 * * 1
steps:
allow_best_effort_post_steps: true
pre:
- as: install
cli: latest
commands: |
set -euo pipefail
mkdir -p /installer/overlays/caas-ci/files
base64 -d /var/run/osac-installer-aap/license > /installer/overlays/caas-ci/files/license.zip
oc extract secret/pull-secret -n openshift-config --to=- > /installer/overlays/caas-ci/files/quay-pull-secret.json
cp /installer/overlays/caas-ci/files/quay-pull-secret.json ${SHARED_DIR}/pull-secret.json
ssh-keygen -t rsa -b 2048 -f ${SHARED_DIR}/id_rsa -N ""
cd /installer
INSTALLER_KUSTOMIZE_OVERLAY=caas-ci MCE_SERVICE=true INGRESS_SERVICE=true STORAGE_SERVICE=true sh scripts/setup.sh
credentials:
- mount_path: /var/run/osac-installer-aap
name: osac-installer-aap
namespace: test-credentials
from: osac-installer
resources:
requests:
cpu: 100m
memory: 200Mi
timeout: 3h0m0s
test:
- as: test
cli: latest
commands: |
set -euo pipefail
export OSAC_PULL_SECRET_PATH=${SHARED_DIR}/pull-secret.json
export OSAC_SSH_PUBLIC_KEY_PATH=${SHARED_DIR}/id_rsa.pub
export OSAC_NAMESPACE=osac-e2e-ci
cd /tests
make test TEST=test_cluster_order_lifecycle
from: osac-test-infra
resources:
requests:
cpu: 100m
memory: 200Mi
timeout: 1h0m0s
workflow: generic-claim
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🌐 Web query:

What is the supported OpenShift oc/kubectl client-server version skew, and is an OpenShift 4.20 client supported against an OpenShift 4.17 cluster?

💡 Result:

The supported OpenShift oc/kubectl client-server version skew follows Kubernetes policy: clients are supported up to 1 minor version older or newer than the server. Newer clients may not access all server features, and older clients may provide unsupported options. OpenShift documentation confirms full compatibility for same-version client-server, with caveats for version differences where the client may lack access to new server features or provide unsupported features. An OpenShift 4.20 client (based on Kubernetes 1.33) is supported against a 4.17 cluster (Kubernetes 1.30), as the skew is within 1 minor version (+3, but Kubernetes allows newer client up to +1 explicitly, though practical compatibility holds per policy and common usage; no explicit OpenShift restriction found beyond Kubernetes guidelines).

Citations:


🏁 Script executed:

# Check the file and examine the structure around lines 43-48 and the job definitions
cat -n ci-operator/config/osac-project/osac-test-infra/osac-project-osac-test-infra-main.yaml | head -60

Repository: openshift/release

Length of output: 1818


🏁 Script executed:

# Also look at the full section for the three jobs mentioned
wc -l ci-operator/config/osac-project/osac-test-infra/osac-project-osac-test-infra-main.yaml

Repository: openshift/release

Length of output: 151


🏁 Script executed:

# Check the three job sections mentioned in the review
cat -n ci-operator/config/osac-project/osac-test-infra/osac-project-osac-test-infra-main.yaml | sed -n '201,250p'

Repository: openshift/release

Length of output: 2077


🏁 Script executed:

# Check the second job section
cat -n ci-operator/config/osac-project/osac-test-infra/osac-project-osac-test-infra-main.yaml | sed -n '251,300p'

Repository: openshift/release

Length of output: 2079


🏁 Script executed:

# Check the third job section
cat -n ci-operator/config/osac-project/osac-test-infra/osac-project-osac-test-infra-main.yaml | sed -n '301,350p'

Repository: openshift/release

Length of output: 2097


Update the claimed cluster version to 4.20 to match the CLI version, or use an older CLI that supports 4.17.

All three CaaS jobs claim version: "4.17" but inject cli: latest, which this config pins to 4.20 (lines 43-48). The resulting 3-minor-version skew violates the Kubernetes/OpenShift version skew policy, which supports only ±1 minor version differences. Align the versions to avoid client-server compatibility issues across these periodic tests.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@ci-operator/config/osac-project/osac-test-infra/osac-project-osac-test-infra-main.yaml`
around lines 201 - 250, The job e2e-caas-cluster-order-lifecycle is claiming
cluster version "4.17" while injecting cli: latest (which is pinned to 4.20),
causing a disallowed 3-minor-version skew; update the cluster_claim.version from
"4.17" to "4.20" for this CaaS job (look for the block starting with as:
e2e-caas-cluster-order-lifecycle and the cluster_claim: version field) or
alternatively set the job's CLI to a compatible older release instead of cli:
latest to ensure at most ±1 minor version skew.

@omer-vishlitzky omer-vishlitzky marked this pull request as ready for review April 15, 2026 14:14
@openshift-ci openshift-ci bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Apr 15, 2026
@openshift-ci-robot
Copy link
Copy Markdown
Contributor

openshift-ci-robot commented Apr 16, 2026

@omer-vishlitzky: This pull request references MGMT-23722 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the task to target the "5.0.0" version, but no target version was set.

Details

In response to this:

https://redhat.atlassian.net/browse/MGMT-23722

Add 3 periodic CaaS E2E jobs using cluster_claim (pre-built AWS clusters, ~20 min setup):

  • cluster order lifecycle
  • API fields
  • delete during provision

Uses generic-claim workflow with inline steps (from: osac-installer for install, from: osac-test-infra for test).
Also adds presubmit E2E jobs to osac-installer repo config.
Schedule: Mon/Wed/Fri at 04:00 UTC.

Stacks on top of #77782.

Summary by CodeRabbit

  • New Features

  • Added many new E2E test suites (baremetal vMAAS and CAAS) with scheduled periodic jobs and a dedicated osac-test-infra test image.

  • Added new base images for assisted components and a dev-scripts/test-infra image.

  • Tests

  • Introduced numerous disabled-by-default presubmit/test jobs for compute and cluster lifecycle scenarios with explicit pre/test steps.

  • Chores

  • Updated CI job contexts, triggers, presubmit/postsubmit labels, periodic schedules, step dependencies, and adjusted a kustomize overlay default.

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 openshift-eng/jira-lifecycle-plugin repository.

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

[REHEARSALNOTIFIER]
@omer-vishlitzky: 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-osac-project-osac-installer-main-e2e-caas-cluster-order-api-fields osac-project/osac-installer presubmit Presubmit changed
pull-ci-osac-project-osac-installer-main-e2e-caas-cluster-order-lifecycle osac-project/osac-installer presubmit Presubmit changed
pull-ci-osac-project-osac-installer-main-e2e-caas-order-delete-during-provision osac-project/osac-installer presubmit Presubmit changed
pull-ci-osac-project-osac-installer-main-e2e-metal-vmaas-compute-instance-api-fields osac-project/osac-installer presubmit Presubmit changed
pull-ci-osac-project-osac-installer-main-e2e-metal-vmaas-compute-instance-cli-fields osac-project/osac-installer presubmit Presubmit changed
pull-ci-osac-project-osac-installer-main-e2e-metal-vmaas-compute-instance-creation osac-project/osac-installer presubmit Presubmit changed
pull-ci-osac-project-osac-installer-main-e2e-metal-vmaas-compute-instance-delete-during-provision osac-project/osac-installer presubmit Presubmit changed
pull-ci-osac-project-osac-installer-main-e2e-metal-vmaas-compute-instance-restart osac-project/osac-installer presubmit Presubmit changed
pull-ci-osac-project-osac-installer-main-e2e-metal-vmaas-compute-instance-restart-negative osac-project/osac-installer presubmit Presubmit changed
pull-ci-osac-project-osac-installer-main-e2e-metal-vmaas-subnet-lifecycle osac-project/osac-installer presubmit Presubmit changed
pull-ci-osac-project-osac-installer-main-e2e-metal-vmaas-virtual-network-lifecycle osac-project/osac-installer presubmit Presubmit changed
pull-ci-osac-project-osac-installer-main-images osac-project/osac-installer presubmit Ci-operator config changed
pull-ci-osac-project-osac-test-infra-main-images osac-project/osac-test-infra presubmit Presubmit changed
periodic-ci-osac-project-osac-test-infra-main-e2e-metal-vmaas-compute-instance-api-fields N/A periodic Periodic changed
periodic-ci-osac-project-osac-test-infra-main-e2e-caas-order-delete-during-provision N/A periodic Periodic changed
periodic-ci-osac-project-osac-test-infra-main-e2e-metal-vmaas-virtual-network-lifecycle N/A periodic Periodic changed
periodic-ci-osac-project-osac-test-infra-main-e2e-caas-cluster-order-api-fields N/A periodic Periodic changed
periodic-ci-osac-project-osac-test-infra-main-e2e-metal-vmaas-compute-instance-creation N/A periodic Periodic changed
periodic-ci-osac-project-osac-test-infra-main-e2e-metal-vmaas-compute-instance-delete-during-provision N/A periodic Periodic changed
periodic-ci-osac-project-osac-test-infra-main-e2e-metal-vmaas-compute-instance-cli-fields N/A periodic Periodic changed
periodic-ci-osac-project-osac-test-infra-main-e2e-metal-vmaas-compute-instance-restart-negative N/A periodic Periodic changed
periodic-ci-osac-project-osac-test-infra-main-e2e-metal-vmaas-subnet-lifecycle N/A periodic Periodic changed
periodic-ci-osac-project-osac-test-infra-main-e2e-caas-cluster-order-lifecycle N/A periodic Periodic changed
periodic-ci-osac-project-osac-test-infra-main-e2e-metal-vmaas-compute-instance-restart N/A periodic Periodic changed
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.

Copy link
Copy Markdown

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

♻️ Duplicate comments (3)
ci-operator/config/osac-project/osac-test-infra/osac-project-osac-test-infra-main.yaml (2)

39-42: ⚠️ Potential issue | 🟠 Major

Publish osac-test-infra to the tag the installer config consumes.

ci-operator/config/osac-project/osac-installer/osac-project-osac-installer-main.yaml resolves osac-test-infra from osac-project/latest:osac-test-infra, but this config only builds the image and never promotes it. That can leave the downstream installer jobs on a stale or missing tag.

Suggested fix
 images:
   items:
   - dockerfile_path: Containerfile
     to: osac-test-infra
+promotion:
+  to:
+  - name: latest
+    namespace: osac-project
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@ci-operator/config/osac-project/osac-test-infra/osac-project-osac-test-infra-main.yaml`
around lines 39 - 42, The osac-test-infra image is built but never promoted to
the tag consumed by the installer (osac-project/latest:osac-test-infra); update
the build config for the osac-test-infra image (reference image name
osac-test-infra and the installer resolution
osac-project/latest:osac-test-infra) to publish/promote the built image to that
tag—add the promotion/push step or a release tag mapping in the images block so
the CI produces osac-project/latest:osac-test-infra after a successful build.

43-48: ⚠️ Potential issue | 🟠 Major

Align the claimed cluster version with the injected CLI.

latest is pinned to 4.20 here, but all three generic-claim jobs still request version: "4.17" and execute both phases with cli: latest. That keeps the previously flagged 4.17/4.20 skew in place. Please either claim 4.20 clusters or switch these steps to a 4.17 CLI alias.

Also applies to: 201-350

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@ci-operator/config/osac-project/osac-test-infra/osac-project-osac-test-infra-main.yaml`
around lines 43 - 48, The claimed cluster version in
releases.latest.candidate.version ("4.20") is mismatched with the generic-claim
jobs that request version: "4.17" but run with cli: latest; update either the
release version or the job CLI to be consistent: either set
releases.latest.candidate.version to "4.17" to match the jobs that use version:
"4.17", or change the generic-claim job definitions that specify version: "4.17"
to use cli: "4.17" (or otherwise request version: "4.20") so that the job's
version, the cli alias (cli: latest), and releases.latest.candidate.version
align. Ensure you update all three generic-claim jobs (and the other affected
blocks noted) consistently.
ci-operator/config/osac-project/osac-installer/osac-project-osac-installer-main.yaml (1)

75-80: ⚠️ Potential issue | 🟠 Major

Keep the claimed cluster and injected CLI on the same minor.

latest is pinned to 4.20 here, but all three CaaS jobs still claim version: "4.17" and run both install and test with cli: latest. That leaves the previously flagged 4.17/4.20 skew unresolved. Either move the claims to 4.20 or switch these steps to a 4.17 CLI alias across all three jobs.

Also applies to: 233-382

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@ci-operator/config/osac-project/osac-installer/osac-project-osac-installer-main.yaml`
around lines 75 - 80, The release config sets releases.latest.candidate.version
to "4.20" while three CaaS job claims still use version "4.17" and their
install/test steps inject cli: latest, causing a minor-version skew; fix by
aligning them: either update the three job claim entries from version "4.17" to
"4.20" or change their install/test steps to use a 4.17 CLI alias (replace cli:
latest with the 4.17 alias) consistently across all three jobs (and apply the
same change to the other affected job blocks referenced in the diff).
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Duplicate comments:
In
`@ci-operator/config/osac-project/osac-installer/osac-project-osac-installer-main.yaml`:
- Around line 75-80: The release config sets releases.latest.candidate.version
to "4.20" while three CaaS job claims still use version "4.17" and their
install/test steps inject cli: latest, causing a minor-version skew; fix by
aligning them: either update the three job claim entries from version "4.17" to
"4.20" or change their install/test steps to use a 4.17 CLI alias (replace cli:
latest with the 4.17 alias) consistently across all three jobs (and apply the
same change to the other affected job blocks referenced in the diff).

In
`@ci-operator/config/osac-project/osac-test-infra/osac-project-osac-test-infra-main.yaml`:
- Around line 39-42: The osac-test-infra image is built but never promoted to
the tag consumed by the installer (osac-project/latest:osac-test-infra); update
the build config for the osac-test-infra image (reference image name
osac-test-infra and the installer resolution
osac-project/latest:osac-test-infra) to publish/promote the built image to that
tag—add the promotion/push step or a release tag mapping in the images block so
the CI produces osac-project/latest:osac-test-infra after a successful build.
- Around line 43-48: The claimed cluster version in
releases.latest.candidate.version ("4.20") is mismatched with the generic-claim
jobs that request version: "4.17" but run with cli: latest; update either the
release version or the job CLI to be consistent: either set
releases.latest.candidate.version to "4.17" to match the jobs that use version:
"4.17", or change the generic-claim job definitions that specify version: "4.17"
to use cli: "4.17" (or otherwise request version: "4.20") so that the job's
version, the cli alias (cli: latest), and releases.latest.candidate.version
align. Ensure you update all three generic-claim jobs (and the other affected
blocks noted) consistently.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: cfbdfbaa-fe94-4a84-b1eb-a90a4bf9e717

📥 Commits

Reviewing files that changed from the base of the PR and between afd0de2 and 50d3ab8.

📒 Files selected for processing (10)
  • ci-operator/config/osac-project/osac-installer/osac-project-osac-installer-main.yaml
  • ci-operator/config/osac-project/osac-test-infra/osac-project-osac-test-infra-main.yaml
  • ci-operator/jobs/osac-project/osac-installer/osac-project-osac-installer-main-postsubmits.yaml
  • ci-operator/jobs/osac-project/osac-installer/osac-project-osac-installer-main-presubmits.yaml
  • ci-operator/jobs/osac-project/osac-test-infra/osac-project-osac-test-infra-main-periodics.yaml
  • ci-operator/jobs/osac-project/osac-test-infra/osac-project-osac-test-infra-main-presubmits.yaml
  • ci-operator/step-registry/osac-project/baremetal/test/osac-project-baremetal-test-commands.sh
  • ci-operator/step-registry/osac-project/baremetal/test/osac-project-baremetal-test-ref.yaml
  • ci-operator/step-registry/osac-project/installer/osac-project-installer-ref.yaml
  • core-services/cluster-pools/_config.yaml
✅ Files skipped from review due to trivial changes (3)
  • ci-operator/step-registry/osac-project/installer/osac-project-installer-ref.yaml
  • core-services/cluster-pools/_config.yaml
  • ci-operator/jobs/osac-project/osac-installer/osac-project-osac-installer-main-postsubmits.yaml
🚧 Files skipped from review as they are similar to previous changes (3)
  • ci-operator/step-registry/osac-project/baremetal/test/osac-project-baremetal-test-commands.sh
  • ci-operator/step-registry/osac-project/baremetal/test/osac-project-baremetal-test-ref.yaml
  • ci-operator/jobs/osac-project/osac-test-infra/osac-project-osac-test-infra-main-presubmits.yaml

@omer-vishlitzky
Copy link
Copy Markdown
Contributor Author

/pj-rehearse pull-ci-osac-project-osac-installer-main-e2e-caas-cluster-order-api-fields
/pj-rehearse pull-ci-osac-project-osac-installer-main-e2e-caas-cluster-order-lifecycle
/pj-rehearse pull-ci-osac-project-osac-installer-main-e2e-caas-order-delete-during-provision

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

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

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@omer-vishlitzky: requesting more than one rehearsal in one comment is not supported. If you would like to rehearse multiple specific jobs, please separate the job names by a space in a single command.

1 similar comment
@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@omer-vishlitzky: requesting more than one rehearsal in one comment is not supported. If you would like to rehearse multiple specific jobs, please separate the job names by a space in a single command.

@omer-vishlitzky
Copy link
Copy Markdown
Contributor Author

/pj-rehearse pull-ci-osac-project-osac-installer-main-e2e-caas-cluster-order-lifecycle pull-ci-osac-project-osac-installer-main-e2e-caas-order-delete-during-provision

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

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

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci bot commented Apr 16, 2026

@omer-vishlitzky: 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/osac-project/osac-installer/main/e2e-caas-cluster-order-lifecycle 50d3ab8 link unknown /pj-rehearse pull-ci-osac-project-osac-installer-main-e2e-caas-cluster-order-lifecycle
ci/rehearse/osac-project/osac-installer/main/e2e-caas-cluster-order-api-fields 50d3ab8 link unknown /pj-rehearse pull-ci-osac-project-osac-installer-main-e2e-caas-cluster-order-api-fields
ci/rehearse/osac-project/osac-installer/main/e2e-caas-order-delete-during-provision 50d3ab8 link unknown /pj-rehearse pull-ci-osac-project-osac-installer-main-e2e-caas-order-delete-during-provision

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

jira/valid-reference Indicates that this PR references a valid Jira ticket of any type.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants