From cc87917b0ad6b07c75a9d57e88371149bc370072 Mon Sep 17 00:00:00 2001 From: Andrii Dema Date: Wed, 6 Sep 2023 14:35:02 +0300 Subject: [PATCH] fix --- pkg/controller/perconaservermongodb/balancer.go | 7 +++++++ pkg/controller/perconaservermongodb/psmdb_controller.go | 4 ++++ 2 files changed, 11 insertions(+) diff --git a/pkg/controller/perconaservermongodb/balancer.go b/pkg/controller/perconaservermongodb/balancer.go index fc38454e08..c4ab69feaa 100644 --- a/pkg/controller/perconaservermongodb/balancer.go +++ b/pkg/controller/perconaservermongodb/balancer.go @@ -104,6 +104,13 @@ func (r *ReconcilePerconaServerMongoDB) enableBalancerIfNeeded(ctx context.Conte return nil } +func (r *ReconcilePerconaServerMongoDB) disableBalancerIfNeeded(ctx context.Context, cr *api.PerconaServerMongoDB) error { + if s := cr.Spec.Sharding; !s.Enabled || s.Mongos.Size == 0 || cr.Spec.Unmanaged || s.Balancer.Enabled == nil || *s.Balancer.Enabled { + return nil + } + return r.disableBalancer(ctx, cr) +} + func (r *ReconcilePerconaServerMongoDB) disableBalancer(ctx context.Context, cr *api.PerconaServerMongoDB) error { log := logf.FromContext(ctx) diff --git a/pkg/controller/perconaservermongodb/psmdb_controller.go b/pkg/controller/perconaservermongodb/psmdb_controller.go index af3d90a7a1..656a949cbb 100644 --- a/pkg/controller/perconaservermongodb/psmdb_controller.go +++ b/pkg/controller/perconaservermongodb/psmdb_controller.go @@ -506,6 +506,10 @@ func (r *ReconcilePerconaServerMongoDB) Reconcile(ctx context.Context, request r return reconcile.Result{}, errors.Wrap(err, "failed to start balancer") } + if err := r.disableBalancerIfNeeded(ctx, cr); err != nil { + return reconcile.Result{}, errors.Wrap(err, "failed to disable balancer") + } + if err := r.upgradeFCVIfNeeded(ctx, cr, *repls[0], cr.Status.MongoVersion); err != nil { return reconcile.Result{}, errors.Wrap(err, "failed to set FCV") }