OCPBUGS-88063: Add ovn-k8s-cni-overlay to multus-networkpolicy allowed plugins#3025
OCPBUGS-88063: Add ovn-k8s-cni-overlay to multus-networkpolicy allowed plugins#3025weliang1 wants to merge 1 commit into
Conversation
MultiNetworkPolicy is not enforced on UDN (User Defined Network) secondary interfaces in OCP 5.0 due to architectural changes from 4.22. In OCP 4.22, MultiNetworkPolicy was integrated into ovnkube-controller with native UDN support. In OCP 5.0, it was separated into a standalone multus-networkpolicy daemonset that validates CNI types against an allowlist. UDN networks use CNI type "ovn-k8s-cni-overlay" which is missing from the --network-plugins allowlist, causing UDN networks to be silently rejected and policies to never be enforced. Test Results: - OCP 4.22: Test 78259 PASSES (native OVN-K integration) - OCP 5.0: Test 78259 FAILS (missing ovn-k8s-cni-overlay in allowlist) Affected tests: - OCP-77656: UDN Layer2 Secondary + Ingress ipBlock policy - OCP-78125: UDN Layer2 Secondary + Egress ipBlock policy - OCP-78259: UDN Layer3 Secondary + Egress ipBlock policy This fix restores UDN MultiNetworkPolicy functionality in the new 5.0 separated architecture by adding ovn-k8s-cni-overlay to the allowed network plugins list. Follows same pattern as PR openshift#1443 which added sriov support. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository: openshift/coderabbit/.coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: weliang1 The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
@weliang1: The following tests failed, say
Full PR test history. Your PR dashboard. DetailsInstructions 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. |
|
@weliang1: This pull request references Jira Issue OCPBUGS-88063, which is invalid:
Comment The bug has been updated to refer to the pull request using the external bug tracker. DetailsIn response to this:
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. |
|
@weliang1: This pull request references Jira Issue OCPBUGS-88063, which is invalid:
Comment DetailsIn response to this:
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. |
|
/jira refresh |
|
@weliang1: This pull request references Jira Issue OCPBUGS-88063, which is invalid:
Comment DetailsIn response to this:
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. |
|
/jira refresh |
|
@weliang1: This pull request references Jira Issue OCPBUGS-88063, which is invalid:
Comment DetailsIn response to this:
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. |
|
/jira refresh |
|
@weliang1: This pull request references Jira Issue OCPBUGS-88063, which is invalid:
Comment The bug has been updated to refer to the pull request using the external bug tracker. DetailsIn response to this:
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. |
|
Update: This PR is currently blocked due to release-5.0 branch freeze (issue #3012). The same fix has been submitted to master in PR #3026. Once that merges:
For now, please review and merge #3026 first. |
Problem
MultiNetworkPolicy is not enforced on UDN (User Defined Network) secondary interfaces in OCP 5.0.
This is a regression from OCP 4.22 where MultiNetworkPolicy worked natively with UDN.
Jira: OCPBUGS-88063
Root Cause
OCP 5.0 separated MultiNetworkPolicy from ovnkube-controller into a standalone daemonset that validates CNI types against an allowlist.
UDN networks use CNI type
ovn-k8s-cni-overlaywhich is missing from the--network-pluginslist, causing UDN networks to be silently rejected and policies to never be enforced.Architectural Change
OCP 4.22:
--enable-multi-networkpolicy=trueOCP 5.0:
--network-pluginsallowlistovn-k8s-cni-overlayto support UDN networksSolution
Add
ovn-k8s-cni-overlayto the allowed network-plugins list in multus-networkpolicy daemonset configuration.Testing
Test Results - OCP 4.22 (Baseline)
Test Results - OCP 5.0 (Before Fix)
All tests showed traffic allowed when it should be blocked by policy, confirming zero policy enforcement on UDN networks.
Failure Pattern:
Test Results - OCP 5.0 (After Fix)
Validated on test cluster with this fix applied:
All tests show proper policy enforcement with traffic blocked as expected.
Impact
Severity: Critical
Scope: All users attempting to use MultiNetworkPolicy on UDN Layer2/Layer3 secondary networks
Behavior: Complete loss of policy enforcement (silent failure - policies appear to be created successfully but have no effect)
User Impact:
Files Changed
bindata/network/multus-networkpolicy/multus-networkpolicy.yaml(1 line)Related
sriovsupportVerification
After applying this change:
ovn-k8s-cni-overlay