From 6f8c13fecadb83c5abc6c3b3922d8374ad071c8d Mon Sep 17 00:00:00 2001 From: =?utf8?q?Alfonso=20Mart=C3=ADnez?= Date: Thu, 20 May 2021 17:51:35 +0200 Subject: [PATCH] mgr/dashboard: show RGW tenant user id correctly in 'NFS create export' form. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Fixes: https://tracker.ceph.com/issues/50909 Signed-off-by: Alfonso Martínez (cherry picked from commit 440d6d643c172252790791ec38ce27364ccc183e) --- .../ceph/nfs/nfs-form/nfs-form.component.spec.ts | 15 +++++++++++++-- .../app/ceph/nfs/nfs-form/nfs-form.component.ts | 3 ++- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/pybind/mgr/dashboard/frontend/src/app/ceph/nfs/nfs-form/nfs-form.component.spec.ts b/src/pybind/mgr/dashboard/frontend/src/app/ceph/nfs/nfs-form/nfs-form.component.spec.ts index 12663f8003938..e567abfb562b6 100644 --- a/src/pybind/mgr/dashboard/frontend/src/app/ceph/nfs/nfs-form/nfs-form.component.spec.ts +++ b/src/pybind/mgr/dashboard/frontend/src/app/ceph/nfs/nfs-form/nfs-form.component.spec.ts @@ -58,7 +58,9 @@ describe('NfsFormComponent', () => { httpTesting.expectOne('ui-api/nfs-ganesha/fsals').flush(['CEPH', 'RGW']); httpTesting.expectOne('ui-api/nfs-ganesha/cephx/clients').flush(['admin', 'fs', 'rgw']); httpTesting.expectOne('ui-api/nfs-ganesha/cephfs/filesystems').flush([{ id: 1, name: 'a' }]); - httpTesting.expectOne(`api/rgw/user?${RgwHelper.DAEMON_QUERY_PARAM}`).flush(['test', 'dev']); + httpTesting + .expectOne(`api/rgw/user?${RgwHelper.DAEMON_QUERY_PARAM}`) + .flush(['test', 'dev', 'tenant$user']); const user_dev = { suspended: 0, user_id: 'dev', @@ -71,6 +73,15 @@ describe('NfsFormComponent', () => { keys: ['a'] }; httpTesting.expectOne(`api/rgw/user/test?${RgwHelper.DAEMON_QUERY_PARAM}`).flush(user_test); + const tenantUser = { + suspended: 0, + tenant: 'tenant', + user_id: 'user', + keys: ['a'] + }; + httpTesting + .expectOne(`api/rgw/user/tenant%24user?${RgwHelper.DAEMON_QUERY_PARAM}`) + .flush(tenantUser); httpTesting.verify(); }); @@ -87,7 +98,7 @@ describe('NfsFormComponent', () => { ]); expect(component.allCephxClients).toEqual(['admin', 'fs', 'rgw']); expect(component.allFsNames).toEqual([{ id: 1, name: 'a' }]); - expect(component.allRgwUsers).toEqual(['dev']); + expect(component.allRgwUsers).toEqual(['dev', 'tenant$user']); }); it('should create the form', () => { diff --git a/src/pybind/mgr/dashboard/frontend/src/app/ceph/nfs/nfs-form/nfs-form.component.ts b/src/pybind/mgr/dashboard/frontend/src/app/ceph/nfs/nfs-form/nfs-form.component.ts index 2b110abb48016..3e23b9878b95d 100644 --- a/src/pybind/mgr/dashboard/frontend/src/app/ceph/nfs/nfs-form/nfs-form.component.ts +++ b/src/pybind/mgr/dashboard/frontend/src/app/ceph/nfs/nfs-form/nfs-form.component.ts @@ -301,7 +301,8 @@ export class NfsFormComponent extends CdForm implements OnInit { this.rgwUserService.list().subscribe((result: any) => { result.forEach((user: Record) => { if (user.suspended === 0 && user.keys.length > 0) { - this.allRgwUsers.push(user.user_id); + const userId = user.tenant ? `${user.tenant}$${user.user_id}` : user.user_id; + this.allRgwUsers.push(userId); } }); }); -- 2.39.5