Commit bcd9f81b authored by Akihiro Suda's avatar Akihiro Suda Committed by Darren Shepherd

dockershim: ignore GetCheckpoint error when running in userns

parent 3b9b6bae
...@@ -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,6 +537,7 @@ func (ds *dockerService) ListPodSandbox(_ context.Context, r *runtimeapi.ListPod ...@@ -535,6 +537,7 @@ 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 {
if !rsystem.RunningInUserNS() {
klog.Errorf("Failed to retrieve checkpoint for sandbox %q: %v", id, err) klog.Errorf("Failed to retrieve checkpoint for sandbox %q: %v", id, err)
if err == errors.ErrCorruptCheckpoint { if err == errors.ErrCorruptCheckpoint {
err = ds.checkpointManager.RemoveCheckpoint(id) err = ds.checkpointManager.RemoveCheckpoint(id)
...@@ -542,6 +545,7 @@ func (ds *dockerService) ListPodSandbox(_ context.Context, r *runtimeapi.ListPod ...@@ -542,6 +545,7 @@ func (ds *dockerService) ListPodSandbox(_ context.Context, r *runtimeapi.ListPod
klog.Errorf("Failed to delete corrupt checkpoint for sandbox %q: %v", id, err) klog.Errorf("Failed to delete corrupt checkpoint for sandbox %q: %v", id, err)
} }
} }
}
continue continue
} }
result = append(result, checkpointToRuntimeAPISandbox(id, checkpoint)) result = append(result, checkpointToRuntimeAPISandbox(id, checkpoint))
......
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