Skip to content

Add /test e2e-capi-sno Prow command for CAPI provider#78302

Merged
openshift-merge-bot[bot] merged 1 commit intoopenshift:mainfrom
frajamomo:feat/e2e-capi-sno
Apr 24, 2026
Merged

Add /test e2e-capi-sno Prow command for CAPI provider#78302
openshift-merge-bot[bot] merged 1 commit intoopenshift:mainfrom
frajamomo:feat/e2e-capi-sno

Conversation

@frajamomo
Copy link
Copy Markdown
Contributor

@frajamomo frajamomo commented Apr 24, 2026

Add SNO (Single Node OpenShift) e2e test variant for the cluster-api-provider-openshift-assisted repo, complementing the existing e2e-capi-multinode test.

Changes:

  • Add CLUSTER_TOPOLOGY and NUMBER_OF_NODES env vars to assisted-capi-test ref
  • Export topology env vars in assisted-capi-test-commands.sh
  • Create assisted-ofcir-baremetal-capi-sno workflow (medium cluster type)
  • Add e2e-capi-sno optional test in ci-operator config

Summary by CodeRabbit

  • New Features

    • Added optional SNO (Single Node OpenShift) e2e test target for Cluster API Provider, gated to intranet and using a SNO-specific workflow and profile.
    • Introduced a dedicated baremetal SNO workflow with SNO defaults and new cluster topology/node-count parameters; these parameters are exported to downstream test/build steps.
    • Added an optional presubmit job to run the SNO e2e target.
  • Chores

    • Added approval/ownership metadata for the new SNO workflow and job.

@openshift-ci openshift-ci Bot requested review from adriengentil and stbenjam April 24, 2026 07:39
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 24, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

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

Review profile: CHILL

Plan: Enterprise

Run ID: db18a10b-6672-4095-96e1-4024a0c14daa

📥 Commits

Reviewing files that changed from the base of the PR and between c4e70ad and b8a3884.

📒 Files selected for processing (7)
  • ci-operator/config/openshift-assisted/cluster-api-provider-openshift-assisted/openshift-assisted-cluster-api-provider-openshift-assisted-master.yaml
  • ci-operator/jobs/openshift-assisted/cluster-api-provider-openshift-assisted/openshift-assisted-cluster-api-provider-openshift-assisted-master-presubmits.yaml
  • ci-operator/step-registry/assisted/capi/test/assisted-capi-test-commands.sh
  • ci-operator/step-registry/assisted/capi/test/assisted-capi-test-ref.yaml
  • ci-operator/step-registry/assisted/ofcir/baremetal/capi/sno/OWNERS
  • ci-operator/step-registry/assisted/ofcir/baremetal/capi/sno/assisted-ofcir-baremetal-capi-sno-workflow.metadata.json
  • ci-operator/step-registry/assisted/ofcir/baremetal/capi/sno/assisted-ofcir-baremetal-capi-sno-workflow.yaml
✅ Files skipped from review due to trivial changes (4)
  • ci-operator/step-registry/assisted/capi/test/assisted-capi-test-commands.sh
  • ci-operator/step-registry/assisted/capi/test/assisted-capi-test-ref.yaml
  • ci-operator/step-registry/assisted/ofcir/baremetal/capi/sno/assisted-ofcir-baremetal-capi-sno-workflow.yaml
  • ci-operator/step-registry/assisted/ofcir/baremetal/capi/sno/assisted-ofcir-baremetal-capi-sno-workflow.metadata.json
🚧 Files skipped from review as they are similar to previous changes (2)
  • ci-operator/step-registry/assisted/ofcir/baremetal/capi/sno/OWNERS
  • ci-operator/jobs/openshift-assisted/cluster-api-provider-openshift-assisted/openshift-assisted-cluster-api-provider-openshift-assisted-master-presubmits.yaml

Walkthrough

Adds a Single Node OpenShift (SNO) CAPI e2e test and supporting CI: new presubmit job and config entry, a SNO-specific workflow (pre/test/post), workflow metadata and OWNERS, and test-step changes exporting CLUSTER_TOPOLOGY and NUMBER_OF_NODES.

Changes

Cohort / File(s) Summary
CI Test Configuration
ci-operator/config/openshift-assisted/cluster-api-provider-openshift-assisted/openshift-assisted-cluster-api-provider-openshift-assisted-master.yaml
Adds an optional e2e-capi-sno test entry using the packet-assisted profile and referencing the SNO workflow.
Test Step Changes
ci-operator/step-registry/assisted/capi/test/assisted-capi-test-commands.sh, ci-operator/step-registry/assisted/capi/test/assisted-capi-test-ref.yaml
Exports CLUSTER_TOPOLOGY and NUMBER_OF_NODES in the test script and adds them as ref env parameters with defaults (multinode, 7).
SNO Workflow & Metadata
ci-operator/step-registry/assisted/ofcir/baremetal/capi/sno/assisted-ofcir-baremetal-capi-sno-workflow.yaml, ci-operator/step-registry/assisted/ofcir/baremetal/capi/sno/assisted-ofcir-baremetal-capi-sno-workflow.metadata.json
Adds new assisted-ofcir-baremetal-capi-sno workflow (pre/test/post steps, SNO env vars like CLUSTER_TOPOLOGY=sno, NUMBER_OF_NODES=1) and accompanying metadata mapping.
Owners
ci-operator/step-registry/assisted/ofcir/baremetal/capi/sno/OWNERS
Adds assisted-cicd as approvers for the new SNO step-registry directory.
Presubmit Job
ci-operator/jobs/openshift-assisted/cluster-api-provider-openshift-assisted/openshift-assisted-cluster-api-provider-openshift-assisted-master-presubmits.yaml
Adds an optional presubmit job pull-ci-openshift-assisted-cluster-api-provider-openshift-assisted-master-e2e-capi-sno to run --target=e2e-capi-sno with required mounts/secrets and trigger commands.

Sequence Diagram(s)

sequenceDiagram
    participant Prow as Prow CI
    participant CI as ci-operator
    participant OFCIR as OFCIR (baremetal infra)
    participant Test as assisted-capi-test
    participant Storage as Artifact Store

    Prow->>CI: trigger presubmit (e2e-capi-sno)
    CI->>OFCIR: ofcir-acquire (reserve infra)
    OFCIR-->>CI: infra details (BMC, IPs)
    CI->>Test: assisted-ofcir-setup (provision cluster with SNO env)
    Test->>Test: run assisted-capi-test (CLUSTER_TOPOLOGY=sno, NUMBER_OF_NODES=1)
    Test->>Storage: upload logs/artifacts
    CI->>OFCIR: ofcir-gather (collect diagnostics)
    CI->>OFCIR: ofcir-release (release infra)
    OFCIR-->>CI: release confirmation
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

🚥 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 change: adding a new Prow command for SNO (Single Node OpenShift) e2e testing in the CAPI provider, which is the primary objective across all modified files.
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 The PR modifies CI/CD configuration files with static workflow names and environment variables, not Ginkgo test source code. No dynamic test names are introduced.
Test Structure And Quality ✅ Passed This PR does not contain Ginkgo test code and modifies only CI/CD configuration files, making the custom check not applicable.
Microshift Test Compatibility ✅ Passed This PR adds only CI/CD infrastructure configuration files to the openshift/release repository. No Ginkgo e2e tests using MicroShift-incompatible APIs are introduced.
Single Node Openshift (Sno) Test Compatibility ✅ Passed PR adds only CI/CD configuration to run existing tests with SNO topology variant; no new Ginkgo e2e test code is added.
Topology-Aware Scheduling Compatibility ✅ Passed PR adds SNO-specific CI/CD test infrastructure without introducing deployment manifests or scheduling constraints incompatible with different OpenShift topologies.
Ote Binary Stdout Contract ✅ Passed OTE Binary Stdout Contract check not applicable; PR modifies only CI/CD infrastructure and setup scripts, no OTE test binaries are added or modified.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed This PR adds only CI/CD configuration files (YAML workflows, shell scripts, metadata) that orchestrate existing test infrastructure. No new Ginkgo e2e test code with IPv4 assumptions or external connectivity requirements is added.

✏️ 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.

@frajamomo
Copy link
Copy Markdown
Contributor Author

/cc @rccrdpccl

@openshift-ci openshift-ci Bot requested a review from rccrdpccl April 24, 2026 07:45
@frajamomo
Copy link
Copy Markdown
Contributor Author

/retest

@frajamomo
Copy link
Copy Markdown
Contributor Author

/pj-rehearse

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

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

@frajamomo
Copy link
Copy Markdown
Contributor Author

/pj-rehearse ?

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

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

@frajamomo: job(s): ? either don't exist or were not found to be affected, and cannot be rehearsed

@frajamomo
Copy link
Copy Markdown
Contributor Author

/pj-rehearse abort

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

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

@frajamomo
Copy link
Copy Markdown
Contributor Author

/pj-rehearse list

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

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

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 the current code and only fix it if needed.

Inline comments:
In
`@ci-operator/step-registry/assisted/ofcir/baremetal/capi/sno/assisted-ofcir-baremetal-capi-sno-workflow.metadata.json`:
- Around line 1-7: The JSON metadata is missing the final closing brace and
trailing newline: close the top-level object that contains the "path" and
"owners" keys by adding the missing '}' at the end of the file and ensure a
trailing newline is present so the file is valid JSON and consistent with
sibling metadata files.
🪄 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: Enterprise

Run ID: 0e2a5c4d-a06a-4bec-b67c-32c4063bdebd

📥 Commits

Reviewing files that changed from the base of the PR and between d7b7635 and c4e70ad.

📒 Files selected for processing (7)
  • ci-operator/config/openshift-assisted/cluster-api-provider-openshift-assisted/openshift-assisted-cluster-api-provider-openshift-assisted-master.yaml
  • ci-operator/jobs/openshift-assisted/cluster-api-provider-openshift-assisted/openshift-assisted-cluster-api-provider-openshift-assisted-master-presubmits.yaml
  • ci-operator/step-registry/assisted/capi/test/assisted-capi-test-commands.sh
  • ci-operator/step-registry/assisted/capi/test/assisted-capi-test-ref.yaml
  • ci-operator/step-registry/assisted/ofcir/baremetal/capi/sno/OWNERS
  • ci-operator/step-registry/assisted/ofcir/baremetal/capi/sno/assisted-ofcir-baremetal-capi-sno-workflow.metadata.json
  • ci-operator/step-registry/assisted/ofcir/baremetal/capi/sno/assisted-ofcir-baremetal-capi-sno-workflow.yaml
✅ Files skipped from review due to trivial changes (1)
  • ci-operator/step-registry/assisted/ofcir/baremetal/capi/sno/OWNERS
🚧 Files skipped from review as they are similar to previous changes (4)
  • ci-operator/step-registry/assisted/capi/test/assisted-capi-test-commands.sh
  • ci-operator/config/openshift-assisted/cluster-api-provider-openshift-assisted/openshift-assisted-cluster-api-provider-openshift-assisted-master.yaml
  • ci-operator/step-registry/assisted/capi/test/assisted-capi-test-ref.yaml
  • ci-operator/step-registry/assisted/ofcir/baremetal/capi/sno/assisted-ofcir-baremetal-capi-sno-workflow.yaml

@frajamomo frajamomo force-pushed the feat/e2e-capi-sno branch 2 times, most recently from 8357c8f to df79dbb Compare April 24, 2026 08:55
@frajamomo
Copy link
Copy Markdown
Contributor Author

/re-test

Add SNO (Single Node OpenShift) e2e test variant for the
cluster-api-provider-openshift-assisted repo, complementing the
existing e2e-capi-multinode test.

Changes:
- Add CLUSTER_TOPOLOGY and NUMBER_OF_NODES env vars to assisted-capi-test ref
- Export topology env vars in assisted-capi-test-commands.sh
- Create assisted-ofcir-baremetal-capi-sno workflow (medium cluster type)
- Add e2e-capi-sno optional test in ci-operator config

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@openshift-merge-bot
Copy link
Copy Markdown
Contributor

[REHEARSALNOTIFIER]
@frajamomo: 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-assisted-cluster-api-provider-openshift-assisted-master-e2e-capi-sno openshift-assisted/cluster-api-provider-openshift-assisted presubmit Presubmit changed
pull-ci-openshift-assisted-cluster-api-provider-openshift-assisted-master-e2e-capi-multinode openshift-assisted/cluster-api-provider-openshift-assisted presubmit Registry content 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.

@frajamomo
Copy link
Copy Markdown
Contributor Author

/pj-rehearse pull-ci-openshift-assisted-cluster-api-provider-openshift-assisted-master-e2e-capi-sno

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

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

@frajamomo
Copy link
Copy Markdown
Contributor Author

/pj-rehearse pull-ci-openshift-assisted-cluster-api-provider-openshift-assisted-master-e2e-capi-multinode

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@frajamomo: 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 24, 2026

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

@frajamomo
Copy link
Copy Markdown
Contributor Author

/pj-rehearse ack

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@frajamomo: 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 Apr 24, 2026
@rccrdpccl
Copy link
Copy Markdown
Contributor

/lgtm
/approve

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

openshift-ci Bot commented Apr 24, 2026

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: frajamomo, rccrdpccl

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 Apr 24, 2026
@openshift-merge-bot openshift-merge-bot Bot merged commit 2cd8df5 into openshift:main Apr 24, 2026
20 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