From 8eaf1d790d0cddbaded1251cde53e538f77ce484 Mon Sep 17 00:00:00 2001 From: Niels de Vos Date: Wed, 12 Oct 2022 18:57:51 +0200 Subject: [PATCH] e2e: log failures while deleting PVC and PV There are occasions where deleting a PVC (or PV) never succeeds. The reported status of the deleted object is sometimes empty, which suggests that the PVC or PV was, in fact, deleted. To diagnose the incorrect error checking, include the errors for retrying in the logs. Signed-off-by: Niels de Vos --- e2e/pvc.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/e2e/pvc.go b/e2e/pvc.go index 41bcb4845..24d07673a 100644 --- a/e2e/pvc.go +++ b/e2e/pvc.go @@ -284,9 +284,13 @@ func deletePVCAndValidatePV(c kubernetes.Interface, pvc *v1.PersistentVolumeClai int(time.Since(start).Seconds())) pvc, err = c.CoreV1().PersistentVolumeClaims(nameSpace).Get(context.TODO(), name, metav1.GetOptions{}) if err == nil { + e2elog.Logf("PVC %s (status: %s) has not been deleted yet, rechecking...", name, pvc.Status) + return false, nil } if isRetryableAPIError(err) { + e2elog.Logf("failed to verify deletion of PVC %s (status: %s): %v", name, pvc.Status, err) + return false, nil } if !apierrs.IsNotFound(err) { @@ -294,11 +298,15 @@ func deletePVCAndValidatePV(c kubernetes.Interface, pvc *v1.PersistentVolumeClai } // Examine the pv.ClaimRef and UID. Expect nil values. - _, err = c.CoreV1().PersistentVolumes().Get(context.TODO(), pv.Name, metav1.GetOptions{}) + oldPV, err := c.CoreV1().PersistentVolumes().Get(context.TODO(), pv.Name, metav1.GetOptions{}) if err == nil { + e2elog.Logf("PV %s (status: %s) has not been deleted yet, rechecking...", pv.Name, oldPV.Status) + return false, nil } if isRetryableAPIError(err) { + e2elog.Logf("failed to verify deletion of PV %s (status: %s): %v", pv.Name, oldPV.Status, err) + return false, nil } if !apierrs.IsNotFound(err) {