From e9f8c70eaf0123607054f0e5604179b554d8e4ba Mon Sep 17 00:00:00 2001 From: Minhan Xia Date: Thu, 2 Jun 2016 15:49:21 -0700 Subject: [PATCH] pass NetworkPluginDir to kubenet --- cmd/kubelet/app/plugins.go | 2 +- pkg/kubelet/network/kubenet/kubenet_linux.go | 9 ++++++--- pkg/kubelet/network/kubenet/kubenet_unsupported.go | 2 +- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/cmd/kubelet/app/plugins.go b/cmd/kubelet/app/plugins.go index 18e078599b6..76736350e41 100644 --- a/cmd/kubelet/app/plugins.go +++ b/cmd/kubelet/app/plugins.go @@ -92,7 +92,7 @@ func ProbeNetworkPlugins(pluginDir string) []network.NetworkPlugin { // for each existing plugin, add to the list allPlugins = append(allPlugins, exec.ProbeNetworkPlugins(pluginDir)...) allPlugins = append(allPlugins, cni.ProbeNetworkPlugins(pluginDir)...) - allPlugins = append(allPlugins, kubenet.NewPlugin()) + allPlugins = append(allPlugins, kubenet.NewPlugin(pluginDir)) return allPlugins } diff --git a/pkg/kubelet/network/kubenet/kubenet_linux.go b/pkg/kubelet/network/kubenet/kubenet_linux.go index db22b3afd7b..785e3fd21b1 100644 --- a/pkg/kubelet/network/kubenet/kubenet_linux.go +++ b/pkg/kubelet/network/kubenet/kubenet_linux.go @@ -77,20 +77,23 @@ type kubenetNetworkPlugin struct { hairpinMode componentconfig.HairpinMode hostPortMap map[hostport]closeable iptables utiliptables.Interface + // vendorDir is passed by kubelet network-plugin-dir parameter. + // kubenet will search for cni binaries in DefaultCNIDir first, then continue to vendorDir. + vendorDir string } -func NewPlugin() network.NetworkPlugin { +func NewPlugin(networkPluginDir string) network.NetworkPlugin { protocol := utiliptables.ProtocolIpv4 execer := utilexec.New() dbus := utildbus.New() iptInterface := utiliptables.New(execer, dbus, protocol) - return &kubenetNetworkPlugin{ podIPs: make(map[kubecontainer.ContainerID]string), hostPortMap: make(map[hostport]closeable), MTU: 1460, //TODO: don't hardcode this execer: utilexec.New(), iptables: iptInterface, + vendorDir: networkPluginDir, } } @@ -98,7 +101,7 @@ func (plugin *kubenetNetworkPlugin) Init(host network.Host, hairpinMode componen plugin.host = host plugin.hairpinMode = hairpinMode plugin.cniConfig = &libcni.CNIConfig{ - Path: []string{DefaultCNIDir}, + Path: []string{DefaultCNIDir, plugin.vendorDir}, } if link, err := findMinMTU(); err == nil { diff --git a/pkg/kubelet/network/kubenet/kubenet_unsupported.go b/pkg/kubelet/network/kubenet/kubenet_unsupported.go index d2408bc25f3..e41eaeeb383 100644 --- a/pkg/kubelet/network/kubenet/kubenet_unsupported.go +++ b/pkg/kubelet/network/kubenet/kubenet_unsupported.go @@ -30,7 +30,7 @@ type kubenetNetworkPlugin struct { network.NoopNetworkPlugin } -func NewPlugin() network.NetworkPlugin { +func NewPlugin(networkPluginDir string) network.NetworkPlugin { return &kubenetNetworkPlugin{} }