From ce580cd7fec81547fe2205ffef7e1e8dd4651035 Mon Sep 17 00:00:00 2001 From: Avan Thakkar Date: Tue, 1 Jun 2021 19:51:16 +0530 Subject: [PATCH] mgr/dashboard: fix bucket objects and size calculations Fixes: https://tracker.ceph.com/issues/51035 Signed-off-by: Avan Thakkar (cherry picked from commit 9f5ef98d9c88a91b80e622f16f7061eddff79b2c) --- .../rgw-bucket-list.component.spec.ts | 12 +++++------ .../rgw-bucket-list.component.ts | 20 +++++++++---------- 2 files changed, 15 insertions(+), 17 deletions(-) diff --git a/src/pybind/mgr/dashboard/frontend/src/app/ceph/rgw/rgw-bucket-list/rgw-bucket-list.component.spec.ts b/src/pybind/mgr/dashboard/frontend/src/app/ceph/rgw/rgw-bucket-list/rgw-bucket-list.component.spec.ts index 3e48c34e8b97b..94dc9f070a15b 100644 --- a/src/pybind/mgr/dashboard/frontend/src/app/ceph/rgw/rgw-bucket-list/rgw-bucket-list.component.spec.ts +++ b/src/pybind/mgr/dashboard/frontend/src/app/ceph/rgw/rgw-bucket-list/rgw-bucket-list.component.spec.ts @@ -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 } ]); }); diff --git a/src/pybind/mgr/dashboard/frontend/src/app/ceph/rgw/rgw-bucket-list/rgw-bucket-list.component.ts b/src/pybind/mgr/dashboard/frontend/src/app/ceph/rgw/rgw-bucket-list/rgw-bucket-list.component.ts index 0adc33a1057d6..0355e4808a3ca 100644 --- a/src/pybind/mgr/dashboard/frontend/src/app/ceph/rgw/rgw-bucket-list/rgw-bucket-list.component.ts +++ b/src/pybind/mgr/dashboard/frontend/src/app/ceph/rgw/rgw-bucket-list/rgw-bucket-list.component.ts @@ -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; }); } -- 2.39.5