From 3d78271dd96abcc0cf4ad81d380e8bff5433e31b Mon Sep 17 00:00:00 2001 From: Yu-Ju Hong Date: Tue, 7 Feb 2017 11:51:39 -0800 Subject: [PATCH 1/2] CRI node e2e: add tests for docker 1.10 This is part of #38164 --- test/e2e_node/jenkins/cri_validation/image-config.yaml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/test/e2e_node/jenkins/cri_validation/image-config.yaml b/test/e2e_node/jenkins/cri_validation/image-config.yaml index 128cc35baf0..880dd0888e5 100644 --- a/test/e2e_node/jenkins/cri_validation/image-config.yaml +++ b/test/e2e_node/jenkins/cri_validation/image-config.yaml @@ -1,11 +1,14 @@ images: containervm: - image: e2e-node-containervm-v20161208-image + image: e2e-node-containervm-v20161208-image # docker 1.11.2 project: kubernetes-node-e2e-images gci-family: - image_regex: gci-beta-56-9000-80-0 + image_regex: gci-beta-56-9000-80-0 # docker 1.11.2 project: google-containers metadata: "user-data Date: Tue, 7 Feb 2017 13:57:30 -0800 Subject: [PATCH 2/2] dockershim: set the default cgroup driver --- pkg/kubelet/dockershim/docker_service.go | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/pkg/kubelet/dockershim/docker_service.go b/pkg/kubelet/dockershim/docker_service.go index f206d6474cd..30a467b269f 100644 --- a/pkg/kubelet/dockershim/docker_service.go +++ b/pkg/kubelet/dockershim/docker_service.go @@ -68,6 +68,8 @@ const ( // The expiration time of version cache. versionCacheTTL = 60 * time.Second + defaultCgroupDriver = "cgroupfs" + // TODO: https://github.com/kubernetes/kubernetes/pull/31169 provides experimental // defaulting of host user namespace that may be enabled when the docker daemon // is using remapped UIDs. @@ -147,18 +149,21 @@ func NewDockerService(client dockertools.DockerInterface, seccompProfileRoot str glog.Infof("Docker cri networking managed by %v", plug.Name()) // NOTE: cgroup driver is only detectable in docker 1.11+ - var cgroupDriver string + cgroupDriver := defaultCgroupDriver dockerInfo, err := ds.client.Info() if err != nil { - glog.Errorf("failed to execute Info() call to the Docker client: %v", err) - glog.Warningf("Using fallback default of cgroupfs as cgroup driver") + glog.Errorf("Failed to execute Info() call to the Docker client: %v", err) + glog.Warningf("Falling back to use the default driver: %q", cgroupDriver) + } else if len(dockerInfo.CgroupDriver) == 0 { + glog.Warningf("No cgroup driver is set in Docker") + glog.Warningf("Falling back to use the default driver: %q", cgroupDriver) } else { cgroupDriver = dockerInfo.CgroupDriver - if len(kubeCgroupDriver) != 0 && kubeCgroupDriver != cgroupDriver { - return nil, fmt.Errorf("misconfiguration: kubelet cgroup driver: %q is different from docker cgroup driver: %q", kubeCgroupDriver, cgroupDriver) - } - glog.Infof("Setting cgroupDriver to %s", cgroupDriver) } + if len(kubeCgroupDriver) != 0 && kubeCgroupDriver != cgroupDriver { + return nil, fmt.Errorf("misconfiguration: kubelet cgroup driver: %q is different from docker cgroup driver: %q", kubeCgroupDriver, cgroupDriver) + } + glog.Infof("Setting cgroupDriver to %s", cgroupDriver) ds.cgroupDriver = cgroupDriver ds.versionCache = cache.NewObjectCache( func() (interface{}, error) {