diff --git a/test/e2e/framework/pv_util.go b/test/e2e/framework/pv_util.go index a29e94ba9d5..cedb857f213 100644 --- a/test/e2e/framework/pv_util.go +++ b/test/e2e/framework/pv_util.go @@ -507,21 +507,25 @@ func testPodSuccessOrFail(c clientset.Interface, ns string, pod *v1.Pod) error { // Deletes the passed-in pod and waits for the pod to be terminated. Resilient to the pod // not existing. func DeletePodWithWait(f *Framework, c clientset.Interface, pod *v1.Pod) error { - if pod == nil { - return nil - } - Logf("Deleting pod %q in namespace %q", pod.Name, pod.Namespace) - err := c.CoreV1().Pods(pod.Namespace).Delete(pod.Name, nil) + return DeletePodWithWaitByName(f, c, pod.GetName(), pod.GetNamespace()) +} + +// Deletes the named and namespaced pod and waits for the pod to be terminated. Resilient to the pod +// not existing. +func DeletePodWithWaitByName(f *Framework, c clientset.Interface, podName, podNamespace string) error { + const maxWait = 5 * time.Minute + Logf("Deleting pod %q in namespace %q", podName, podNamespace) + err := c.CoreV1().Pods(podNamespace).Delete(podName, nil) if err != nil { if apierrs.IsNotFound(err) { return nil // assume pod was already deleted } return fmt.Errorf("pod Delete API error: %v", err) } - Logf("Wait up to %v for pod %q to be fully deleted", PodDeleteTimeout, pod.Name) - err = f.WaitForPodNotFound(pod.Name, PodDeleteTimeout) + Logf("Wait up to %v for pod %q to be fully deleted", maxWait, podName) + err = f.WaitForPodNotFound(podName, maxWait) if err != nil { - return fmt.Errorf("pod %q was not deleted: %v", pod.Name, err) + return fmt.Errorf("pod %q was not deleted: %v", podName, err) } return nil } diff --git a/test/e2e/framework/volume_util.go b/test/e2e/framework/volume_util.go index 4836e832d49..d11e9a040aa 100644 --- a/test/e2e/framework/volume_util.go +++ b/test/e2e/framework/volume_util.go @@ -52,7 +52,6 @@ import ( clientset "k8s.io/client-go/kubernetes" imageutils "k8s.io/kubernetes/test/utils/image" - "github.com/golang/glog" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" ) @@ -389,24 +388,12 @@ func VolumeTestCleanup(f *Framework, config VolumeTestConfig) { cs := f.ClientSet - pod, err := cs.CoreV1().Pods(config.Namespace).Get(config.Prefix+"-client", metav1.GetOptions{}) - ExpectNoError(err, "Failed to get client pod: %v", err) - err = DeletePodWithWait(f, cs, pod) - if err != nil { - // Log the error before failing test: if the test has already failed, - // framework.ExpectNoError() won't print anything to logs! - glog.Warningf("Failed to delete client pod: %v", err) - ExpectNoError(err, "Failed to delete client pod: %v", err) - } + err := DeletePodWithWaitByName(f, cs, config.Prefix+"-client", config.Namespace) + Expect(err).To(BeNil(), "Failed to delete pod %v in namespace %v", config.Prefix+"-client", config.Namespace) if config.ServerImage != "" { - pod, err := cs.CoreV1().Pods(config.Namespace).Get(config.Prefix+"-server", metav1.GetOptions{}) - ExpectNoError(err, "Failed to get server pod: %v", err) - err = DeletePodWithWait(f, cs, pod) - if err != nil { - glog.Warningf("Failed to delete server pod: %v", err) - ExpectNoError(err, "Failed to delete server pod: %v", err) - } + err := DeletePodWithWaitByName(f, cs, config.Prefix+"-server", config.Namespace) + Expect(err).To(BeNil(), "Failed to delete pod %v in namespace %v", config.Prefix+"-server", config.Namespace) } }