From 8d2f1dd7f0a3cb2b63726b83ed0d4272fc83f1f6 Mon Sep 17 00:00:00 2001 From: yangw Date: Wed, 19 Feb 2025 14:04:00 +0800 Subject: [PATCH] [ISSUE #143] Loop reconcile console which can get the latest nameserver address Signed-off-by: yangw --- pkg/controller/console/console_controller.go | 25 ++++++++------------ 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/pkg/controller/console/console_controller.go b/pkg/controller/console/console_controller.go index 011ac4d3..4b9e02d1 100644 --- a/pkg/controller/console/console_controller.go +++ b/pkg/controller/console/console_controller.go @@ -156,18 +156,14 @@ func (r *ReconcileConsole) Reconcile(ctx context.Context, request reconcile.Requ return reconcile.Result{}, err } - // created successfully - don't requeue - return reconcile.Result{}, nil + return reconcile.Result{ + Requeue: true, + RequeueAfter: time.Duration(cons.RequeueIntervalInSecond) * time.Second, + }, nil } else if err != nil { return reconcile.Result{}, err - } - - // Support console deployment update - if !reflect.DeepEqual(instance.Spec.ConsoleDeployment.Spec.Replicas, found.Spec.Replicas) || - !reflect.DeepEqual(instance.Spec.ConsoleDeployment.Spec.Template.Spec.Containers[0].Resources, found.Spec.Template.Spec.Containers[0].Resources) { - - found.Spec.Replicas = instance.Spec.ConsoleDeployment.Spec.Replicas - found.Spec.Template.Spec.Containers[0].Resources = instance.Spec.ConsoleDeployment.Spec.Template.Spec.Containers[0].Resources + } else if !reflect.DeepEqual(consoleDeployment.Spec, found.Spec) { + found.Spec = *consoleDeployment.Spec.DeepCopy() err = r.client.Update(context.TODO(), found) if err != nil { reqLogger.Error(err, "Failed to update console CR", "Namespace", found.Namespace, "Name", found.Name) @@ -176,11 +172,10 @@ func (r *ReconcileConsole) Reconcile(ctx context.Context, request reconcile.Requ } } - // TODO: update console if name server address changes - - // CR already exists - don't requeue - reqLogger.Info("Skip reconcile: RocketMQ Console Deployment already exists", "Namespace", found.Namespace, "Name", found.Name) - return reconcile.Result{}, nil + return reconcile.Result{ + Requeue: true, + RequeueAfter: time.Duration(cons.RequeueIntervalInSecond) * time.Second, + }, nil } // newDeploymentForCR returns a deployment pod with modifying the ENV