Skip to content

[DNM] Test EVPN E2Es in v4 cluster#78801

Open
pperiyasamy wants to merge 1 commit intoopenshift:mainfrom
pperiyasamy:evpn_test_ipv4
Open

[DNM] Test EVPN E2Es in v4 cluster#78801
pperiyasamy wants to merge 1 commit intoopenshift:mainfrom
pperiyasamy:evpn_test_ipv4

Conversation

@pperiyasamy
Copy link
Copy Markdown
Member

@pperiyasamy pperiyasamy commented May 5, 2026

This PR adds a new end-to-end test job for validating OVN BGP (Border Gateway Protocol) functionality in IPv4-only clusters. The PR is marked [DNM] (Do Not Merge) as a test run to validate EVPN testing infrastructure.

Changes to OVN-Kubernetes CI

The PR introduces the e2e-metal-ipi-ovn-ipv4-bgp-local-gw-techpreview test job to the OVN-Kubernetes 4.22 release CI configuration. This test:

  • Runs on Equinix bare metal infrastructure with intranet capability
  • Validates TechPreview networking features (TechPreviewNoUpgrade feature set)
  • Is optional and manually triggered (not run by default)

Supporting Infrastructure

A new workflow baremetalds-e2e-ovn-bgp-ipv4-local-gw was created to orchestrate the testing:

  • Configures IPv4-only networking (IP_STACK=v4)
  • Enables BGP local gateway mode for the default network
  • Sets up an additional machine network with both IPv4 and IPv6 subnets for VRF-Lite test cases
  • Installs and configures the Konflux operator for nmstate
  • Includes pre-flight setup steps (feature configuration, OFCIR integration, BGP pre-checks) and post-execution debugging/cleanup steps
  • Skips certain service failover and CPU partitioning tests that are not applicable in this configuration

The new test complements existing BGP tests in the release branches, which focus on dualstack environments, by providing IPv4-specific BGP validation coverage.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 5, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

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

Review profile: CHILL

Plan: Enterprise

Run ID: b6e46d89-c535-4ea0-ac19-f20da5b33ffc

📥 Commits

Reviewing files that changed from the base of the PR and between 3c79a5b and 1b247a5.

📒 Files selected for processing (1)
  • ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-4.22.yaml

Walkthrough

A new test job e2e-metal-ipi-ovn-ipv4-bgp-local-gw-techpreview was added to the OpenShift OVN Kubernetes release 4.22 configuration. This job runs a BGP local-gateway e2e test on Equinix metal infrastructure with a corresponding workflow, metadata, and ownership governance file.

Changes

New BGP Local-Gateway Test Job

Layer / File(s) Summary
Workflow Definition
ci-operator/step-registry/baremetalds/e2e/ovn/bgp/ipv4-local-gw/baremetalds-e2e-ovn-bgp-ipv4-local-gw-workflow.yaml
New workflow baremetalds-e2e-ovn-bgp-ipv4-local-gw configured for IPv4-only testing with DHCP_LEASE_EXPIRY=0, IP_STACK=v4, host-network passthrough, and an extranet network. Includes OVN BGP pre/post steps, baremetalds-ipi-test chain, and debug gathering.
Workflow Metadata
ci-operator/step-registry/baremetalds/e2e/ovn/bgp/ipv4-local-gw/baremetalds-e2e-ovn-bgp-ipv4-local-gw-workflow.metadata.json
Metadata registration for the workflow with core-networking-approvers and core-networking-reviewers.
Test Job Wiring
ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-4.22.yaml
New test job entry e2e-metal-ipi-ovn-ipv4-bgp-local-gw-techpreview added with always_run: false, optional: true, intranet capability, targeting equinix-ocp-metal, with FEATURE_SET: TechPreviewNoUpgrade, referencing the new workflow.
Governance
ci-operator/step-registry/baremetalds/e2e/ovn/bgp/ipv4-local-gw/OWNERS
OWNERS file delegating to parent directory ownership.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

🚥 Pre-merge checks | ✅ 11 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Title check ⚠️ Warning The title '[DNM] Test EVPN E2Es in v4 cluster' is misleading - the actual changes add a BGP local-gateway test job, not EVPN tests. Update the title to accurately reflect the main change, e.g., 'Add BGP local-gateway e2e test job for Equinix metal' or 'Add IPv4 BGP local-gateway test workflow'.
✅ Passed checks (11 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Stable And Deterministic Test Names ✅ Passed PR adds CI/CD configuration, not Ginkgo test definitions. TEST_SKIPS references stable test names without dynamic content.
Test Structure And Quality ✅ Passed PR contains only CI/CD configuration files (YAML workflow definitions, metadata, and config) with no Ginkgo test code to review. The check is not applicable to this type of infrastructure change.
Microshift Test Compatibility ✅ Passed No new Ginkgo e2e tests added. PR only adds CI workflow configuration and metadata files that run existing OpenShift conformance tests. Custom check requires new test code.
Single Node Openshift (Sno) Test Compatibility ✅ Passed PR adds only CI infrastructure changes (workflow YAML, job config, OWNERS). No Ginkgo test code is added, so the SNO compatibility check is not applicable.
Topology-Aware Scheduling Compatibility ✅ Passed PR adds CI test configuration only. No deployment manifests, operator code, or controllers modified. Check does not apply to CI infrastructure.
Ote Binary Stdout Contract ✅ Passed PR adds only configuration files (YAML, JSON, OWNERS). No Go source code present. OTE Binary Stdout Contract check applies to Go code, not configuration files.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed PR only adds CI config files (YAML/JSON), not Ginkgo test code. Custom check applies to new test code with It(), Describe(), etc. No .go test files 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

Tip

💬 Introducing Slack Agent: The best way for teams to turn conversations into code.

Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.

  • Generate code and open pull requests
  • Plan features and break down work
  • Investigate incidents and troubleshoot customer tickets together
  • Automate recurring tasks and respond to alerts with triggers
  • Summarize progress and report instantly

Built for teams:

  • Shared memory across your entire org—no repeating context
  • Per-thread sandboxes to safely plan and execute work
  • Governance built-in—scoped access, auditability, and budget controls

One agent for your entire SDLC. Right inside Slack.

👉 Get started


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

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 5, 2026

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: pperiyasamy
Once this PR has been reviewed and has the lgtm label, please assign tssurya 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 jcaamano and miheer May 5, 2026 07:41
@pperiyasamy
Copy link
Copy Markdown
Member Author

/pj-rehearse

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@pperiyasamy: 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 current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In
`@ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-master.yaml`:
- Around line 351-354: The job is overriding TEST_SKIPS with a narrow value
which hides the broader skip list; in the job definition that contains
TEST_SKIPS and workflow: baremetalds-e2e-ovn-bgp-ipv4-local-gw remove the
TEST_SKIPS override (or expand it to include the original broader skip entries)
so it does not replace the skip list defined in
baremetalds-e2e-ovn-bgp-ipv4-local-gw-workflow.yaml; edit the job to either
delete the TEST_SKIPS key entirely or merge the original skip patterns with the
CPU Partitioning entry to preserve all intended skips.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

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

ℹ️ Review info
⚙️ Run configuration

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

Review profile: CHILL

Plan: Enterprise

Run ID: e6c82fa1-db53-450c-a9aa-da4df25a6f71

📥 Commits

Reviewing files that changed from the base of the PR and between c213c24 and 3c79a5b.

⛔ Files ignored due to path filters (4)
  • ci-operator/jobs/openshift/ovn-kubernetes/openshift-ovn-kubernetes-master-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-4.22-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-4.23-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-5.0-presubmits.yaml is excluded by !ci-operator/jobs/**
📒 Files selected for processing (7)
  • ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-master.yaml
  • ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-4.22.yaml
  • ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-4.23.yaml
  • ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-5.0.yaml
  • ci-operator/step-registry/baremetalds/e2e/ovn/bgp/ipv4-local-gw/OWNERS
  • ci-operator/step-registry/baremetalds/e2e/ovn/bgp/ipv4-local-gw/baremetalds-e2e-ovn-bgp-ipv4-local-gw-workflow.metadata.json
  • ci-operator/step-registry/baremetalds/e2e/ovn/bgp/ipv4-local-gw/baremetalds-e2e-ovn-bgp-ipv4-local-gw-workflow.yaml

Comment on lines +351 to +354
FEATURE_SET: TechPreviewNoUpgrade
TEST_SKIPS: CPU Partitioning cluster platform workloads should be annotated
correctly for Deployments
workflow: baremetalds-e2e-ovn-bgp-ipv4-local-gw
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.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Avoid overriding workflow TEST_SKIPS with a narrower value.

At Lines 351-353, this job sets TEST_SKIPS to only the CPU partitioning case, which overrides the broader skip list already defined in ci-operator/step-registry/baremetalds/e2e/ovn/bgp/ipv4-local-gw/baremetalds-e2e-ovn-bgp-ipv4-local-gw-workflow.yaml (Lines 16-18). That can unintentionally re-enable known-skipped tests and make the job flaky.

Suggested fix
   steps:
     cluster_profile: equinix-ocp-metal
     env:
       FEATURE_SET: TechPreviewNoUpgrade
-      TEST_SKIPS: CPU Partitioning cluster platform workloads should be annotated
-        correctly for Deployments
     workflow: baremetalds-e2e-ovn-bgp-ipv4-local-gw
📝 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
FEATURE_SET: TechPreviewNoUpgrade
TEST_SKIPS: CPU Partitioning cluster platform workloads should be annotated
correctly for Deployments
workflow: baremetalds-e2e-ovn-bgp-ipv4-local-gw
FEATURE_SET: TechPreviewNoUpgrade
workflow: baremetalds-e2e-ovn-bgp-ipv4-local-gw
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-master.yaml`
around lines 351 - 354, The job is overriding TEST_SKIPS with a narrow value
which hides the broader skip list; in the job definition that contains
TEST_SKIPS and workflow: baremetalds-e2e-ovn-bgp-ipv4-local-gw remove the
TEST_SKIPS override (or expand it to include the original broader skip entries)
so it does not replace the skip list defined in
baremetalds-e2e-ovn-bgp-ipv4-local-gw-workflow.yaml; edit the job to either
delete the TEST_SKIPS key entirely or merge the original skip patterns with the
CPU Partitioning entry to preserve all intended skips.

Signed-off-by: Periyasamy Palanisamy <pepalani@redhat.com>
@openshift-merge-bot
Copy link
Copy Markdown
Contributor

[REHEARSALNOTIFIER]
@pperiyasamy: 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-ovn-kubernetes-release-4.22-e2e-metal-ipi-ovn-ipv4-bgp-local-gw-techpreview openshift/ovn-kubernetes presubmit Presubmit 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.

@pperiyasamy
Copy link
Copy Markdown
Member Author

/pj-rehearse

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@pperiyasamy: 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 May 8, 2026

@pperiyasamy: 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/openshift/ovn-kubernetes/release-5.0/e2e-metal-ipi-ovn-ipv4-bgp-local-gw-techpreview 3c79a5b link unknown /pj-rehearse pull-ci-openshift-ovn-kubernetes-release-5.0-e2e-metal-ipi-ovn-ipv4-bgp-local-gw-techpreview
ci/rehearse/openshift/ovn-kubernetes/master/e2e-metal-ipi-ovn-ipv4-bgp-local-gw-techpreview 3c79a5b link unknown /pj-rehearse pull-ci-openshift-ovn-kubernetes-master-e2e-metal-ipi-ovn-ipv4-bgp-local-gw-techpreview
ci/rehearse/openshift/ovn-kubernetes/release-4.23/e2e-metal-ipi-ovn-ipv4-bgp-local-gw-techpreview 3c79a5b link unknown /pj-rehearse pull-ci-openshift-ovn-kubernetes-release-4.23-e2e-metal-ipi-ovn-ipv4-bgp-local-gw-techpreview
ci/rehearse/openshift/ovn-kubernetes/release-4.22/e2e-metal-ipi-ovn-ipv4-bgp-local-gw-techpreview-frr-next 3c79a5b link unknown /pj-rehearse pull-ci-openshift-ovn-kubernetes-release-4.22-e2e-metal-ipi-ovn-ipv4-bgp-local-gw-techpreview-frr-next
ci/rehearse/openshift/ovn-kubernetes/release-4.22/e2e-metal-ipi-ovn-ipv4-bgp-local-gw-techpreview 1b247a5 link unknown /pj-rehearse pull-ci-openshift-ovn-kubernetes-release-4.22-e2e-metal-ipi-ovn-ipv4-bgp-local-gw-techpreview

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

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant