CORENET-6390: API changes and feature gate for OVN-Kubernetes no-overlay mode
Related openshift enhancement: https://github.com/openshift/enhancements/pull/1859
Hello @ricky-rav! 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.
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
[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 joelspeed for approval. For more information see the Code Review Process.
The full list of commands accepted by this bot can be found here.
Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment
@ricky-rav Is this ready for an initial round of API review?
@ricky-rav Is this ready for an initial round of API review?
No no, it was just a draft for myself to keep track of the API changes in an enhancement I'm writing. ~~I think @pliurh is taking over the API part of the feature.~~
@ricky-rav: This pull request references CORENET-6390 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 story to target the "4.21.0" version, but no target version was set.
In response to this:
Using this as draft for the related openshift enhancement: https://github.com/openshift/enhancements/pull/1859
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.
📝 Walkthrough
Walkthrough
Adds the NoOverlayMode feature gate and registers a matching FeatureGate variable. Introduces API types and enums: TransportOption, SNATOption, RoutingOption, BGPTopology, NoOverlayOptions, and BGPManagedConfig. Extends OVNKubernetesConfig with fields defaultNetworkTransport, defaultNetworkNoOverlayOptions, and bgpManagedConfig. Generates OpenAPI, Swagger, and deepcopy artifacts, adds a CRD test manifest for NoOverlayMode, updates feature-gate payload manifests, and appends a row for NoOverlayMode to features.md.
🚥 Pre-merge checks | ✅ 2 | ❌ 1
❌ Failed checks (1 warning)
| Check name | Status | Explanation | Resolution |
|---|---|---|---|
| Docstring Coverage | ⚠️ Warning | Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. | Write docstrings for the functions missing them to satisfy the coverage threshold. |
✅ Passed checks (2 passed)
| Check name | Status | Explanation |
|---|---|---|
| Title check | ✅ Passed | The title clearly and specifically describes the main change: API modifications and a feature gate implementation for OVN-Kubernetes no-overlay mode, which aligns with the comprehensive changeset. |
| Description check | ✅ Passed | The description provides a link to the related OpenShift enhancement PR, which is directly relevant to the changeset's purpose of implementing no-overlay mode support. |
✏️ Tip: You can configure your own custom pre-merge checks in the settings.
✨ Finishing touches
- [ ] 📝 Generate docstrings
[!WARNING] There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.
🔧 golangci-lint (2.5.0)
Error: build linters: unable to load custom analyzer "kubeapilinter": tools/_output/bin/kube-api-linter.so, plugin: not implemented The command is terminated due to an error: build linters: unable to load custom analyzer "kubeapilinter": tools/_output/bin/kube-api-linter.so, plugin: not implemented
Comment @coderabbitai help to get the list of available commands and usage tips.
/test all
/test all
@ricky-rav: This pull request references CORENET-6390 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 story to target the "4.21.0" version, but no target version was set.
In response to this:
Related openshift enhancement: https://github.com/openshift/enhancements/pull/1859
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.
Just wanted to check back in, is this something you're actively pursuing and ready for review? https://issues.redhat.com/browse/CORENET-5652 seems to not be targetting 4.22 at this time.
Just wanted to check back in, is this something you're actively pursuing and ready for review? https://issues.redhat.com/browse/CORENET-5652 seems to not be targetting 4.22 at this time.
We're targeting 4.22 for this effort. We plan to do first a round of reviews from team members and then we'll ask you or Joel to chime in. Thanks!
@ricky-rav: all tests passed!
Full PR test history. Your PR dashboard.
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.