From: Kotresh HR Date: Mon, 23 Nov 2020 06:08:27 +0000 (+0530) Subject: mgr/volumes: Add tenant_id option to subvolume authorize X-Git-Tag: v14.2.17~53^2~13 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=228a5c0ff0e9a25d9ebbc63ab0c96438a0757919;p=ceph.git mgr/volumes: Add tenant_id option to subvolume authorize Fixes: https://tracker.ceph.com/issues/44931 Signed-off-by: Kotresh HR (cherry picked from commit 39acfcc91c1b6a85f6fa96a5e894d81a7225f9dc) --- diff --git a/src/pybind/mgr/volumes/fs/volume.py b/src/pybind/mgr/volumes/fs/volume.py index 31f74d438b0c..09051ab9f1b8 100644 --- a/src/pybind/mgr/volumes/fs/volume.py +++ b/src/pybind/mgr/volumes/fs/volume.py @@ -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) diff --git a/src/pybind/mgr/volumes/module.py b/src/pybind/mgr/volumes/module.py index c5d9e6d278b0..a538a86fd971 100644 --- a/src/pybind/mgr/volumes/module.py +++ b/src/pybind/mgr/volumes/module.py @@ -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):