From 34a9be5f6e90d4c15e7d5e9b0aa38be2a2e397bb Mon Sep 17 00:00:00 2001 From: Seth Jennings Date: Fri, 28 Jul 2017 11:19:35 -0500 Subject: [PATCH] UPSTREAM: 49724: skip WaitForAttachAndMount for terminated pods in syncPod --- vendor/k8s.io/kubernetes/pkg/kubelet/kubelet.go | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/vendor/k8s.io/kubernetes/pkg/kubelet/kubelet.go b/vendor/k8s.io/kubernetes/pkg/kubelet/kubelet.go index e1b7512ee062..0dc725cf2026 100644 --- a/vendor/k8s.io/kubernetes/pkg/kubelet/kubelet.go +++ b/vendor/k8s.io/kubernetes/pkg/kubelet/kubelet.go @@ -1569,11 +1569,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