From f06fca98235e65827bcf4e3d0a98fc9301baf273 Mon Sep 17 00:00:00 2001 From: vikaschoudhary16 Date: Tue, 1 May 2018 14:01:16 -0400 Subject: [PATCH] Fix e2e "When checkpoint file is corrupted should complete pod sandbox clean up" --- pkg/kubelet/dockershim/BUILD | 1 - pkg/kubelet/dockershim/docker_service.go | 8 ++++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/pkg/kubelet/dockershim/BUILD b/pkg/kubelet/dockershim/BUILD index 6f90f2d0601..7ea91d85402 100644 --- a/pkg/kubelet/dockershim/BUILD +++ b/pkg/kubelet/dockershim/BUILD @@ -100,7 +100,6 @@ go_library( "//pkg/kubelet/types:go_default_library", "//pkg/kubelet/util/cache:go_default_library", "//pkg/kubelet/util/ioutils:go_default_library", - "//pkg/kubelet/util/store:go_default_library", "//pkg/security/apparmor:go_default_library", "//pkg/util/parsers:go_default_library", "//vendor/github.com/armon/circbuf:go_default_library", diff --git a/pkg/kubelet/dockershim/docker_service.go b/pkg/kubelet/dockershim/docker_service.go index 4cd973af842..5399094cc3c 100644 --- a/pkg/kubelet/dockershim/docker_service.go +++ b/pkg/kubelet/dockershim/docker_service.go @@ -33,6 +33,7 @@ import ( runtimeapi "k8s.io/kubernetes/pkg/kubelet/apis/cri/runtime/v1alpha2" "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig" "k8s.io/kubernetes/pkg/kubelet/checkpointmanager" + "k8s.io/kubernetes/pkg/kubelet/checkpointmanager/errors" kubecontainer "k8s.io/kubernetes/pkg/kubelet/container" "k8s.io/kubernetes/pkg/kubelet/dockershim/cm" "k8s.io/kubernetes/pkg/kubelet/dockershim/network" @@ -41,7 +42,6 @@ import ( "k8s.io/kubernetes/pkg/kubelet/dockershim/network/kubenet" "k8s.io/kubernetes/pkg/kubelet/server/streaming" "k8s.io/kubernetes/pkg/kubelet/util/cache" - utilstore "k8s.io/kubernetes/pkg/kubelet/util/store" "k8s.io/kubernetes/pkg/kubelet/dockershim/libdocker" "k8s.io/kubernetes/pkg/kubelet/dockershim/metrics" @@ -372,9 +372,13 @@ func (ds *dockerService) GetPodPortMappings(podSandboxID string) ([]*hostport.Po err := ds.checkpointManager.GetCheckpoint(podSandboxID, checkpoint) // Return empty portMappings if checkpoint is not found if err != nil { - if err == utilstore.ErrKeyNotFound { + if err == errors.ErrCheckpointNotFound { return nil, nil } + errRem := ds.checkpointManager.RemoveCheckpoint(podSandboxID) + if errRem != nil { + glog.Errorf("Failed to delete corrupt checkpoint for sandbox %q: %v", podSandboxID, errRem) + } return nil, err } _, _, _, checkpointedPortMappings, _ := checkpoint.GetData()