Skip to content

Netconnect fix#2830

Open
asood-rh wants to merge 5 commits intoopenshift:release-4.21from
asood-rh:netconnect-fix
Open

Netconnect fix#2830
asood-rh wants to merge 5 commits intoopenshift:release-4.21from
asood-rh:netconnect-fix

Conversation

@asood-rh
Copy link
Copy Markdown

@asood-rh asood-rh commented May 5, 2026

Temporary PR to get a successful build to deploy a cluster with no-overlay mode.

tssurya added 2 commits May 4, 2026 20:46
Signed-off-by: Surya Seetharaman <suryaseetharaman.9@gmail.com>
Signed-off-by: Surya Seetharaman <suryaseetharaman.9@gmail.com>
@openshift-merge-bot
Copy link
Copy Markdown
Contributor

Pipeline controller notification
This repo is configured to use the pipeline controller. Second-stage tests will be triggered either automatically or after lgtm label is added, depending on the repository configuration. The pipeline controller will automatically detect which contexts are required and will utilize /test Prow commands to trigger the second stage.

For optional jobs, comment /test ? to see a list of all defined jobs. To trigger manually all jobs from second stage use /pipeline required command.

This repository is configured in: LGTM mode

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 5, 2026

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

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

Review profile: CHILL

Plan: Enterprise

Run ID: ed4c2c3e-cb6a-45fb-bcd8-b635e33099d8

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ 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

Hello @asood-rh! Some important instructions when contributing to openshift/api:
API design plays an important part in the user experience of OpenShift and as such API PRs are subject to a high level of scrutiny to ensure they follow our best practices. If you haven't already done so, please review the OpenShift API Conventions and ensure that your proposed changes are compliant. Following these conventions will help expedite the api review process for your PR.

@openshift-ci openshift-ci Bot added the size/M Denotes a PR that changes 30-99 lines, ignoring generated files. label May 5, 2026
@qodo-code-review
Copy link
Copy Markdown

Review Summary by Qodo

Add NetworkConnect feature gate and support ovn-kubernetes enhancement URLs

✨ Enhancement

Grey Divider

Walkthroughs

Description
• Add NetworkConnect feature gate with DevPreviewNoUpgrade enablement
• Allow ovn-kubernetes repository URLs in enhancement PR validation
• Update feature gate manifests across all deployment profiles
• Reorganize imports for code style consistency
Diagram
flowchart LR
  A["NetworkConnect Feature Gate"] --> B["Feature Definition"]
  A --> C["Validation Logic"]
  B --> D["Feature Gate Manifests"]
  C --> E["Support ovn-kubernetes URLs"]
  D --> F["Default/DevPreview/TechPreview Profiles"]
Loading

Grey Divider

File Changes

1. features/features.go ✨ Enhancement +8/-0

Add NetworkConnect feature gate definition

features/features.go


2. features/util.go ✨ Enhancement +6/-3

Support ovn-kubernetes enhancement PR URLs

features/util.go


3. features.md 📝 Documentation +1/-0

Document NetworkConnect feature gate

features.md


View more (6)
4. payload-manifests/featuregates/featureGate-Hypershift-Default.yaml ⚙️ Configuration changes +3/-0

Add NetworkConnect to Hypershift Default profile

payload-manifests/featuregates/featureGate-Hypershift-Default.yaml


5. payload-manifests/featuregates/featureGate-Hypershift-DevPreviewNoUpgrade.yaml ⚙️ Configuration changes +3/-0

Add NetworkConnect to Hypershift DevPreview profile

payload-manifests/featuregates/featureGate-Hypershift-DevPreviewNoUpgrade.yaml


6. payload-manifests/featuregates/featureGate-Hypershift-TechPreviewNoUpgrade.yaml ⚙️ Configuration changes +3/-0

Add NetworkConnect to Hypershift TechPreview profile

payload-manifests/featuregates/featureGate-Hypershift-TechPreviewNoUpgrade.yaml


7. payload-manifests/featuregates/featureGate-SelfManagedHA-Default.yaml ⚙️ Configuration changes +3/-0

Add NetworkConnect to SelfManagedHA Default profile

payload-manifests/featuregates/featureGate-SelfManagedHA-Default.yaml


8. payload-manifests/featuregates/featureGate-SelfManagedHA-DevPreviewNoUpgrade.yaml ⚙️ Configuration changes +3/-0

Add NetworkConnect to SelfManagedHA DevPreview profile

payload-manifests/featuregates/featureGate-SelfManagedHA-DevPreviewNoUpgrade.yaml


9. payload-manifests/featuregates/featureGate-SelfManagedHA-TechPreviewNoUpgrade.yaml ⚙️ Configuration changes +3/-0

Add NetworkConnect to SelfManagedHA TechPreview profile

payload-manifests/featuregates/featureGate-SelfManagedHA-TechPreviewNoUpgrade.yaml


Grey Divider

Qodo Logo

@qodo-code-review
Copy link
Copy Markdown

qodo-code-review Bot commented May 5, 2026

Code Review by Qodo

🐞 Bugs (2) 📘 Rule violations (0)

Grey Divider


Remediation recommended

1. EnhancementPR validation weakened 🐞 Bug ⚙ Maintainability
Description
featureGateBuilder.register() now treats ovn-kubernetes implementation PR URLs as valid
enhancementPRs, so the register-time check no longer enforces that new feature gates reference the
enhancement tracking repos described by the builder’s own GA-graduation messaging. This reduces
feature gate traceability/consistency and can allow future gates to register without an
OpenShift/Kubernetes enhancement artifact.
Code

features/util.go[R137-140]

+	case !strings.HasPrefix(b.enhancementPRURL, "https://github.com/openshift/enhancements/pull/") &&
+		!strings.HasPrefix(b.enhancementPRURL, "https://github.com/kubernetes/enhancements/issues/") &&
+		!strings.HasPrefix(b.enhancementPRURL, "https://github.com/ovn-kubernetes/ovn-kubernetes/pull/"):
+		return "", fmt.Errorf("FeatureGate/%s enhancementPR format is incorrect; must be like https://github.com/openshift/enhancements/pull/#### or https://github.com/kubernetes/enhancements/issues/#### or https://github.com/ovn-kubernetes/ovn-kubernetes/pull/####", b.name)
Evidence
The register-time validation previously only accepted OpenShift/Kubernetes enhancement-tracking
URLs, and its error strings still describe that contract; this PR expands the allowlist to include
ovn-kubernetes PRs. The newly added FeatureGateNetworkConnect immediately uses this new allowed
format, demonstrating the validation change is being relied upon.

features/util.go[114-144]
features/features.go[182-196]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

### Issue description
`featureGateBuilder.register()` now allows `https://github.com/ovn-kubernetes/ovn-kubernetes/pull/####` as an `enhancementPR`, which changes what “enhancementPR” means and stops enforcing that new feature gates point to the enhancement-tracking repos referenced by the code’s own GA-graduation guidance.

### Issue Context
`FeatureGateNetworkConnect` is using the newly-allowed ovn-kubernetes PR URL.

### Fix Focus Areas
- features/util.go[114-144]
- features/features.go[190-196]

### What to change
- Prefer restoring the original constraint (only OpenShift/Kubernetes enhancement artifacts) and update `FeatureGateNetworkConnect` to reference the correct enhancement PR/issue.
- If ovn-kubernetes PR links are intentionally acceptable, codify that policy explicitly (e.g., add a separate field for implementation PR vs enhancement tracking), and update *all* related error/help text consistently (including the “missing enhancementPR” messages) so the contract is clear.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools



Advisory comments

2. Outdated enhancementPR guidance 🐞 Bug ⚙ Maintainability
Description
The “missing enhancementPR” error messages still only mention OpenShift/Kubernetes enhancement URLs,
even though the validator now also accepts ovn-kubernetes PR URLs. This creates inconsistent
guidance for developers and reviewers when adding new feature gates.
Code

features/util.go[R137-140]

+	case !strings.HasPrefix(b.enhancementPRURL, "https://github.com/openshift/enhancements/pull/") &&
+		!strings.HasPrefix(b.enhancementPRURL, "https://github.com/kubernetes/enhancements/issues/") &&
+		!strings.HasPrefix(b.enhancementPRURL, "https://github.com/ovn-kubernetes/ovn-kubernetes/pull/"):
+		return "", fmt.Errorf("FeatureGate/%s enhancementPR format is incorrect; must be like https://github.com/openshift/enhancements/pull/#### or https://github.com/kubernetes/enhancements/issues/#### or https://github.com/ovn-kubernetes/ovn-kubernetes/pull/####", b.name)
Evidence
The allowlist was expanded to include ovn-kubernetes, but the earlier error messages in the same
switch still describe only the original two accepted URL families.

features/util.go[129-140]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

### Issue description
The validator accepts ovn-kubernetes PR URLs, but the ‘missing enhancementPR’ error strings still only mention openshift/enhancements and kubernetes/enhancements.

### Issue Context
This is in the same `switch` inside `featureGateBuilder.register()`.

### Fix Focus Areas
- features/util.go[129-140]

### What to change
- Update the `len(b.enhancementPRURL) == 0` and ‘new feature gate must have enhancementPR’ error strings to reflect the full set of accepted URL formats (or, if the policy is reverted, remove ovn-kubernetes from the allowlist).

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

Qodo Logo

@openshift-ci openshift-ci Bot requested review from JoelSpeed and everettraven May 5, 2026 00:52
@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:
Once this PR has been reviewed and has the lgtm label, please assign deads2k 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

@tssurya
Copy link
Copy Markdown
Contributor

tssurya commented May 5, 2026

Temporary PR to get a successful build to deploy a cluster with no-overlay mode.

4.21? the network connect feature doesn't exist on 4.21....

Comment thread features/features.go
FeatureGateNetworkConnect = newFeatureGate("NetworkConnect").
reportProblemsToJiraComponent("Networking/ovn-kubernetes").
contactPerson("tssurya").
productScope(ocpSpecific).
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.

Wouldn't this be an upstream rather than ocpspecific?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

@JoelSpeed Please ignore this PR. Just created to get past install issues. Will close it.

Comment thread features/util.go
Comment on lines +137 to +139
case !strings.HasPrefix(b.enhancementPRURL, "https://github.com/openshift/enhancements/pull/") &&
!strings.HasPrefix(b.enhancementPRURL, "https://github.com/kubernetes/enhancements/issues/") &&
!strings.HasPrefix(b.enhancementPRURL, "https://github.com/ovn-kubernetes/ovn-kubernetes/pull/"):
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.

There's no downstream enablement for this feature?

@asood-rh
Copy link
Copy Markdown
Author

asood-rh commented May 5, 2026

Temporary PR to get a successful build to deploy a cluster with no-overlay mode.

4.21? the network connect feature doesn't exist on 4.21....
@tssurya I was trying to go past install error issue related to api with the PR build. Even though Arnab rebased I did not have success, therefore the attempt below.

build registry.ci.openshift.org/ocp/release-5:5.0.0-0.nightly-2026-05-04-015246, openshift/ovn-kubernetes#3169, openshift/cluster-network-operator#2960, #2830

The 5.0 and 4.21 naming is the same release stream — 5.0 is the external/marketing version, 4.21 is the internal engineering version. They were renamed partway through the development cycle.

@openshift-ci openshift-ci Bot added size/L Denotes a PR that changes 100-499 lines, ignoring generated files. and removed size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels May 5, 2026
Cherry-pick of 221095e from master (PR openshift#2537).
Adds NoOverlayMode feature gate, CRD manifests, and API types for
OVN-Kubernetes no-overlay transport mode with BGP routing support.

Resolved conflicts:
- Removed OKD featuregate files (deleted on release-4.21)
- Merged features.md (6-column format)
- Merged openapi/generated_openapi with NoOverlayMode additions
- Merged featuregated-crd-manifests and Hypershift payload manifests
- Undid OKD CRD rename (no OKD on release-4.21)
@openshift-ci openshift-ci Bot added size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. and removed size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels May 6, 2026
The cherry-pick from master used enable(inDevPreviewNoUpgrade(),
inTechPreviewNoUpgrade()) which is the master API. On release-4.21,
the featureGateBuilder uses enableIn(configv1.DevPreviewNoUpgrade,
configv1.TechPreviewNoUpgrade) instead. This caused a build failure:

  features/features.go:219:5: enable undefined
  features/features.go:219:12: undefined: inDevPreviewNoUpgrade
  features/features.go:219:37: undefined: inTechPreviewNoUpgrade
@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 6, 2026

@asood-rh: 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/prow/verify e294022 link true /test verify

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

size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants