From: Aashish Sharma Date: Mon, 25 Sep 2023 08:16:58 +0000 (+0530) Subject: mgr/dashboard: Fix user/bucket count in rgw overview dashboard X-Git-Tag: v18.2.1~226^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=861a1a02785f2b91945a0c1c59d8d1523ddc51ce;p=ceph.git mgr/dashboard: Fix user/bucket count in rgw overview dashboard Donot consider buckets/users count from daemons that have similar realm name Fixes: https://tracker.ceph.com/issues/62964 Signed-off-by: Aashish Sharma (cherry picked from commit bfdcabe9d967ab28040173107bfd3f94235e3921) --- diff --git a/src/pybind/mgr/dashboard/controllers/rgw.py b/src/pybind/mgr/dashboard/controllers/rgw.py index 38963880bee..65c809ebec0 100644 --- a/src/pybind/mgr/dashboard/controllers/rgw.py +++ b/src/pybind/mgr/dashboard/controllers/rgw.py @@ -450,11 +450,22 @@ class RgwBucketUi(RgwBucket): users_count = 0 daemon_object = RgwDaemon() daemons = json.loads(daemon_object.list()) + unique_realms = set() for daemon in daemons: - buckets = json.loads(RgwBucket.list(self, daemon_name=daemon['id'])) - users = json.loads(RgwUser.list(self, daemon_name=daemon['id'])) - users_count += len(users) - buckets_count += len(buckets) + realm_name = daemon.get('realm_name', None) + if realm_name: + if realm_name not in unique_realms: + unique_realms.add(realm_name) + buckets = json.loads(RgwBucket.list(self, daemon_name=daemon['id'])) + users = json.loads(RgwUser.list(self, daemon_name=daemon['id'])) + users_count += len(users) + buckets_count += len(buckets) + else: + buckets = json.loads(RgwBucket.list(self, daemon_name=daemon['id'])) + users = json.loads(RgwUser.list(self, daemon_name=daemon['id'])) + users_count = len(users) + buckets_count = len(buckets) + return { 'buckets_count': buckets_count, 'users_count': users_count