@@ -425,40 +425,43 @@ func (r *Reconciler) Reconcile(ctx context.Context, req ctrl.Request) (result ct
425425 instance .Status .Conditions .MarkTrue (condition .PDBReadyCondition , condition .PDBReadyMessage )
426426
427427 // Let's wait DeploymentReadyCondition=True to apply the policy
428- if instance .Spec .QueueType == "Mirrored" && * instance .Spec .Replicas > 1 && instance .Status .QueueType != "Mirrored" {
429- Log .Info ("ha-all policy not present. Applying." )
430- err := updateMirroredPolicy (ctx , helper , instance , r .config , true )
431- if err != nil {
432- Log .Error (err , "Could not apply ha-all policy" )
433- instance .Status .Conditions .Set (condition .FalseCondition (
434- condition .DeploymentReadyCondition ,
435- condition .ErrorReason ,
436- condition .SeverityWarning ,
437- condition .DeploymentReadyErrorMessage , err .Error ()))
438- return ctrl.Result {}, err
428+ // QueueType should never be nil due to webhook defaulting, but add safety check
429+ if instance .Spec .QueueType != nil {
430+ if * instance .Spec .QueueType == "Mirrored" && * instance .Spec .Replicas > 1 && instance .Status .QueueType != "Mirrored" {
431+ Log .Info ("ha-all policy not present. Applying." )
432+ err := updateMirroredPolicy (ctx , helper , instance , r .config , true )
433+ if err != nil {
434+ Log .Error (err , "Could not apply ha-all policy" )
435+ instance .Status .Conditions .Set (condition .FalseCondition (
436+ condition .DeploymentReadyCondition ,
437+ condition .ErrorReason ,
438+ condition .SeverityWarning ,
439+ condition .DeploymentReadyErrorMessage , err .Error ()))
440+ return ctrl.Result {}, err
441+ }
442+ } else if * instance .Spec .QueueType != "Mirrored" && instance .Status .QueueType == "Mirrored" {
443+ Log .Info ("Removing ha-all policy" )
444+ err := updateMirroredPolicy (ctx , helper , instance , r .config , false )
445+ if err != nil {
446+ Log .Error (err , "Could not remove ha-all policy" )
447+ instance .Status .Conditions .Set (condition .FalseCondition (
448+ condition .DeploymentReadyCondition ,
449+ condition .ErrorReason ,
450+ condition .SeverityWarning ,
451+ condition .DeploymentReadyErrorMessage , err .Error ()))
452+ return ctrl.Result {}, err
453+ }
439454 }
440- } else if instance .Spec .QueueType != "Mirrored" && instance .Status .QueueType == "Mirrored" {
441- Log .Info ("Removing ha-all policy" )
442- err := updateMirroredPolicy (ctx , helper , instance , r .config , false )
443- if err != nil {
444- Log .Error (err , "Could not remove ha-all policy" )
445- instance .Status .Conditions .Set (condition .FalseCondition (
446- condition .DeploymentReadyCondition ,
447- condition .ErrorReason ,
448- condition .SeverityWarning ,
449- condition .DeploymentReadyErrorMessage , err .Error ()))
450- return ctrl.Result {}, err
455+
456+ // Update status for Quorum queue type
457+ if * instance .Spec .QueueType == "Quorum" && instance .Status .QueueType != "Quorum" {
458+ Log .Info ("Setting queue type status to quorum" )
459+ } else if * instance .Spec .QueueType != "Quorum" && instance .Status .QueueType == "Quorum" {
460+ Log .Info ("Removing quorum queue type status" )
451461 }
452- }
453462
454- // Update status for Quorum queue type
455- if instance .Spec .QueueType == "Quorum" && instance .Status .QueueType != "Quorum" {
456- Log .Info ("Setting queue type status to quorum" )
457- } else if instance .Spec .QueueType != "Quorum" && instance .Status .QueueType == "Quorum" {
458- Log .Info ("Removing quorum queue type status" )
463+ instance .Status .QueueType = * instance .Spec .QueueType
459464 }
460-
461- instance .Status .QueueType = instance .Spec .QueueType
462465 }
463466
464467 if instance .Status .Conditions .AllSubConditionIsTrue () {
0 commit comments