From a55c330dd106e23d92dc050221e8fca165299562 Mon Sep 17 00:00:00 2001 From: Xiubo Li Date: Mon, 4 Dec 2023 14:15:47 +0800 Subject: [PATCH] qa/cephfs: add 'root_squash' check from the keyring Fixes: https://tracker.ceph.com/issues/63141 Signed-off-by: Xiubo Li (cherry picked from commit bdabe22a0d3a4c0bbc9da3697add00639f688c18) --- qa/tasks/cephfs/caps_helper.py | 4 +++- qa/tasks/cephfs/test_admin.py | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/qa/tasks/cephfs/caps_helper.py b/qa/tasks/cephfs/caps_helper.py index 2b02ea71ea041..c9ac2803e4785 100644 --- a/qa/tasks/cephfs/caps_helper.py +++ b/qa/tasks/cephfs/caps_helper.py @@ -66,7 +66,7 @@ def gen_mds_cap_str(caps): caps = ((perm1, fsname1, cephfs_mntpt1), (perm2, fsname2, cephfs_mntpt2)) """ - def _gen_mds_cap_str(perm, fsname=None, cephfs_mntpt='/'): + def _gen_mds_cap_str(perm, fsname=None, cephfs_mntpt='/', root_squash=False): mds_cap = f'allow {perm}' if fsname: mds_cap += f' fsname={fsname}' @@ -74,6 +74,8 @@ def gen_mds_cap_str(caps): if cephfs_mntpt[0] == '/': cephfs_mntpt = cephfs_mntpt[1:] mds_cap += f' path={cephfs_mntpt}' + if root_squash: + mds_cap += ' root_squash' return mds_cap if len(caps) == 1: diff --git a/qa/tasks/cephfs/test_admin.py b/qa/tasks/cephfs/test_admin.py index ee2c72f900ef8..afac6f1dfcbd2 100644 --- a/qa/tasks/cephfs/test_admin.py +++ b/qa/tasks/cephfs/test_admin.py @@ -1688,7 +1688,7 @@ class TestFsAuthorizeUpdate(CephFSTestCase): keyring = self.fs.mon_manager.get_keyring(self.client_id) moncap = gen_mon_cap_str((('r', self.fs.name,),)) osdcap = gen_osd_cap_str(((PERM, self.fs.name),)) - mdscap = gen_mds_cap_str(((PERM, self.fs.name, PATH),)) + mdscap = gen_mds_cap_str(((PERM, self.fs.name, PATH, True),)) for cap in (moncap, osdcap, mdscap): self.assertIn(cap, keyring) self._remount(self.mount_a, self.fs.name, keyring, PATH) -- 2.39.5