From fdbf5ef0b8b72101cc759703b96a3b0b40dcdf45 Mon Sep 17 00:00:00 2001 From: sunxiaofei03 Date: Sun, 27 Oct 2019 23:02:47 +0800 Subject: [PATCH] ignore image err when docker image has been cleaned up --- pkg/kubelet/dockershim/convert.go | 2 +- pkg/kubelet/dockershim/docker_container.go | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/pkg/kubelet/dockershim/convert.go b/pkg/kubelet/dockershim/convert.go index b8dabddc1f2..e38d4971127 100644 --- a/pkg/kubelet/dockershim/convert.go +++ b/pkg/kubelet/dockershim/convert.go @@ -69,7 +69,7 @@ func toPullableImageID(id string, image *dockertypes.ImageInspect) string { // Default to the image ID, but if RepoDigests is not empty, use // the first digest instead. imageID := DockerImageIDPrefix + id - if len(image.RepoDigests) > 0 { + if image != nil && len(image.RepoDigests) > 0 { imageID = DockerPullableImageIDPrefix + image.RepoDigests[0] } return imageID diff --git a/pkg/kubelet/dockershim/docker_container.go b/pkg/kubelet/dockershim/docker_container.go index 7bf5622d807..e7c3d0c26e6 100644 --- a/pkg/kubelet/dockershim/docker_container.go +++ b/pkg/kubelet/dockershim/docker_container.go @@ -347,7 +347,10 @@ func (ds *dockerService) ContainerStatus(_ context.Context, req *runtimeapi.Cont // Convert the image id to a pullable id. ir, err := ds.client.InspectImageByID(r.Image) if err != nil { - return nil, fmt.Errorf("unable to inspect docker image %q while inspecting docker container %q: %v", r.Image, containerID, err) + if !libdocker.IsImageNotFoundError(err) { + return nil, fmt.Errorf("unable to inspect docker image %q while inspecting docker container %q: %v", r.Image, containerID, err) + } + klog.Warningf("ignore error image %q not found while inspecting docker container %q: %v", r.Image, containerID, err) } imageID := toPullableImageID(r.Image, ir)