@@ -26,7 +26,6 @@ import (
26
26
kclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset"
27
27
kcontainer "k8s.io/kubernetes/pkg/kubelet/container"
28
28
knetwork "k8s.io/kubernetes/pkg/kubelet/network"
29
- kcni "k8s.io/kubernetes/pkg/kubelet/network/cni"
30
29
kubehostport "k8s.io/kubernetes/pkg/kubelet/network/hostport"
31
30
kbandwidth "k8s.io/kubernetes/pkg/util/bandwidth"
32
31
utildbus "k8s.io/kubernetes/pkg/util/dbus"
@@ -43,7 +42,6 @@ import (
43
42
44
43
const (
45
44
podInterfaceName = knetwork .DefaultInterfaceName
46
- cniBinPath = kcni .DefaultCNIDir
47
45
)
48
46
49
47
type podHandler interface {
@@ -69,10 +67,11 @@ type podManager struct {
69
67
runningPodsLock sync.Mutex
70
68
71
69
// Live pod setup/teardown stuff not used in testing code
72
- kClient kclientset.Interface
73
- policy osdnPolicy
74
- mtu uint32
75
- ovs * ovsController
70
+ kClient kclientset.Interface
71
+ policy osdnPolicy
72
+ mtu uint32
73
+ cniBinPath string
74
+ ovs * ovsController
76
75
77
76
enableHostports bool
78
77
// true if hostports have been synced at least once
@@ -87,11 +86,12 @@ type podManager struct {
87
86
}
88
87
89
88
// Creates a new live podManager; used by node code0
90
- func newPodManager (kClient kclientset.Interface , policy osdnPolicy , mtu uint32 , ovs * ovsController , enableHostports bool ) * podManager {
89
+ func newPodManager (kClient kclientset.Interface , policy osdnPolicy , mtu uint32 , cniBinPath string , ovs * ovsController , enableHostports bool ) * podManager {
91
90
pm := newDefaultPodManager ()
92
91
pm .kClient = kClient
93
92
pm .policy = policy
94
93
pm .mtu = mtu
94
+ pm .cniBinPath = cniBinPath
95
95
pm .podHandler = pm
96
96
pm .ovs = ovs
97
97
pm .enableHostports = enableHostports
@@ -408,7 +408,7 @@ func maybeAddMacvlan(pod *kapi.Pod, netns string) error {
408
408
return nil
409
409
}
410
410
411
- func createIPAMArgs (netnsPath string , action cniserver.CNICommand , id string ) * invoke.Args {
411
+ func createIPAMArgs (netnsPath , cniBinPath string , action cniserver.CNICommand , id string ) * invoke.Args {
412
412
return & invoke.Args {
413
413
Command : string (action ),
414
414
ContainerID : id ,
@@ -424,8 +424,8 @@ func (m *podManager) ipamAdd(netnsPath string, id string) (*cni020.Result, net.I
424
424
return nil , nil , fmt .Errorf ("netns required for CNI_ADD" )
425
425
}
426
426
427
- args := createIPAMArgs (netnsPath , cniserver .CNI_ADD , id )
428
- r , err := invoke .ExecPluginWithResult (cniBinPath + "/host-local" , m .ipamConfig , args )
427
+ args := createIPAMArgs (netnsPath , m . cniBinPath , cniserver .CNI_ADD , id )
428
+ r , err := invoke .ExecPluginWithResult (m . cniBinPath + "/host-local" , m .ipamConfig , args )
429
429
if err != nil {
430
430
return nil , nil , fmt .Errorf ("failed to run CNI IPAM ADD: %v" , err )
431
431
}
@@ -444,8 +444,8 @@ func (m *podManager) ipamAdd(netnsPath string, id string) (*cni020.Result, net.I
444
444
445
445
// Run CNI IPAM release for the container
446
446
func (m * podManager ) ipamDel (id string ) error {
447
- args := createIPAMArgs ("" , cniserver .CNI_DEL , id )
448
- err := invoke .ExecPluginWithoutResult (cniBinPath + "/host-local" , m .ipamConfig , args )
447
+ args := createIPAMArgs ("" , m . cniBinPath , cniserver .CNI_DEL , id )
448
+ err := invoke .ExecPluginWithoutResult (m . cniBinPath + "/host-local" , m .ipamConfig , args )
449
449
if err != nil {
450
450
return fmt .Errorf ("failed to run CNI IPAM DEL: %v" , err )
451
451
}
0 commit comments