Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

skip NetworkManager unmanagement operations for bond devices automatically #2984

Closed
wants to merge 2 commits into from

Conversation

qiutingjun
Copy link
Contributor

@qiutingjun qiutingjun commented Jun 26, 2023

What type of this PR

  • Features
  • Bug fixes

set the nic could be managed by NetworkManager or not

Which issue(s) this PR fixes:

Fixes #2983

WHAT

🤖 Generated by Copilot at c8374a2

This pull request adds a new flag --manage-nic-by-network-manager to the ovn-cni container and a corresponding Helm value MANAGE-NIC-BY-NETWORK-MANAGER to the charts, which allow users to configure whether the ovn-cni plugin should set the network interface link managed by NetworkManager or not. This feature is intended to address the issue #1409, where some users reported network connectivity problems caused by NetworkManager interference.

🤖 Generated by Copilot at c8374a2

To fix an issue with NetworkManager
We added a flag to the ovn-cni container
It sets the link managed or not
Based on the config field we got
And we hope it makes the network smoother

HOW

🤖 Generated by Copilot at c8374a2

  • Add a new flag --manage-nic-by-network-manager to the ovn-cni container arguments to allow users to configure NetworkManager management of network interface links (link)
  • Add a new Helm value MANAGE-NIC-BY-NETWORK-MANAGER to the networking section in values.yaml to customize the flag value (link)
  • Add a new field ManageNicByNetworkManager to the Configuration struct to store the flag value (link)
  • Parse the flag value from the command-line arguments using the pflag package and assign it to the configuration field (link, link)
  • Modify the calls to the SetManaged method of the nmSyncer object in changeProvideNicName and transferAddrsAndRoutes functions to pass the configuration field as the second argument, making the ovn-cni plugin respect the user's choice of NetworkManager management (link, link)

@bobz965
Copy link
Collaborator

bobz965 commented Jun 27, 2023

@zhangzujian hi, there is a problem when using NetworkManager to manage bond, if set NetworkManager to be false, will cause binding nic's vlan subnic status to down. could you help review this?

@zhangzujian
Copy link
Member

@zhangzujian hi, there is a problem when using NetworkManager to manage bond, if set NetworkManager to be false, will cause binding nics split into two nics. could you help review this?

We can skip NetworkManager operations for bond devices automatically, instead of adding an option to kube-ovn-cni.

@qiutingjun
Copy link
Contributor Author

@zhangzujian hi, there is a problem when using NetworkManager to manage bond, if set NetworkManager to be false, will cause binding nics split into two nics. could you help review this?

We can skip NetworkManager operations for bond devices automatically, instead of adding an option to kube-ovn-cni.

solution changed

@oilbeater
Copy link
Collaborator

We need further consider this, other networkmanager config like sub interface may also hit the same issue.

@qiutingjun qiutingjun changed the title set whether the nic is managed by NetworkManager be configurable skip NetworkManager unmanagement operations for bond devices automatically Jun 27, 2023
@zhangzujian zhangzujian added bug Something isn't working need backport labels Jun 27, 2023
@qiutingjun qiutingjun closed this Jun 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working need backport
Projects
None yet
Development

Successfully merging this pull request may close these issues.

kube-ovn-cni set nic unmanaged by NetworkManager and causing host network exceptions
4 participants