From ae7ed86f388d93306e50c55c904d8eb4d4830486 Mon Sep 17 00:00:00 2001 From: Michael Henriksen Date: Fri, 15 Dec 2023 16:07:21 -0500 Subject: [PATCH] rename pvcRequiresNoWork to pvcRequiresWork Signed-off-by: Michael Henriksen --- .../datavolume/clone-controller-base.go | 4 +-- pkg/controller/datavolume/controller-base.go | 25 ++++++++++++------- .../datavolume/import-controller.go | 4 +-- .../datavolume/pvc-clone-controller.go | 4 +-- .../datavolume/snapshot-clone-controller.go | 4 +-- .../datavolume/upload-controller.go | 4 +-- 6 files changed, 26 insertions(+), 19 deletions(-) diff --git a/pkg/controller/datavolume/clone-controller-base.go b/pkg/controller/datavolume/clone-controller-base.go index 6d11337042..4c50d04099 100644 --- a/pkg/controller/datavolume/clone-controller-base.go +++ b/pkg/controller/datavolume/clone-controller-base.go @@ -459,11 +459,11 @@ func (r *CloneReconcilerBase) updateStatusPhase(pvc *corev1.PersistentVolumeClai phase, ok := pvc.Annotations[cc.AnnPodPhase] if phase != string(corev1.PodSucceeded) { _, ok = pvc.Annotations[cc.AnnCloneRequest] - requiresNoWork, err := r.pvcRequiresNoWork(pvc, dataVolumeCopy) + requiresWork, err := r.pvcRequiresWork(pvc, dataVolumeCopy) if err != nil { return err } - if !ok || pvc.Status.Phase != corev1.ClaimBound || requiresNoWork { + if !ok || pvc.Status.Phase != corev1.ClaimBound || !requiresWork { return nil } dataVolumeCopy.Status.Phase = cdiv1.CloneScheduled diff --git a/pkg/controller/datavolume/controller-base.go b/pkg/controller/datavolume/controller-base.go index a6091d4664..6718ae71f5 100644 --- a/pkg/controller/datavolume/controller-base.go +++ b/pkg/controller/datavolume/controller-base.go @@ -696,11 +696,11 @@ func (r *ReconcilerBase) validatePVC(dv *cdiv1.DataVolume, pvc *corev1.Persisten // If the PVC is not controlled by this DataVolume resource, we should log // a warning to the event recorder and return if !metav1.IsControlledBy(pvc, dv) { - requiresNoWork, err := r.pvcRequiresNoWork(pvc, dv) + requiresWork, err := r.pvcRequiresWork(pvc, dv) if err != nil { return err } - if requiresNoWork { + if !requiresWork { if cc.IsUnbound(pvc) { return fmt.Errorf("unbound populated/adoptable PVC %s/%s", pvc.Namespace, pvc.Name) } @@ -894,11 +894,11 @@ func (r *ReconcilerBase) updateStatus(req reconcile.Request, phaseSync *statusPh dataVolumeCopy.Status.ClaimName = pvc.Name phase := pvc.Annotations[cc.AnnPodPhase] - requiresNoWork, err := r.pvcRequiresNoWork(pvc, dataVolumeCopy) + requiresWork, err := r.pvcRequiresWork(pvc, dataVolumeCopy) if err != nil { return reconcile.Result{}, err } - if phase == string(cdiv1.Succeeded) && !requiresNoWork { + if phase == string(cdiv1.Succeeded) && requiresWork { if err := dvc.updateStatusPhase(pvc, dataVolumeCopy, &event); err != nil { return reconcile.Result{}, err } @@ -918,7 +918,7 @@ func (r *ReconcilerBase) updateStatus(req reconcile.Request, phaseSync *statusPh dataVolumeCopy.Status.Phase = cdiv1.PVCBound } - if requiresNoWork { + if !requiresWork { dataVolumeCopy.Status.Phase = cdiv1.Succeeded } else { if err := dvc.updateStatusPhase(pvc, dataVolumeCopy, &event); err != nil { @@ -1273,12 +1273,19 @@ func (r *ReconcilerBase) shouldUseCDIPopulator(syncState *dvSyncState) (bool, er return usePopulator, nil } -func (r *ReconcilerBase) pvcRequiresNoWork(pvc *corev1.PersistentVolumeClaim, dv *cdiv1.DataVolume) (bool, error) { +func (r *ReconcilerBase) pvcRequiresWork(pvc *corev1.PersistentVolumeClaim, dv *cdiv1.DataVolume) (bool, error) { if pvc == nil || dv == nil { - return false, nil + return true, nil } if pvcIsPopulatedForDataVolume(pvc, dv) { - return true, nil + return false, nil + } + canAdopt, err := cc.ClaimAllowsAdoption(r.client, pvc) + if err != nil { + return true, err + } + if canAdopt { + return false, nil } - return cc.ClaimAllowsAdoption(r.client, pvc) + return true, nil } diff --git a/pkg/controller/datavolume/import-controller.go b/pkg/controller/datavolume/import-controller.go index cdc2c2b0af..9aab9623c0 100644 --- a/pkg/controller/datavolume/import-controller.go +++ b/pkg/controller/datavolume/import-controller.go @@ -255,11 +255,11 @@ func (r *ImportReconciler) shouldUpdateStatusPhase(pvc *corev1.PersistentVolumeC } } _, ok := pvcCopy.Annotations[cc.AnnImportPod] - requiresNoWork, err := r.pvcRequiresNoWork(pvcCopy, dv) + requiresWork, err := r.pvcRequiresWork(pvcCopy, dv) if err != nil { return false, err } - return ok && pvcCopy.Status.Phase == corev1.ClaimBound && !requiresNoWork, nil + return ok && pvcCopy.Status.Phase == corev1.ClaimBound && requiresWork, nil } func (r *ImportReconciler) updateStatusPhase(pvc *corev1.PersistentVolumeClaim, dataVolumeCopy *cdiv1.DataVolume, event *Event) error { diff --git a/pkg/controller/datavolume/pvc-clone-controller.go b/pkg/controller/datavolume/pvc-clone-controller.go index 7765e6a2e8..7aa4a1d032 100644 --- a/pkg/controller/datavolume/pvc-clone-controller.go +++ b/pkg/controller/datavolume/pvc-clone-controller.go @@ -254,12 +254,12 @@ func (r *PvcCloneReconciler) syncClone(log logr.Logger, req reconcile.Request) ( datavolume := syncRes.dvMutated staticProvisionPending := checkStaticProvisionPending(pvc, datavolume) prePopulated := dvIsPrePopulated(datavolume) - requiresNoWork, err := r.pvcRequiresNoWork(pvc, datavolume) + requiresWork, err := r.pvcRequiresWork(pvc, datavolume) if err != nil { return syncRes, err } - if requiresNoWork || prePopulated || staticProvisionPending { + if !requiresWork || prePopulated || staticProvisionPending { return syncRes, nil } diff --git a/pkg/controller/datavolume/snapshot-clone-controller.go b/pkg/controller/datavolume/snapshot-clone-controller.go index e5d44ef523..2c9f7d76c9 100644 --- a/pkg/controller/datavolume/snapshot-clone-controller.go +++ b/pkg/controller/datavolume/snapshot-clone-controller.go @@ -187,12 +187,12 @@ func (r *SnapshotCloneReconciler) syncSnapshotClone(log logr.Logger, req reconci staticProvisionPending := checkStaticProvisionPending(pvc, datavolume) _, prePopulated := datavolume.Annotations[cc.AnnPrePopulated] - requiresNoWork, err := r.pvcRequiresNoWork(pvc, datavolume) + requiresWork, err := r.pvcRequiresWork(pvc, datavolume) if err != nil { return syncRes, err } - if requiresNoWork || prePopulated || staticProvisionPending { + if !requiresWork || prePopulated || staticProvisionPending { return syncRes, nil } diff --git a/pkg/controller/datavolume/upload-controller.go b/pkg/controller/datavolume/upload-controller.go index 9498d0c5db..3c405418bf 100644 --- a/pkg/controller/datavolume/upload-controller.go +++ b/pkg/controller/datavolume/upload-controller.go @@ -211,11 +211,11 @@ func (r *UploadReconciler) shouldUpdateStatusPhase(pvc *corev1.PersistentVolumeC } } _, ok := pvcCopy.Annotations[cc.AnnUploadRequest] - requiresNoWork, err := r.pvcRequiresNoWork(pvcCopy, dv) + requiresWork, err := r.pvcRequiresWork(pvcCopy, dv) if err != nil { return false, err } - return ok && pvcCopy.Status.Phase == corev1.ClaimBound && !requiresNoWork, nil + return ok && pvcCopy.Status.Phase == corev1.ClaimBound && requiresWork, nil } func (r *UploadReconciler) updateStatusPhase(pvc *corev1.PersistentVolumeClaim, dataVolumeCopy *cdiv1.DataVolume, event *Event) error {