7
7
"io/ioutil"
8
8
"net"
9
9
"os"
10
- osexec "os/exec"
11
10
"path/filepath"
12
11
"strings"
13
12
"sync"
@@ -32,7 +31,6 @@ import (
32
31
kinternalinformers "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion"
33
32
kubeletapi "k8s.io/kubernetes/pkg/kubelet/apis/cri"
34
33
kruntimeapi "k8s.io/kubernetes/pkg/kubelet/apis/cri/v1alpha1/runtime"
35
- dockertools "k8s.io/kubernetes/pkg/kubelet/dockershim/libdocker"
36
34
knetwork "k8s.io/kubernetes/pkg/kubelet/network"
37
35
ktypes "k8s.io/kubernetes/pkg/kubelet/types"
38
36
kexec "k8s.io/kubernetes/pkg/util/exec"
@@ -109,8 +107,6 @@ type OsdnNode struct {
109
107
host knetwork.Host
110
108
kubeletCniPlugin knetwork.NetworkPlugin
111
109
112
- clearLbr0IptablesRule bool
113
-
114
110
kubeInformers kinternalinformers.SharedInformerFactory
115
111
116
112
// Holds runtime endpoint shim to make SDN <-> runtime communication
@@ -187,10 +183,6 @@ func New(c *OsdnNodeConfig) (network.NodeInterface, error) {
187
183
runtimeService : nil ,
188
184
}
189
185
190
- if err := plugin .dockerPreCNICleanup (); err != nil {
191
- return nil , err
192
- }
193
-
194
186
RegisterMetrics ()
195
187
196
188
return plugin , nil
@@ -263,74 +255,6 @@ func GetLinkDetails(ip string) (netlink.Link, *net.IPNet, error) {
263
255
return nil , nil , ErrorNetworkInterfaceNotFound
264
256
}
265
257
266
- // Detect whether we are upgrading from a pre-CNI openshift and clean up
267
- // interfaces and iptables rules that are no longer required
268
- func (node * OsdnNode ) dockerPreCNICleanup () error {
269
- l , err := netlink .LinkByName ("lbr0" )
270
- if err != nil {
271
- // no cleanup required
272
- return nil
273
- }
274
- _ = netlink .LinkSetDown (l )
275
-
276
- node .clearLbr0IptablesRule = true
277
-
278
- // Restart docker to kill old pods and make it use docker0 again.
279
- // "systemctl restart" will bail out (unnecessarily) in the
280
- // OpenShift-in-a-container case, so we work around that by sending
281
- // the messages by hand.
282
- if _ , err := osexec .Command ("dbus-send" , "--system" , "--print-reply" , "--reply-timeout=2000" , "--type=method_call" , "--dest=org.freedesktop.systemd1" , "/org/freedesktop/systemd1" , "org.freedesktop.systemd1.Manager.Reload" ).CombinedOutput (); err != nil {
283
- glog .Error (err )
284
- }
285
- if _ , err := osexec .Command ("dbus-send" , "--system" , "--print-reply" , "--reply-timeout=2000" , "--type=method_call" , "--dest=org.freedesktop.systemd1" , "/org/freedesktop/systemd1" , "org.freedesktop.systemd1.Manager.RestartUnit" , "string:'docker.service' string:'replace'" ).CombinedOutput (); err != nil {
286
- glog .Error (err )
287
- }
288
-
289
- // Delete pre-CNI interfaces
290
- for _ , intf := range []string {"lbr0" , "vovsbr" , "vlinuxbr" } {
291
- l , err = netlink .LinkByName (intf )
292
- if err != nil {
293
- _ = netlink .LinkDel (l )
294
- }
295
- }
296
-
297
- // Wait until docker has restarted since kubelet will exit if docker isn't running
298
- if _ , err := ensureDockerClient (); err != nil {
299
- return err
300
- }
301
-
302
- glog .Infof ("Cleaned up left-over openshift-sdn docker bridge and interfaces" )
303
-
304
- return nil
305
- }
306
-
307
- func ensureDockerClient () (dockertools.Interface , error ) {
308
- endpoint := os .Getenv ("DOCKER_HOST" )
309
- if endpoint == "" {
310
- endpoint = "unix:///var/run/docker.sock"
311
- }
312
- dockerClient := dockertools .ConnectToDockerOrDie (endpoint , time .Minute , time .Minute )
313
-
314
- // Wait until docker has restarted since kubelet will exit it docker isn't running
315
- err := kwait .ExponentialBackoff (
316
- kwait.Backoff {
317
- Duration : 100 * time .Millisecond ,
318
- Factor : 1.2 ,
319
- Steps : 6 ,
320
- },
321
- func () (bool , error ) {
322
- if _ , err := dockerClient .Version (); err != nil {
323
- // wait longer
324
- return false , nil
325
- }
326
- return true , nil
327
- })
328
- if err != nil {
329
- return nil , fmt .Errorf ("failed to connect to docker: %v" , err )
330
- }
331
- return dockerClient , nil
332
- }
333
-
334
258
func (node * OsdnNode ) killUpdateFailedPods (pods []kapi.Pod ) error {
335
259
for _ , pod := range pods {
336
260
// Get the sandbox ID for this pod from the runtime
0 commit comments