]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/dashboard: fix bucket objects and size calculations 41630/head
authorAvan Thakkar <athakkar@localhost.localdomain>
Tue, 1 Jun 2021 14:21:16 +0000 (19:51 +0530)
committerAvan Thakkar <athakkar@localhost.localdomain>
Wed, 2 Jun 2021 07:36:56 +0000 (13:06 +0530)
Fixes: https://tracker.ceph.com/issues/51035
Signed-off-by: Avan Thakkar <athakkar@redhat.com>
src/pybind/mgr/dashboard/frontend/src/app/ceph/rgw/rgw-bucket-list/rgw-bucket-list.component.spec.ts
src/pybind/mgr/dashboard/frontend/src/app/ceph/rgw/rgw-bucket-list/rgw-bucket-list.component.ts

index 3e48c34e8b97b285a2f5f464602b59172d7eea31..94dc9f070a15be6d45994899197913328a4ba423 100644 (file)
@@ -98,7 +98,7 @@ describe('RgwBucketListComponent', () => {
               size_actual: 4,
               num_objects: 2
             },
-            'rgw.another': {
+            'rgw.none': {
               size_actual: 6,
               num_objects: 6
             }
@@ -119,17 +119,17 @@ describe('RgwBucketListComponent', () => {
         owner: 'testid',
         usage: {
           'rgw.main': { size_actual: 4, num_objects: 2 },
-          'rgw.another': { size_actual: 6, num_objects: 6 }
+          'rgw.none': { size_actual: 6, num_objects: 6 }
         },
         bucket_quota: {
           max_size: 20,
           max_objects: 10,
           enabled: true
         },
-        bucket_size: 10,
-        num_objects: 8,
-        size_usage: 0.5,
-        object_usage: 0.8
+        bucket_size: 4,
+        num_objects: 2,
+        size_usage: 0.2,
+        object_usage: 0.2
       }
     ]);
   });
index 0adc33a1057d6ec387cb13968f32011805431cc5..0355e4808a3ca7c50586767ba115df3abe28bf23 100644 (file)
@@ -125,20 +125,18 @@ export class RgwBucketListComponent extends ListWithDetails implements OnInit {
 
   transformBucketData() {
     _.forEach(this.buckets, (bucketKey) => {
-      const usageList = bucketKey['usage'];
       const maxBucketSize = bucketKey['bucket_quota']['max_size'];
       const maxBucketObjects = bucketKey['bucket_quota']['max_objects'];
-      let totalBucketSize = 0;
-      let numOfObjects = 0;
-      _.forEach(usageList, (usageKey) => {
-        totalBucketSize = totalBucketSize + usageKey.size_actual;
-        numOfObjects = numOfObjects + usageKey.num_objects;
-      });
-      bucketKey['bucket_size'] = totalBucketSize;
-      bucketKey['num_objects'] = numOfObjects;
-      bucketKey['size_usage'] = maxBucketSize > 0 ? totalBucketSize / maxBucketSize : undefined;
+      bucketKey['bucket_size'] = 0;
+      bucketKey['num_objects'] = 0;
+      if (!_.isEmpty(bucketKey['usage'])) {
+        bucketKey['bucket_size'] = bucketKey['usage']['rgw.main']['size_actual'];
+        bucketKey['num_objects'] = bucketKey['usage']['rgw.main']['num_objects'];
+      }
+      bucketKey['size_usage'] =
+        maxBucketSize > 0 ? bucketKey['bucket_size'] / maxBucketSize : undefined;
       bucketKey['object_usage'] =
-        maxBucketObjects > 0 ? numOfObjects / maxBucketObjects : undefined;
+        maxBucketObjects > 0 ? bucketKey['num_objects'] / maxBucketObjects : undefined;
     });
   }