mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-22 11:21:47 +00:00
Merge pull request #30557 from freehan/cniconfig
Automatic merge from submit-queue move syncNetworkConfig to Init for cni network plugin start syncNetworkConfig routine in `Init` instead of probing. This fixes a bug where the syncNetworkConfig runs periodically even `cni` network plugin is not in use.
This commit is contained in:
commit
7d00b427ef
@ -48,9 +48,11 @@ type cniNetworkPlugin struct {
|
|||||||
sync.RWMutex
|
sync.RWMutex
|
||||||
defaultNetwork *cniNetwork
|
defaultNetwork *cniNetwork
|
||||||
|
|
||||||
host network.Host
|
host network.Host
|
||||||
execer utilexec.Interface
|
execer utilexec.Interface
|
||||||
nsenterPath string
|
nsenterPath string
|
||||||
|
pluginDir string
|
||||||
|
vendorCNIDirPrefix string
|
||||||
}
|
}
|
||||||
|
|
||||||
type cniNetwork struct {
|
type cniNetwork struct {
|
||||||
@ -61,17 +63,15 @@ type cniNetwork struct {
|
|||||||
|
|
||||||
func probeNetworkPluginsWithVendorCNIDirPrefix(pluginDir, vendorCNIDirPrefix string) []network.NetworkPlugin {
|
func probeNetworkPluginsWithVendorCNIDirPrefix(pluginDir, vendorCNIDirPrefix string) []network.NetworkPlugin {
|
||||||
plugin := &cniNetworkPlugin{
|
plugin := &cniNetworkPlugin{
|
||||||
defaultNetwork: nil,
|
defaultNetwork: nil,
|
||||||
loNetwork: getLoNetwork(vendorCNIDirPrefix),
|
loNetwork: getLoNetwork(vendorCNIDirPrefix),
|
||||||
execer: utilexec.New(),
|
execer: utilexec.New(),
|
||||||
|
pluginDir: pluginDir,
|
||||||
|
vendorCNIDirPrefix: vendorCNIDirPrefix,
|
||||||
}
|
}
|
||||||
|
|
||||||
plugin.syncNetworkConfig(pluginDir, vendorCNIDirPrefix)
|
// sync NetworkConfig in best effort during probing.
|
||||||
// sync network config from pluginDir periodically to detect network config updates
|
plugin.syncNetworkConfig()
|
||||||
go wait.Forever(func() {
|
|
||||||
plugin.syncNetworkConfig(pluginDir, vendorCNIDirPrefix)
|
|
||||||
}, 10*time.Second)
|
|
||||||
|
|
||||||
return []network.NetworkPlugin{plugin}
|
return []network.NetworkPlugin{plugin}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -144,11 +144,16 @@ func (plugin *cniNetworkPlugin) Init(host network.Host, hairpinMode componentcon
|
|||||||
}
|
}
|
||||||
|
|
||||||
plugin.host = host
|
plugin.host = host
|
||||||
|
|
||||||
|
// sync network config from pluginDir periodically to detect network config updates
|
||||||
|
go wait.Forever(func() {
|
||||||
|
plugin.syncNetworkConfig()
|
||||||
|
}, 10*time.Second)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (plugin *cniNetworkPlugin) syncNetworkConfig(pluginDir, vendorCNIDirPrefix string) {
|
func (plugin *cniNetworkPlugin) syncNetworkConfig() {
|
||||||
network, err := getDefaultCNINetwork(pluginDir, vendorCNIDirPrefix)
|
network, err := getDefaultCNINetwork(plugin.pluginDir, plugin.vendorCNIDirPrefix)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
glog.Errorf("error updating cni config: %s", err)
|
glog.Errorf("error updating cni config: %s", err)
|
||||||
return
|
return
|
||||||
|
Loading…
Reference in New Issue
Block a user