From bc78dff42ec6be929648e91f3ef2dd6dae5169fb Mon Sep 17 00:00:00 2001
From: Davanum Srinivas <davanum@gmail.com>
Date: Tue, 7 Dec 2021 14:48:57 -0500
Subject: [PATCH] update files to drop dockershim

Signed-off-by: Davanum Srinivas <davanum@gmail.com>
---
 build/dependencies.yaml                       |  2 --
 cmd/kubelet/app/options/globalflags_linux.go  | 11 --------
 go.mod                                        |  5 ----
 go.sum                                        |  3 ---
 pkg/kubelet/kubelet.go                        | 26 +------------------
 .../legacy-cloud-providers/aws/aws_fakes.go   |  1 +
 test/e2e/framework/.import-restrictions       | 10 -------
 7 files changed, 2 insertions(+), 56 deletions(-)

diff --git a/build/dependencies.yaml b/build/dependencies.yaml
index ff296e255b961..b0b1b5a6d41b8 100644
--- a/build/dependencies.yaml
+++ b/build/dependencies.yaml
@@ -172,8 +172,6 @@ dependencies:
       match: defaultPodSandboxImageVersion\s+=
     - path: hack/testdata/pod-with-precision.json
       match: k8s.gcr.io\/pause:\d+\.\d+
-    - path: pkg/kubelet/dockershim/docker_sandbox.go
-      match: k8s.gcr.io\/pause:\d+\.\d+
     - path: staging/src/k8s.io/kubectl/testdata/set/multi-resource-yaml.yaml
       match: k8s.gcr.io\/pause:\d+\.\d+
     - path: staging/src/k8s.io/kubectl/testdata/set/namespaced-resource.yaml
diff --git a/cmd/kubelet/app/options/globalflags_linux.go b/cmd/kubelet/app/options/globalflags_linux.go
index ad3b68628f661..e75e65ec37cd0 100644
--- a/cmd/kubelet/app/options/globalflags_linux.go
+++ b/cmd/kubelet/app/options/globalflags_linux.go
@@ -28,7 +28,6 @@ import (
 	// ensure libs have a chance to globally register their flags
 	_ "github.com/google/cadvisor/container/common"
 	_ "github.com/google/cadvisor/container/containerd"
-	_ "github.com/google/cadvisor/container/docker"
 	_ "github.com/google/cadvisor/container/raw"
 	_ "github.com/google/cadvisor/machine"
 	_ "github.com/google/cadvisor/manager"
@@ -41,9 +40,6 @@ func addCadvisorFlags(fs *pflag.FlagSet) {
 	global := flag.CommandLine
 	local := pflag.NewFlagSet(os.Args[0], pflag.ExitOnError)
 
-	// These flags were also implicit from cadvisor, but are actually used by something in the core repo:
-	// TODO(mtaufen): This one is stil used by our salt, but for heaven's sake it's even deprecated in cadvisor
-	register(global, local, "docker_root")
 	// e2e node tests rely on this
 	register(global, local, "housekeeping_interval")
 
@@ -54,13 +50,6 @@ func addCadvisorFlags(fs *pflag.FlagSet) {
 	registerDeprecated(global, local, "boot_id_file", deprecated)
 	registerDeprecated(global, local, "container_hints", deprecated)
 	registerDeprecated(global, local, "containerd", deprecated)
-	registerDeprecated(global, local, "docker", deprecated)
-	registerDeprecated(global, local, "docker_env_metadata_whitelist", deprecated)
-	registerDeprecated(global, local, "docker_only", deprecated)
-	registerDeprecated(global, local, "docker-tls", deprecated)
-	registerDeprecated(global, local, "docker-tls-ca", deprecated)
-	registerDeprecated(global, local, "docker-tls-cert", deprecated)
-	registerDeprecated(global, local, "docker-tls-key", deprecated)
 	registerDeprecated(global, local, "enable_load_reader", deprecated)
 	registerDeprecated(global, local, "event_storage_age_limit", deprecated)
 	registerDeprecated(global, local, "event_storage_event_limit", deprecated)
diff --git a/go.mod b/go.mod
index a17878d68d030..7dccd35bb6b91 100644
--- a/go.mod
+++ b/go.mod
@@ -25,15 +25,12 @@ require (
 	github.com/boltdb/bolt v1.3.1 // indirect
 	github.com/clusterhq/flocker-go v0.0.0-20160920122132-2b8b7259d313
 	github.com/container-storage-interface/spec v1.5.0
-	github.com/containernetworking/cni v0.8.1
 	github.com/coredns/corefile-migration v1.0.14
 	github.com/coreos/go-oidc v2.1.0+incompatible
 	github.com/coreos/go-systemd/v22 v22.3.2
 	github.com/cpuguy83/go-md2man/v2 v2.0.0
 	github.com/davecgh/go-spew v1.1.1
 	github.com/docker/distribution v2.7.1+incompatible
-	github.com/docker/docker v20.10.7+incompatible
-	github.com/docker/go-connections v0.4.0
 	github.com/docker/go-units v0.4.0
 	github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153
 	github.com/emicklei/go-restful v2.9.5+incompatible
@@ -63,7 +60,6 @@ require (
 	github.com/mvdan/xurls v1.1.0
 	github.com/onsi/ginkgo v1.14.0
 	github.com/onsi/gomega v1.10.1
-	github.com/opencontainers/go-digest v1.0.0
 	github.com/opencontainers/runc v1.0.2
 	github.com/opencontainers/selinux v1.8.2
 	github.com/pkg/errors v0.9.1
@@ -209,7 +205,6 @@ replace (
 	github.com/containerd/go-runc => github.com/containerd/go-runc v1.0.0
 	github.com/containerd/ttrpc => github.com/containerd/ttrpc v1.0.2
 	github.com/containerd/typeurl => github.com/containerd/typeurl v1.0.2
-	github.com/containernetworking/cni => github.com/containernetworking/cni v0.8.1
 	github.com/coredns/caddy => github.com/coredns/caddy v1.1.0
 	github.com/coredns/corefile-migration => github.com/coredns/corefile-migration v1.0.14
 	github.com/coreos/go-oidc => github.com/coreos/go-oidc v2.1.0+incompatible
diff --git a/go.sum b/go.sum
index b458fb06802b3..9121b2f4ac81a 100644
--- a/go.sum
+++ b/go.sum
@@ -116,8 +116,6 @@ github.com/containerd/ttrpc v1.0.2 h1:2/O3oTZN36q2xRolk0a2WWGgh7/Vf/liElg5hFYLX9
 github.com/containerd/ttrpc v1.0.2/go.mod h1:UAxOpgT9ziI0gJrmKvgcZivgxOp8iFPSk8httJEt98Y=
 github.com/containerd/typeurl v1.0.2 h1:Chlt8zIieDbzQFzXzAeBEF92KhExuE4p9p92/QmY7aY=
 github.com/containerd/typeurl v1.0.2/go.mod h1:9trJWW2sRlGub4wZJRTW83VtbOLS6hwcDZXTn6oPz9s=
-github.com/containernetworking/cni v0.8.1 h1:7zpDnQ3T3s4ucOuJ/ZCLrYBxzkg0AELFfII3Epo9TmI=
-github.com/containernetworking/cni v0.8.1/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY=
 github.com/coredns/caddy v1.1.0 h1:ezvsPrT/tA/7pYDBZxu0cT0VmWk75AfIaf6GSYCNMf0=
 github.com/coredns/caddy v1.1.0/go.mod h1:A6ntJQlAWuQfFlsd9hvigKbo2WS0VUs2l1e2F+BawD4=
 github.com/coredns/corefile-migration v1.0.14 h1:Tz3WZhoj2NdP8drrQH86NgnCng+VrPjNeg2Oe1ALKag=
@@ -353,7 +351,6 @@ github.com/mohae/deepcopy v0.0.0-20170603005431-491d3605edfb h1:e+l77LJOEqXTIQih
 github.com/mohae/deepcopy v0.0.0-20170603005431-491d3605edfb/go.mod h1:TaXosZuwdSHYgviHp1DAtfrULt5eUgsSMsZf+YrPgl8=
 github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00 h1:n6/2gBQ3RWajuToeY6ZtZTIKv2v7ThUy5KKusIT0yc0=
 github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00/go.mod h1:Pm3mSP3c5uWn86xMLZ5Sa7JB9GsEZySvHYXCTK4E9q4=
-github.com/morikuni/aec v1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A=
 github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc=
 github.com/mrunalp/fileutils v0.5.0 h1:NKzVxiH7eSk+OQ4M+ZYW1K6h27RUV3MI6NUTsHhU6Z4=
 github.com/mrunalp/fileutils v0.5.0/go.mod h1:M1WthSahJixYnrXQl/DFQuteStB1weuxD2QJNHXfbSQ=
diff --git a/pkg/kubelet/kubelet.go b/pkg/kubelet/kubelet.go
index 2013c871a608a..0e6f5f946dea0 100644
--- a/pkg/kubelet/kubelet.go
+++ b/pkg/kubelet/kubelet.go
@@ -73,7 +73,6 @@ import (
 	"k8s.io/kubernetes/pkg/kubelet/configmap"
 	kubecontainer "k8s.io/kubernetes/pkg/kubelet/container"
 	"k8s.io/kubernetes/pkg/kubelet/cri/remote"
-	"k8s.io/kubernetes/pkg/kubelet/cri/streaming"
 	"k8s.io/kubernetes/pkg/kubelet/events"
 	"k8s.io/kubernetes/pkg/kubelet/eviction"
 	"k8s.io/kubernetes/pkg/kubelet/images"
@@ -310,18 +309,7 @@ func PreInitRuntimeService(kubeCfg *kubeletconfiginternal.KubeletConfiguration,
 
 	switch containerRuntime {
 	case kubetypes.DockerContainerRuntime:
-		klog.InfoS("Using dockershim is deprecated, please consider using a full-fledged CRI implementation")
-		if err := runDockershim(
-			kubeCfg,
-			kubeDeps,
-			crOptions,
-			runtimeCgroups,
-			remoteRuntimeEndpoint,
-			remoteImageEndpoint,
-			nonMasqueradeCIDR,
-		); err != nil {
-			return err
-		}
+		return fmt.Errorf("using dockershim is not supported, please consider using a full-fledged CRI implementation")
 	case kubetypes.RemoteContainerRuntime:
 		// No-op.
 		break
@@ -2440,15 +2428,3 @@ func isSyncPodWorthy(event *pleg.PodLifecycleEvent) bool {
 	// ContainerRemoved doesn't affect pod state
 	return event.Type != pleg.ContainerRemoved
 }
-
-// Gets the streaming server configuration to use with in-process CRI shims.
-func getStreamingConfig(kubeCfg *kubeletconfiginternal.KubeletConfiguration, kubeDeps *Dependencies, crOptions *config.ContainerRuntimeOptions) *streaming.Config {
-	config := &streaming.Config{
-		StreamIdleTimeout:               kubeCfg.StreamingConnectionIdleTimeout.Duration,
-		StreamCreationTimeout:           streaming.DefaultConfig.StreamCreationTimeout,
-		SupportedRemoteCommandProtocols: streaming.DefaultConfig.SupportedRemoteCommandProtocols,
-		SupportedPortForwardProtocols:   streaming.DefaultConfig.SupportedPortForwardProtocols,
-	}
-	config.Addr = net.JoinHostPort("localhost", "0")
-	return config
-}
diff --git a/test/e2e/framework/.import-restrictions b/test/e2e/framework/.import-restrictions
index a60fb9d790847..1353f40df9ddf 100644
--- a/test/e2e/framework/.import-restrictions
+++ b/test/e2e/framework/.import-restrictions
@@ -86,16 +86,6 @@ rules:
       - k8s.io/kubernetes/pkg/kubelet/config
       - k8s.io/kubernetes/pkg/kubelet/configmap
       - k8s.io/kubernetes/pkg/kubelet/container
-      - k8s.io/kubernetes/pkg/kubelet/dockershim
-      - k8s.io/kubernetes/pkg/kubelet/dockershim/cm
-      - k8s.io/kubernetes/pkg/kubelet/dockershim/libdocker
-      - k8s.io/kubernetes/pkg/kubelet/dockershim/metrics
-      - k8s.io/kubernetes/pkg/kubelet/dockershim/network
-      - k8s.io/kubernetes/pkg/kubelet/dockershim/network/cni
-      - k8s.io/kubernetes/pkg/kubelet/dockershim/network/hostport
-      - k8s.io/kubernetes/pkg/kubelet/dockershim/network/kubenet
-      - k8s.io/kubernetes/pkg/kubelet/dockershim/network/metrics
-      - k8s.io/kubernetes/pkg/kubelet/dockershim/remote
       - k8s.io/kubernetes/pkg/kubelet/envvars
       - k8s.io/kubernetes/pkg/kubelet/eviction
       - k8s.io/kubernetes/pkg/kubelet/eviction/api
