From 265db191f14acdecc76898ed27100c57c2c78e42 Mon Sep 17 00:00:00 2001 From: Seth Jennings Date: Thu, 27 Jul 2017 11:25:58 -0500 Subject: [PATCH] skip WaitForAttachAndMount for terminated pods in syncPod --- pkg/kubelet/kubelet.go | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/pkg/kubelet/kubelet.go b/pkg/kubelet/kubelet.go index 6e6ccf6f82d..37e3f6af8a7 100644 --- a/pkg/kubelet/kubelet.go +++ b/pkg/kubelet/kubelet.go @@ -1542,11 +1542,14 @@ func (kl *Kubelet) syncPod(o syncPodOptions) error { return err } - // Wait for volumes to attach/mount - if err := kl.volumeManager.WaitForAttachAndMount(pod); err != nil { - kl.recorder.Eventf(pod, v1.EventTypeWarning, events.FailedMountVolume, "Unable to mount volumes for pod %q: %v", format.Pod(pod), err) - glog.Errorf("Unable to mount volumes for pod %q: %v; skipping pod", format.Pod(pod), err) - return err + // Volume manager will not mount volumes for terminated pods + if !kl.podIsTerminated(pod) { + // Wait for volumes to attach/mount + if err := kl.volumeManager.WaitForAttachAndMount(pod); err != nil { + kl.recorder.Eventf(pod, v1.EventTypeWarning, events.FailedMountVolume, "Unable to mount volumes for pod %q: %v", format.Pod(pod), err) + glog.Errorf("Unable to mount volumes for pod %q: %v; skipping pod", format.Pod(pod), err) + return err + } } // Fetch the pull secrets for the pod