Commit e25c2a12 authored by Akihiro Suda's avatar Akihiro Suda Committed by Erik Wilson

dockershim: ignore GetCheckpoint error when running in userns

parent 8e007bc7
...@@ -70,6 +70,7 @@ go_library( ...@@ -70,6 +70,7 @@ go_library(
"//vendor/github.com/docker/docker/pkg/jsonmessage:go_default_library", "//vendor/github.com/docker/docker/pkg/jsonmessage:go_default_library",
"//vendor/github.com/docker/go-connections/nat:go_default_library", "//vendor/github.com/docker/go-connections/nat:go_default_library",
"//vendor/k8s.io/klog:go_default_library", "//vendor/k8s.io/klog:go_default_library",
"//vendor/github.com/opencontainers/runc/libcontainer/system:go_default_library",
"//vendor/k8s.io/utils/exec:go_default_library", "//vendor/k8s.io/utils/exec:go_default_library",
] + select({ ] + select({
"@io_bazel_rules_go//go/platform:windows": [ "@io_bazel_rules_go//go/platform:windows": [
......
...@@ -27,6 +27,8 @@ import ( ...@@ -27,6 +27,8 @@ import (
dockertypes "github.com/docker/docker/api/types" dockertypes "github.com/docker/docker/api/types"
dockercontainer "github.com/docker/docker/api/types/container" dockercontainer "github.com/docker/docker/api/types/container"
dockerfilters "github.com/docker/docker/api/types/filters" dockerfilters "github.com/docker/docker/api/types/filters"
rsystem "github.com/opencontainers/runc/libcontainer/system"
utilerrors "k8s.io/apimachinery/pkg/util/errors" utilerrors "k8s.io/apimachinery/pkg/util/errors"
"k8s.io/klog" "k8s.io/klog"
runtimeapi "k8s.io/kubernetes/pkg/kubelet/apis/cri/runtime/v1alpha2" runtimeapi "k8s.io/kubernetes/pkg/kubelet/apis/cri/runtime/v1alpha2"
...@@ -535,11 +537,13 @@ func (ds *dockerService) ListPodSandbox(_ context.Context, r *runtimeapi.ListPod ...@@ -535,11 +537,13 @@ func (ds *dockerService) ListPodSandbox(_ context.Context, r *runtimeapi.ListPod
checkpoint := NewPodSandboxCheckpoint("", "", &CheckpointData{}) checkpoint := NewPodSandboxCheckpoint("", "", &CheckpointData{})
err := ds.checkpointManager.GetCheckpoint(id, checkpoint) err := ds.checkpointManager.GetCheckpoint(id, checkpoint)
if err != nil { if err != nil {
klog.Errorf("Failed to retrieve checkpoint for sandbox %q: %v", id, err) if !rsystem.RunningInUserNS() {
if err == errors.ErrCorruptCheckpoint { klog.Errorf("Failed to retrieve checkpoint for sandbox %q: %v", id, err)
err = ds.checkpointManager.RemoveCheckpoint(id) if err == errors.ErrCorruptCheckpoint {
if err != nil { err = ds.checkpointManager.RemoveCheckpoint(id)
klog.Errorf("Failed to delete corrupt checkpoint for sandbox %q: %v", id, err) if err != nil {
klog.Errorf("Failed to delete corrupt checkpoint for sandbox %q: %v", id, err)
}
} }
} }
continue continue
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment