]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/volumes: Add tenant_id option to subvolume authorize
authorKotresh HR <khiremat@redhat.com>
Mon, 23 Nov 2020 06:08:27 +0000 (11:38 +0530)
committerKotresh HR <khiremat@redhat.com>
Fri, 5 Feb 2021 18:26:08 +0000 (23:56 +0530)
Fixes: https://tracker.ceph.com/issues/44931
Signed-off-by: Kotresh HR <khiremat@redhat.com>
(cherry picked from commit 39acfcc91c1b6a85f6fa96a5e894d81a7225f9dc)

src/pybind/mgr/volumes/fs/volume.py
src/pybind/mgr/volumes/module.py

index 31f74d438b0c715143b87734aace34590ed46678..09051ab9f1b8ecfa13db4757e66860a9a885c1d9 100644 (file)
@@ -215,12 +215,13 @@ class VolumeClient(object):
         authid      = kwargs['auth_id']
         groupname   = kwargs['group_name']
         accesslevel = kwargs['access_level']
+        tenant_id   = kwargs['tenant_id']
 
         try:
             with open_volume(self, volname) as fs_handle:
                 with open_group(fs_handle, self.volspec, groupname) as group:
                     with open_subvol(self.mgr, fs_handle, self.volspec, group, subvolname, SubvolumeOpType.ALLOW_ACCESS) as subvolume:
-                        key = subvolume.authorize(authid, accesslevel)
+                        key = subvolume.authorize(authid, accesslevel, tenant_id)
                         ret = 0, key, ""
         except VolumeException as ve:
             ret = self.volume_exception_to_retval(ve)
index c5d9e6d278b015d306d5575610c1b0aa4f4899c6..a538a86fd971e74cd03c76c51666560a846bd026 100644 (file)
@@ -121,7 +121,8 @@ class Module(orchestrator.OrchestratorClientMixin, MgrModule):
                    'name=sub_name,type=CephString '
                    'name=auth_id,type=CephString '
                    'name=group_name,type=CephString,req=false '
-                   'name=access_level,type=CephString,req=false ',
+                   'name=access_level,type=CephString,req=false '
+                   'name=tenant_id,type=CephString,req=false ',
             'desc': "Allow a cephx auth ID access to a subvolume",
             'perm': 'rw'
         },
@@ -422,7 +423,8 @@ class Module(orchestrator.OrchestratorClientMixin, MgrModule):
                                            sub_name=cmd['sub_name'],
                                            auth_id=cmd['auth_id'],
                                            group_name=cmd.get('group_name', None),
-                                           access_level=cmd.get('access_level', 'rw'))
+                                           access_level=cmd.get('access_level', 'rw'),
+                                           tenant_id=cmd.get('tenant_id', None))
 
     @mgr_cmd_wrap
     def _cmd_fs_subvolume_deauthorize(self, inbuf, cmd):