From 0d9cb96db1c352e04a029d1ebb4a27eb0cf35a2e Mon Sep 17 00:00:00 2001 From: Niels de Vos Date: Thu, 18 Feb 2021 11:37:22 +0100 Subject: [PATCH] e2e: log status of PVC when Status.Phase is empty When deleting a PVC fails, the following messages are repeated until a timeout is hit: cephfs-80811 in state &PersistentVolumeClaimStatus{Phase:,AccessModes:[],Capacity:ResourceList{},Conditions:[]PersistentVolumeClaimCondition{},} to be deleted (600 seconds elapsed) Because the Phase is not set, the PVC seems to be in a strange state. In case this happens, log all details from the PVC so that we can identify additional conditions to check for completed deletion. Updates: #1874 Signed-off-by: Niels de Vos --- e2e/pvc.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/e2e/pvc.go b/e2e/pvc.go index 81ff63a82..20eaba427 100644 --- a/e2e/pvc.go +++ b/e2e/pvc.go @@ -101,6 +101,11 @@ func deletePVCAndPV(c kubernetes.Interface, pvc *v1.PersistentVolumeClaim, pv *v e2elog.Logf("waiting for PVC %s in state %s to be deleted (%d seconds elapsed)", pvcToDelete.Name, pvcToDelete.Status.String(), int(time.Since(start).Seconds())) pvcToDelete, err = c.CoreV1().PersistentVolumeClaims(pvcToDelete.Namespace).Get(context.TODO(), pvcToDelete.Name, metav1.GetOptions{}) if err == nil { + if pvcToDelete.Status.Phase == "" { + // this is unexpected, an empty Phase is not defined + // FIXME: see https://github.com/ceph/ceph-csi/issues/1874 + e2elog.Logf("PVC %s is in a weird state: %s", pvcToDelete.Name, pvcToDelete.String()) + } return false, nil } if !apierrs.IsNotFound(err) {