From bd357e976147db21aab47bf06373c297a4c29c79 Mon Sep 17 00:00:00 2001 From: Yu-Ju Hong Date: Fri, 16 Sep 2016 10:59:40 -0700 Subject: [PATCH] Various fixes to enable kubelet to switch to kuberuntime/dockershim --- pkg/kubelet/kuberuntime/kuberuntime_image.go | 7 +++---- pkg/kubelet/sysctl/runtime.go | 6 +++++- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/pkg/kubelet/kuberuntime/kuberuntime_image.go b/pkg/kubelet/kuberuntime/kuberuntime_image.go index 708df314fa2..fdf4c21101b 100644 --- a/pkg/kubelet/kuberuntime/kuberuntime_image.go +++ b/pkg/kubelet/kuberuntime/kuberuntime_image.go @@ -17,8 +17,6 @@ limitations under the License. package kuberuntime import ( - "fmt" - "github.com/golang/glog" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/credentialprovider" @@ -130,7 +128,8 @@ func (m *kubeGenericRuntimeManager) RemoveImage(image kubecontainer.ImageSpec) e } // ImageStats returns the statistics of the image. +// TODO: Implement this function. func (m *kubeGenericRuntimeManager) ImageStats() (*kubecontainer.ImageStats, error) { - // TODO: support image stats in new runtime interface - return nil, fmt.Errorf("not implemented") + var usageBytes uint64 = 0 + return &kubecontainer.ImageStats{TotalStorageBytes: usageBytes}, nil } diff --git a/pkg/kubelet/sysctl/runtime.go b/pkg/kubelet/sysctl/runtime.go index 1061d3aa85a..b72753e6932 100644 --- a/pkg/kubelet/sysctl/runtime.go +++ b/pkg/kubelet/sysctl/runtime.go @@ -27,6 +27,10 @@ import ( const ( UnsupportedReason = "SysctlUnsupported" + // CRI uses semver-compatible API version, while docker does not + // (e.g., 1.24). Append the version with a ".0" so that it works + // with both the CRI and dockertools comparison logic. + dockerMinimumAPIVersion = "1.24.0" ) type runtimeAdmitHandler struct { @@ -45,7 +49,7 @@ func NewRuntimeAdmitHandler(runtime container.Runtime) (*runtimeAdmitHandler, er } // only Docker >= 1.12 supports sysctls - c, err := v.Compare(dockertools.DockerV112APIVersion) + c, err := v.Compare(dockerMinimumAPIVersion) if err != nil { return nil, fmt.Errorf("failed to compare Docker version for sysctl support: %v", err) }