]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/dashboard: show RGW tenant user id correctly in 'NFS create export' form. 41447/head
authorAlfonso Martínez <almartin@redhat.com>
Thu, 20 May 2021 15:51:35 +0000 (17:51 +0200)
committerAlfonso Martínez <almartin@redhat.com>
Tue, 25 May 2021 06:24:25 +0000 (08:24 +0200)
Fixes: https://tracker.ceph.com/issues/50909
Signed-off-by: Alfonso Martínez <almartin@redhat.com>
src/pybind/mgr/dashboard/frontend/src/app/ceph/nfs/nfs-form/nfs-form.component.spec.ts
src/pybind/mgr/dashboard/frontend/src/app/ceph/nfs/nfs-form/nfs-form.component.ts

index 12663f800393832595e2de6dc0448d3263812ebf..e567abfb562b69cea1be27e0608d46da8ef91f56 100644 (file)
@@ -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', () => {
index 2b110abb48016cc9f36f8cd479d24ff3bbc10c30..3e23b9878b95d82c9bdc3feb6efe9e679d97aae2 100644 (file)
@@ -301,7 +301,8 @@ export class NfsFormComponent extends CdForm implements OnInit {
           this.rgwUserService.list().subscribe((result: any) => {
             result.forEach((user: Record<string, any>) => {
               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);
               }
             });
           });