From: Rishabh Dave Date: Mon, 5 May 2025 07:13:35 +0000 (+0530) Subject: qa/cephfs: make "snapshot getpath" tests compatible with subvol v3 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=972a56e45258982464ef3462c3b2b384cb75cbaf;p=ceph-ci.git qa/cephfs: make "snapshot getpath" tests compatible with subvol v3 Signed-off-by: Rishabh Dave --- diff --git a/qa/tasks/cephfs/test_volumes.py b/qa/tasks/cephfs/test_volumes.py index c35f577c52f..9da486cf163 100644 --- a/qa/tasks/cephfs/test_volumes.py +++ b/qa/tasks/cephfs/test_volumes.py @@ -7011,6 +7011,24 @@ class TestSubvolumeSnapshotGetpath(TestVolumesHelper): subvol_uuid = os.path.basename(subvol_path) return subvol_uuid + def get_subvol_uuid_for_v3(self, subvol_name, group_name=None): + ''' + Return the UUID directory component obtained from the path of + subvolume. + ''' + cmd = f'fs subvolume getpath {self.volname} {subvol_name}' + if group_name: + cmd += f' {group_name}' + + subvol_path = self.get_ceph_cmd_stdout(cmd).strip() + subvol_uuid = os.path.basename(os.path.dirname(subvol_path)) + return subvol_uuid + + def construct_snap_path_for_v3(self, subvol_name, snap_name, uuid, + group_name='_nogroup'): + return os.path.join('/volumes', group_name, subvol_name, 'roots', + uuid, '.snap', snap_name, 'mnt') + def construct_snap_path_for_v2(self, subvol_name, snap_name, uuid, group_name='_nogroup'): return os.path.join('/volumes', group_name, subvol_name, '.snap', @@ -7035,14 +7053,14 @@ class TestSubvolumeSnapshotGetpath(TestVolumesHelper): snap_name = self._gen_subvol_snap_name() self.run_ceph_cmd(f'fs subvolume create {self.volname} {subvol_name}') - sv_uuid = self.get_subvol_uuid(subvol_name) + sv_uuid = self.get_subvol_uuid_for_v3(subvol_name) self.run_ceph_cmd(f'fs subvolume snapshot create {self.volname} ' f'{subvol_name} {snap_name}') snap_path = self.get_ceph_cmd_stdout(f'fs subvolume snapshot getpath ' f'{self.volname} {subvol_name} ' f'{snap_name}').strip() - exp_snap_path = self.construct_snap_path_for_v2(subvol_name, snap_name, + exp_snap_path = self.construct_snap_path_for_v3(subvol_name, snap_name, sv_uuid) self.assertEqual(snap_path, exp_snap_path) @@ -7059,7 +7077,7 @@ class TestSubvolumeSnapshotGetpath(TestVolumesHelper): self.run_ceph_cmd(f'fs subvolumegroup create {self.volname} {group_name}') self.run_ceph_cmd(f'fs subvolume create {self.volname} {subvol_name} ' f'{group_name}') - sv_uuid = self.get_subvol_uuid(subvol_name, group_name) + sv_uuid = self.get_subvol_uuid_for_v3(subvol_name, group_name) self.run_ceph_cmd(f'fs subvolume snapshot create {self.volname} ' f'{subvol_name} {snap_name} {group_name}') @@ -7067,7 +7085,7 @@ class TestSubvolumeSnapshotGetpath(TestVolumesHelper): f'{self.volname} {subvol_name} ' f'{snap_name} {group_name}')\ .strip() - exp_snap_path = self.construct_snap_path_for_v2(subvol_name, snap_name, + exp_snap_path = self.construct_snap_path_for_v3(subvol_name, snap_name, sv_uuid, group_name) self.assertEqual(snap_path, exp_snap_path) @@ -7081,7 +7099,7 @@ class TestSubvolumeSnapshotGetpath(TestVolumesHelper): snap_name = self._gen_subvol_snap_name() self.run_ceph_cmd(f'fs subvolume create {self.volname} {subvol_name}') - sv_uuid = self.get_subvol_uuid(subvol_name) + sv_uuid = self.get_subvol_uuid_for_v3(subvol_name) self.run_ceph_cmd(f'fs subvolume snapshot create {self.volname} ' f'{subvol_name} {snap_name}') self.run_ceph_cmd(f'fs subvolume rm {self.volname} {subvol_name} ' @@ -7090,7 +7108,7 @@ class TestSubvolumeSnapshotGetpath(TestVolumesHelper): snap_path = self.get_ceph_cmd_stdout(f'fs subvolume snapshot getpath ' f'{self.volname} {subvol_name} ' f'{snap_name}').strip() - exp_snap_path = self.construct_snap_path_for_v2(subvol_name, snap_name, + exp_snap_path = self.construct_snap_path_for_v3(subvol_name, snap_name, sv_uuid) self.assertEqual(snap_path, exp_snap_path) @@ -7108,7 +7126,7 @@ class TestSubvolumeSnapshotGetpath(TestVolumesHelper): self.run_ceph_cmd(f'fs subvolumegroup create {self.volname} {group_name}') self.run_ceph_cmd(f'fs subvolume create {self.volname} {subvol_name} ' f'{group_name}') - sv_uuid = self.get_subvol_uuid(subvol_name, group_name) + sv_uuid = self.get_subvol_uuid_for_v3(subvol_name, group_name) self.run_ceph_cmd(f'fs subvolume snapshot create {self.volname} ' f'{subvol_name} {snap_name} {group_name}') self.run_ceph_cmd(f'fs subvolume rm {self.volname} {subvol_name} ' @@ -7118,7 +7136,7 @@ class TestSubvolumeSnapshotGetpath(TestVolumesHelper): f'{self.volname} {subvol_name} ' f'{snap_name} {group_name}')\ .strip() - exp_snap_path = self.construct_snap_path_for_v2(subvol_name, snap_name, + exp_snap_path = self.construct_snap_path_for_v3(subvol_name, snap_name, sv_uuid, group_name) self.assertEqual(snap_path, exp_snap_path)