From ca5ca9c1d55627dc37677cb4034fb5a63d9574bd Mon Sep 17 00:00:00 2001 From: Cesar Wong Date: Wed, 3 Jan 2018 17:25:51 -0500 Subject: [PATCH] node: use a warning instead of fatal when docker ping fails --- pkg/cmd/server/kubernetes/node/node.go | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/pkg/cmd/server/kubernetes/node/node.go b/pkg/cmd/server/kubernetes/node/node.go index 001acf47a947..7f68ea14e92a 100644 --- a/pkg/cmd/server/kubernetes/node/node.go +++ b/pkg/cmd/server/kubernetes/node/node.go @@ -20,6 +20,7 @@ import ( "k8s.io/kubernetes/pkg/kubelet/cadvisor" cadvisortesting "k8s.io/kubernetes/pkg/kubelet/cadvisor/testing" "k8s.io/kubernetes/pkg/kubelet/cm" + "k8s.io/kubernetes/pkg/util/mount" "k8s.io/kubernetes/pkg/volume" configapi "github.com/openshift/origin/pkg/cmd/server/api" @@ -112,9 +113,19 @@ func (c *NodeConfig) EnsureDocker(docker *dockerutil.Helper) { return } } - if err := dockerClient.Ping(); err != nil { - glog.Fatalf("Docker could not be reached at %s. Docker must be installed and running to start containers.\n%v", endpoint, err) - return + _, isFakeDocker := client.(*dockertools.FakeDockerClient) + if isFakeDocker { + // If using the fake docker client, ensure that the CgroupDriver for the kubelet matches + // the default cgroup driver, and use a fake mounter + c.KubeletServer.CgroupDriver = "cgroupfs" + c.KubeletDeps.Mounter = &mount.FakeMounter{} + } + + if !isFakeDocker { + if err := dockerClient.Ping(); err != nil { + glog.Fatalf("Docker could not be reached at %s. Docker must be installed and running to start containers.\n%v", endpoint, err) + return + } } glog.Infof("Connecting to Docker at %s", endpoint)