]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/dashboard: Fix user/bucket count in rgw overview dashboard 53818/head
authorAashish Sharma <aasharma@li-e74156cc-2f67-11b2-a85c-e98659a63c5c.ibm.com>
Mon, 25 Sep 2023 08:16:58 +0000 (13:46 +0530)
committerAashish Sharma <aasharma@li-e74156cc-2f67-11b2-a85c-e98659a63c5c.ibm.com>
Wed, 4 Oct 2023 11:11:16 +0000 (16:41 +0530)
Donot consider buckets/users count from daemons that have similar realm
name

Fixes: https://tracker.ceph.com/issues/62964
Signed-off-by: Aashish Sharma <aasharma@redhat.com>
(cherry picked from commit bfdcabe9d967ab28040173107bfd3f94235e3921)

src/pybind/mgr/dashboard/controllers/rgw.py

index 38963880bee57d9c8b5b23b5f7918ad709ea7e21..65c809ebec02d17292547bfeb533836a3cbc3e05 100644 (file)
@@ -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