From dd469740e1a27d79ffb0a8a24a1bf689e5bd0b2e Mon Sep 17 00:00:00 2001 From: parth-gr Date: Fri, 14 Nov 2025 12:16:46 +0530 Subject: [PATCH] pool: retry if pool status is empty in rn controller if the pool is just created and getting the status updated rn controller can still go and proceed to check the pool status If the pool status is empty we should retry instead of proceeding further Signed-off-by: parth-gr (cherry picked from commit 7ef4b4849c3b5a2827baf347d7a71387c09c1ce2) Signed-off-by: parth-gr --- pkg/operator/ceph/pool/radosnamespace/controller.go | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/pkg/operator/ceph/pool/radosnamespace/controller.go b/pkg/operator/ceph/pool/radosnamespace/controller.go index 11221a6bc..ae32b77c2 100644 --- a/pkg/operator/ceph/pool/radosnamespace/controller.go +++ b/pkg/operator/ceph/pool/radosnamespace/controller.go @@ -326,11 +326,9 @@ func (r *ReconcileCephBlockPoolRadosNamespace) reconcile(request reconcile.Reque } // If the cephBlockPool is not ready to accept commands, we should wait for it to be ready - if cephBlockPool.Status != nil { - if cephBlockPool.Status.Phase != cephv1.ConditionReady { - // We know the CR is present so it should a matter of second for it to become ready - return reconcile.Result{Requeue: true, RequeueAfter: 10 * time.Second}, radosNamespace, errors.Wrapf(err, "failed to fetch ceph blockpool %q, cannot create rados namespace %q", pool, radosNamespace.Name) - } + if cephBlockPool.Status == nil || cephBlockPool.Status.Phase != cephv1.ConditionReady { + // We know the CR is present so it should a matter of second for it to become ready + return reconcile.Result{Requeue: true, RequeueAfter: 10 * time.Second}, radosNamespace, errors.Wrapf(err, "failed to fetch ceph blockpool %q, cannot create rados namespace %q", pool, radosNamespace.Name) } // Create or Update rados namespace err = r.createOrUpdateRadosNamespace(radosNamespace)