From: Kamoltat Date: Wed, 1 Mar 2023 20:32:47 +0000 (+0000) Subject: pybind/mgr/pg_autoscaler: Reorderd if statement for the func: _maybe_adjust X-Git-Tag: v18.2.1~289^2~1 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=cf2aeae3645be23ddc3b89af2a3a3e635c9cbb14;p=ceph-ci.git pybind/mgr/pg_autoscaler: Reorderd if statement for the func: _maybe_adjust Problem: In the func `_maybe_adjust` we have this condition where `if not p['would_adjust']: continue` which would get triggered before `if p['pg_autoscale_mode'] == 'warn':` if we don't have `pg_autoscale_mode` as `on`. This causes: the autoscaler to not throw any warnings. Solution: Move `if p['pg_autoscale_mode'] == 'warn':` to be higher than `if not p['would_adjust']: continue`. Fixes: https://tracker.ceph.com/issues/58894 Signed-off-by: Kamoltat (cherry picked from commit c43fe7f07631bd0d795b711a100b9220b996ace0) --- diff --git a/src/pybind/mgr/pg_autoscaler/module.py b/src/pybind/mgr/pg_autoscaler/module.py index b7a95fc7b97..13e1cff9e88 100644 --- a/src/pybind/mgr/pg_autoscaler/module.py +++ b/src/pybind/mgr/pg_autoscaler/module.py @@ -719,8 +719,6 @@ class PgAutoscaler(MgrModule): if p['target_bytes'] > 0: total_target_bytes[p['crush_root_id']] += p['target_bytes'] * p['raw_used_rate'] target_bytes_pools[p['crush_root_id']].append(p['pool_name']) - if not p['would_adjust']: - continue if p['pg_autoscale_mode'] == 'warn': msg = 'Pool %s has %d placement groups, should have %d' % ( p['pool_name'], @@ -730,7 +728,8 @@ class PgAutoscaler(MgrModule): too_few.append(msg) else: too_many.append(msg) - + if not p['would_adjust']: + continue if p['pg_autoscale_mode'] == 'on': # Note that setting pg_num actually sets pg_num_target (see # OSDMonitor.cc)