From e1e0591364563fe062ede8639531537c293331fc Mon Sep 17 00:00:00 2001 From: Ward Loos Date: Sun, 27 May 2018 20:26:37 +0200 Subject: [PATCH] Don't reset global timeout on each for loop iteration --- pkg/kubectl/cmd/drain.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkg/kubectl/cmd/drain.go b/pkg/kubectl/cmd/drain.go index 8a6383f9a2e..0258e7a18f8 100644 --- a/pkg/kubectl/cmd/drain.go +++ b/pkg/kubectl/cmd/drain.go @@ -610,6 +610,7 @@ func (o *DrainOptions) evictPods(pods []corev1.Pod, policyGroupVersion string, g } else { globalTimeout = o.Timeout } + globalTimeoutCh := time.After(globalTimeout) for { select { case err := <-errCh: @@ -619,7 +620,7 @@ func (o *DrainOptions) evictPods(pods []corev1.Pod, policyGroupVersion string, g if doneCount == len(pods) { return nil } - case <-time.After(globalTimeout): + case <-globalTimeoutCh: return fmt.Errorf("Drain did not complete within %v", globalTimeout) } }