diff --git a/pkg/kubectl/cmd/drain.go b/pkg/kubectl/cmd/drain.go index b8ce0f6682a..19a4b249ee9 100644 --- a/pkg/kubectl/cmd/drain.go +++ b/pkg/kubectl/cmd/drain.go @@ -611,6 +611,7 @@ func (o *DrainOptions) evictPods(pods []corev1.Pod, policyGroupVersion string, g } else { globalTimeout = o.Timeout } + globalTimeoutCh := time.After(globalTimeout) for { select { case err := <-errCh: @@ -620,7 +621,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) } }