Skip to content

WIP: add OpenPERouter baremetal E2E deploy-verify lane - #83156

Open
oribon wants to merge 1 commit into
openshift:mainfrom
oribon:openperouter_e2e_step1
Open

WIP: add OpenPERouter baremetal E2E deploy-verify lane#83156
oribon wants to merge 1 commit into
openshift:mainfrom
oribon:openperouter_e2e_step1

Conversation

@oribon

@oribon oribon commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

Baseline for the openperouter-e2e-metal test. Currently deploys the operator via OLM bundle on a baremetal OCP cluster and verifies all components (operator, webhook, controller, router) come up healthy. The full E2E lane will extend this with containerlab fabric setup and test execution.

The bundle image is now built using bundle.Dockerfile rather than bundle.Dockerfile.openshift (like the other telco-5g projects using konflux here).

The workflow inserts an iptables pre step before devscripts-setup. EXTRA_NETWORK_NAMES creates additional NICs on each node. The installer's bootstrap gather collects ALL NIC IPs and SSHes to each for log gathering. Since the extra networks are unreachable via SSH, this avoids timeouts on attempts to gather them.

Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com
Signed-off-by: Ori Braunshtein obraunsh@redhat.com

Summary by CodeRabbit

Adds the openperouter-e2e-metal OpenShift CI lane for OpenPERouter.

  • Builds and deploys the operator bundle through OLM on the build05 Equinix bare-metal profile.
  • Tests dual-stack networking, extra networks, two workers, and a local registry.
  • Verifies the operator, webhook, controller, and router become healthy.
  • Adds iptables rules that reject SSH traffic to unreachable extra-network subnets.
  • Prevents SSH log-gathering timeouts during bare-metal test cleanup.

@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 Aug 10, 2026
@coderabbitai

coderabbitai Bot commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

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: Pro Plus

Run ID: 366cfeff-e358-42f8-93dd-0401bfa1212a

📥 Commits

Reviewing files that changed from the base of the PR and between 0498edb and 354c49a.

⛔ Files ignored due to path filters (1)
  • ci-operator/jobs/openshift-kni/openperouter/openshift-kni-openperouter-main-presubmits.yaml is excluded by !ci-operator/jobs/**
📒 Files selected for processing (12)
  • ci-operator/config/openshift-kni/openperouter/openshift-kni-openperouter-main.yaml
  • ci-operator/step-registry/baremetalds/openperouter-e2e/OWNERS
  • ci-operator/step-registry/baremetalds/openperouter-e2e/baremetalds-openperouter-e2e-workflow.metadata.json
  • ci-operator/step-registry/baremetalds/openperouter-e2e/baremetalds-openperouter-e2e-workflow.yaml
  • ci-operator/step-registry/baremetalds/openperouter-e2e/iptables/OWNERS
  • ci-operator/step-registry/baremetalds/openperouter-e2e/iptables/baremetalds-openperouter-e2e-iptables-commands.sh
  • ci-operator/step-registry/baremetalds/openperouter-e2e/iptables/baremetalds-openperouter-e2e-iptables-ref.metadata.json
  • ci-operator/step-registry/baremetalds/openperouter-e2e/iptables/baremetalds-openperouter-e2e-iptables-ref.yaml
  • ci-operator/step-registry/baremetalds/openperouter-e2e/test/OWNERS
  • ci-operator/step-registry/baremetalds/openperouter-e2e/test/baremetalds-openperouter-e2e-test-commands.sh
  • ci-operator/step-registry/baremetalds/openperouter-e2e/test/baremetalds-openperouter-e2e-test-ref.metadata.json
  • ci-operator/step-registry/baremetalds/openperouter-e2e/test/baremetalds-openperouter-e2e-test-ref.yaml
🚧 Files skipped from review as they are similar to previous changes (11)
  • ci-operator/step-registry/baremetalds/openperouter-e2e/test/baremetalds-openperouter-e2e-test-ref.yaml
  • ci-operator/step-registry/baremetalds/openperouter-e2e/iptables/OWNERS
  • ci-operator/step-registry/baremetalds/openperouter-e2e/baremetalds-openperouter-e2e-workflow.metadata.json
  • ci-operator/step-registry/baremetalds/openperouter-e2e/baremetalds-openperouter-e2e-workflow.yaml
  • ci-operator/step-registry/baremetalds/openperouter-e2e/test/OWNERS
  • ci-operator/step-registry/baremetalds/openperouter-e2e/iptables/baremetalds-openperouter-e2e-iptables-ref.yaml
  • ci-operator/step-registry/baremetalds/openperouter-e2e/test/baremetalds-openperouter-e2e-test-commands.sh
  • ci-operator/step-registry/baremetalds/openperouter-e2e/test/baremetalds-openperouter-e2e-test-ref.metadata.json
  • ci-operator/config/openshift-kni/openperouter/openshift-kni-openperouter-main.yaml
  • ci-operator/step-registry/baremetalds/openperouter-e2e/iptables/baremetalds-openperouter-e2e-iptables-ref.metadata.json
  • ci-operator/step-registry/baremetalds/openperouter-e2e/OWNERS

Walkthrough

The CI configuration updates OpenPerOuter bundle builds and adds a dual-stack Equinix metal end-to-end test. The workflow applies extra-network firewall rules, deploys the operator bundle, creates an OpenPERouter resource, and validates workload readiness.

Changes

OpenPerOuter bare-metal validation

Layer / File(s) Summary
Bundle and metal test configuration
ci-operator/config/openshift-kni/openperouter/...
Adds the dev-scripts:test image, updates bundle build settings and pullspec substitution, and defines the dual-stack openperouter-e2e-metal test.
Workflow and network setup
ci-operator/step-registry/baremetalds/openperouter-e2e/...
Adds workflow wiring, ownership metadata, and IPv4/IPv6 TCP/22 rejection rules for extra networks.
Operator deployment and health validation
ci-operator/step-registry/baremetalds/openperouter-e2e/test/*
Installs Operator SDK, deploys OO_BUNDLE, creates the OpenPERouter resource, waits for workloads, and validates pod states.

Estimated code review effort: 3 (Moderate) | ~25 minutes

Sequence Diagram(s)

sequenceDiagram
  participant CI as CI workflow
  participant Host as dev-scripts host
  participant SDK as Operator SDK and OLM
  participant Cluster as OpenShift cluster
  CI->>Host: Apply extra-network SSH reject rules
  CI->>SDK: Install Operator SDK and deploy OO_BUNDLE
  SDK->>Cluster: Create OpenPERouter namespace and resource
  Cluster-->>SDK: Report deployments and daemonsets
  SDK-->>CI: Return pod readiness status
Loading

Suggested reviewers: fedepaol, maiqueb


Important

Pre-merge checks failed

Please resolve all errors before merging. Addressing warnings is optional.

❌ Failed checks (1 error)

Check name Status Explanation Resolution
No-Sensitive-Data-In-Logs ❌ Error The test logs oc get pods ... -o wide, which includes pod IP addresses and node names, exposing internal network and hostname data in CI logs. Replace wide output with readiness-only output, or explicitly redact the pod IP and node columns before writing diagnostics to CI logs.
✅ Passed checks (14 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the new OpenPERouter bare-metal E2E deployment and verification lane.
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 adds CI shell/YAML steps only; no Ginkgo It, Describe, Context, or When declarations or dynamic test titles are present. The lane name is static.
Test Structure And Quality ✅ Passed The commit adds no Go or Ginkgo test code; its E2E test is a Bash script, so the Ginkgo-specific requirements are not applicable.
Microshift Test Compatibility ✅ Passed The pull request adds shell/YAML CI steps only; scans found no new Ginkgo definitions or MicroShift compatibility targets requiring review.
Single Node Openshift (Sno) Test Compatibility ✅ Passed The PR adds CI YAML and shell workflow steps, not Ginkgo tests; changed files contain no It(), Describe(), Context(), or When() constructs requiring SNO review.
Topology-Aware Scheduling Compatibility ✅ Passed The PR changes only ci-operator CI configuration, workflow, and test scripts; no operator/controller/deployment sources or topology-sensitive scheduling fields were added or modified.
Ote Binary Stdout Contract ✅ Passed The PR changes only CI YAML, JSON, and shell workflow files; it adds no Go OTE binary or process-level test setup that can write non-JSON stdout.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed The PR adds only Bash and YAML CI steps; the changed hunks contain no new Ginkgo It(), Describe(), Context(), or When() tests, so this check is not applicable.
No-Weak-Crypto ✅ Passed The commit additions contain no MD5, SHA-1, DES, 3DES, RC4, Blowfish, ECB, custom crypto, or secret/token comparisons; scripts use SSH, iptables, and OLM commands only.
Container-Privileges ✅ Passed Changed files contain no privileged:true, hostPID/hostNetwork/hostIPC, SYS_ADMIN, or allowPrivilegeEscalation:true; root SSH targets the bare-metal host for documented setup actions.
✨ 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.

@openshift-ci

openshift-ci Bot commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: oribon
Once this PR has been reviewed and has the lgtm label, please assign mahnoorasghar 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
openshift-ci Bot requested review from fedepaol and maiqueb August 10, 2026 06:15
@oribon

oribon commented Aug 10, 2026

Copy link
Copy Markdown
Contributor Author

/pj-rehearse

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

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

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 3

🤖 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/step-registry/baremetalds/openperouter-e2e/iptables/baremetalds-openperouter-e2e-iptables-commands.sh`:
- Line 18: Remove the -x option from the remote shell setup in
ci-operator/step-registry/baremetalds/openperouter-e2e/iptables/baremetalds-openperouter-e2e-iptables-commands.sh:18-18
and
ci-operator/step-registry/baremetalds/openperouter-e2e/test/baremetalds-openperouter-e2e-test-commands.sh:14-14,
keeping both scripts at set -euo pipefail by default.

In
`@ci-operator/step-registry/baremetalds/openperouter-e2e/test/baremetalds-openperouter-e2e-test-commands.sh`:
- Around line 63-71: Update the pod validation block in the baremetal
openperouter E2E command to inspect each non-completed pod’s Ready condition,
not just its phase. Treat Running pods with a non-ready condition such as 0/1 as
failures, report them through NOT_READY, and print the success message only when
every non-completed pod is Ready.
- Around line 51-56: Update the DaemonSet creation loop in the controller/router
wait flow to enforce a 300-second deadline; if oc get daemonset does not succeed
within that period, print an error and exit nonzero. Preserve the existing
polling interval and rollout status handling after creation.
🪄 Autofix

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: Pro Plus

Run ID: 8375c2c2-6920-4b4d-8844-c4f217b8eb90

📥 Commits

Reviewing files that changed from the base of the PR and between 750f2a7 and b35033d.

⛔ Files ignored due to path filters (1)
  • ci-operator/jobs/openshift-kni/openperouter/openshift-kni-openperouter-main-presubmits.yaml is excluded by !ci-operator/jobs/**
📒 Files selected for processing (9)
  • ci-operator/config/openshift-kni/openperouter/openshift-kni-openperouter-main.yaml
  • ci-operator/step-registry/baremetalds/openperouter-e2e/OWNERS
  • ci-operator/step-registry/baremetalds/openperouter-e2e/baremetalds-openperouter-e2e-workflow.yaml
  • ci-operator/step-registry/baremetalds/openperouter-e2e/iptables/OWNERS
  • ci-operator/step-registry/baremetalds/openperouter-e2e/iptables/baremetalds-openperouter-e2e-iptables-commands.sh
  • ci-operator/step-registry/baremetalds/openperouter-e2e/iptables/baremetalds-openperouter-e2e-iptables-ref.yaml
  • ci-operator/step-registry/baremetalds/openperouter-e2e/test/OWNERS
  • ci-operator/step-registry/baremetalds/openperouter-e2e/test/baremetalds-openperouter-e2e-test-commands.sh
  • ci-operator/step-registry/baremetalds/openperouter-e2e/test/baremetalds-openperouter-e2e-test-ref.yaml

@oribon
oribon force-pushed the openperouter_e2e_step1 branch from b35033d to 5c78f49 Compare August 10, 2026 06:22
@coderabbitai

coderabbitai Bot commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

Note

GitHub couldn't provide a complete incremental comparison for this pull request, so CodeRabbit is performing a full review instead. This review may take a little longer.

@oribon
oribon force-pushed the openperouter_e2e_step1 branch from 5c78f49 to b2556bb Compare August 10, 2026 06:30
@oribon

oribon commented Aug 10, 2026

Copy link
Copy Markdown
Contributor Author

/pj-rehearse

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

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

@oribon
oribon force-pushed the openperouter_e2e_step1 branch from b2556bb to 479b385 Compare August 10, 2026 09:21
@coderabbitai

coderabbitai Bot commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

Note

GitHub couldn't provide a complete incremental comparison for this pull request, so CodeRabbit is performing a full review instead. This review may take a little longer.

@oribon

oribon commented Aug 10, 2026

Copy link
Copy Markdown
Contributor Author

/pj-rehearse

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

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

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

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/step-registry/baremetalds/openperouter-e2e/test/baremetalds-openperouter-e2e-test-commands.sh (1)

68-76: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Check Pod phase and Ready condition directly.

The grep accepts a 1/1 Terminating row. It also rejects a healthy pod with more than five containers. Query the Pod phase and the Ready condition instead of parsing displayed readiness counts.

Proposed fix
-NOT_READY=$(oc get pods -n openshift-openperouter-system --no-headers | grep -v "Completed" | grep -v "1/1\|2/2\|3/3\|4/4\|5/5" || true)
+NOT_READY="$(oc get pods -n openshift-openperouter-system \
+  -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.status.phase}{"\t"}{range .status.conditions[?(@.type=="Ready")]}{.status}{end}{"\n"}{end}' |
+  awk -F '\t' '$2 != "Succeeded" && ($2 != "Running" || $3 != "True")')"
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@ci-operator/step-registry/baremetalds/openperouter-e2e/test/baremetalds-openperouter-e2e-test-commands.sh`
around lines 68 - 76, Replace the readiness-count parsing in the pod
verification block with direct checks of each pod’s phase and Ready condition.
Update the logic around NOT_READY to identify pods only when phase is not
Running or the Ready condition is not True, so terminating pods and healthy pods
with any container count are handled correctly.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In
`@ci-operator/step-registry/baremetalds/openperouter-e2e/test/baremetalds-openperouter-e2e-test-commands.sh`:
- Around line 20-21: Update the Operator SDK download curl command in the test
setup to fail on HTTP errors and enforce both connection and total request
timeouts, while preserving the existing output path and versioned download URL.

---

Duplicate comments:
In
`@ci-operator/step-registry/baremetalds/openperouter-e2e/test/baremetalds-openperouter-e2e-test-commands.sh`:
- Around line 68-76: Replace the readiness-count parsing in the pod verification
block with direct checks of each pod’s phase and Ready condition. Update the
logic around NOT_READY to identify pods only when phase is not Running or the
Ready condition is not True, so terminating pods and healthy pods with any
container count are handled correctly.
🪄 Autofix

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: Pro Plus

Run ID: 2f3b5e68-485b-4dac-9fa3-5930ffc353d9

📥 Commits

Reviewing files that changed from the base of the PR and between 7f6bc53 and 479b385.

⛔ Files ignored due to path filters (1)
  • ci-operator/jobs/openshift-kni/openperouter/openshift-kni-openperouter-main-presubmits.yaml is excluded by !ci-operator/jobs/**
📒 Files selected for processing (12)
  • ci-operator/config/openshift-kni/openperouter/openshift-kni-openperouter-main.yaml
  • ci-operator/step-registry/baremetalds/openperouter-e2e/OWNERS
  • ci-operator/step-registry/baremetalds/openperouter-e2e/baremetalds-openperouter-e2e-workflow.metadata.json
  • ci-operator/step-registry/baremetalds/openperouter-e2e/baremetalds-openperouter-e2e-workflow.yaml
  • ci-operator/step-registry/baremetalds/openperouter-e2e/iptables/OWNERS
  • ci-operator/step-registry/baremetalds/openperouter-e2e/iptables/baremetalds-openperouter-e2e-iptables-commands.sh
  • ci-operator/step-registry/baremetalds/openperouter-e2e/iptables/baremetalds-openperouter-e2e-iptables-ref.metadata.json
  • ci-operator/step-registry/baremetalds/openperouter-e2e/iptables/baremetalds-openperouter-e2e-iptables-ref.yaml
  • ci-operator/step-registry/baremetalds/openperouter-e2e/test/OWNERS
  • ci-operator/step-registry/baremetalds/openperouter-e2e/test/baremetalds-openperouter-e2e-test-commands.sh
  • ci-operator/step-registry/baremetalds/openperouter-e2e/test/baremetalds-openperouter-e2e-test-ref.metadata.json
  • ci-operator/step-registry/baremetalds/openperouter-e2e/test/baremetalds-openperouter-e2e-test-ref.yaml
🚧 Files skipped from review as they are similar to previous changes (8)
  • ci-operator/step-registry/baremetalds/openperouter-e2e/test/OWNERS
  • ci-operator/step-registry/baremetalds/openperouter-e2e/iptables/baremetalds-openperouter-e2e-iptables-ref.yaml
  • ci-operator/step-registry/baremetalds/openperouter-e2e/baremetalds-openperouter-e2e-workflow.yaml
  • ci-operator/step-registry/baremetalds/openperouter-e2e/OWNERS
  • ci-operator/step-registry/baremetalds/openperouter-e2e/iptables/baremetalds-openperouter-e2e-iptables-commands.sh
  • ci-operator/config/openshift-kni/openperouter/openshift-kni-openperouter-main.yaml
  • ci-operator/step-registry/baremetalds/openperouter-e2e/iptables/OWNERS
  • ci-operator/step-registry/baremetalds/openperouter-e2e/test/baremetalds-openperouter-e2e-test-ref.yaml

Comment on lines +20 to +21
curl -sLo /usr/local/bin/operator-sdk \
"https://github.com/operator-framework/operator-sdk/releases/download/${OPERATOR_SDK_VERSION}/operator-sdk_linux_amd64"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🩺 Stability & Availability | 🟠 Major | ⚡ Quick win

Bound and validate the Operator SDK download.

curl -sLo accepts HTTP error responses and has no connection or total timeout. A stalled GitHub request can consume the full 3600-second step timeout. Fail on HTTP errors and set bounded timeouts.

Proposed fix
-curl -sLo /usr/local/bin/operator-sdk \
+curl --fail --silent --show-error --location --retry 3 \
+  --connect-timeout 30 --max-time 300 \
+  -o /usr/local/bin/operator-sdk \
   "https://github.com/operator-framework/operator-sdk/releases/download/${OPERATOR_SDK_VERSION}/operator-sdk_linux_amd64"
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
curl -sLo /usr/local/bin/operator-sdk \
"https://github.com/operator-framework/operator-sdk/releases/download/${OPERATOR_SDK_VERSION}/operator-sdk_linux_amd64"
curl --fail --silent --show-error --location --retry 3 \
--connect-timeout 30 --max-time 300 \
-o /usr/local/bin/operator-sdk \
"https://github.com/operator-framework/operator-sdk/releases/download/${OPERATOR_SDK_VERSION}/operator-sdk_linux_amd64"
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@ci-operator/step-registry/baremetalds/openperouter-e2e/test/baremetalds-openperouter-e2e-test-commands.sh`
around lines 20 - 21, Update the Operator SDK download curl command in the test
setup to fail on HTTP errors and enforce both connection and total request
timeouts, while preserving the existing output path and versioned download URL.

@oribon
oribon force-pushed the openperouter_e2e_step1 branch from 479b385 to e8ce01b Compare August 10, 2026 10:18
@oribon

oribon commented Aug 10, 2026

Copy link
Copy Markdown
Contributor Author

/pj-rehearse

@coderabbitai

coderabbitai Bot commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

Note

GitHub couldn't provide a complete incremental comparison for this pull request, so CodeRabbit is performing a full review instead. This review may take a little longer.

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

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

@openshift-ci

openshift-ci Bot commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

@oribon: The following test 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/openshift-kni/openperouter/main/openperouter-e2e-metal e8ce01b link unknown /pj-rehearse pull-ci-openshift-kni-openperouter-main-openperouter-e2e-metal

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.

Baseline for the openperouter-e2e-metal test. Currently deploys the
operator via OLM bundle on a baremetal OCP cluster and verifies all
components (operator, webhook, controller, router) come up healthy.
The full E2E lane will extend this with containerlab fabric setup
and test execution.

The bundle image is now built using bundle.Dockerfile rather than
bundle.Dockerfile.openshift (like the other telco-5g projects using
konflux here).

The workflow inserts an iptables pre step before devscripts-setup.
EXTRA_NETWORK_NAMES creates additional NICs on each node. The
installer's bootstrap gather collects ALL NIC IPs and SSHes to
each for log gathering. Since the extra networks are unreachable via SSH,
this avoids timeouts on attempts to gather them.
This is the reason we unpacked the dev-scripts chain instead of calling
it directly.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Ori Braunshtein <obraunsh@redhat.com>
@oribon
oribon force-pushed the openperouter_e2e_step1 branch from e8ce01b to 354c49a Compare August 10, 2026 14:51
@oribon

oribon commented Aug 10, 2026

Copy link
Copy Markdown
Contributor Author

/pj-rehearse

@coderabbitai

coderabbitai Bot commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

Note

GitHub couldn't provide a complete incremental comparison for this pull request, so CodeRabbit is performing a full review instead. This review may take a little longer.

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

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

[REHEARSALNOTIFIER]
@oribon: 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-kni-openperouter-main-openperouter-e2e-metal openshift-kni/openperouter presubmit Presubmit changed
pull-ci-openshift-kni-openperouter-main-ci-bundle-operator-bundle openshift-kni/openperouter presubmit Ci-operator config changed
pull-ci-openshift-kni-openperouter-main-images openshift-kni/openperouter presubmit Ci-operator config 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.

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

Labels

do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant