]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
qa: test fio with multiple versions of NFS 62031/head
authorDhairya Parmar <dparmar@redhat.com>
Thu, 27 Feb 2025 12:16:40 +0000 (17:46 +0530)
committerDhairya Parmar <dparmar@redhat.com>
Wed, 12 Mar 2025 11:23:44 +0000 (16:53 +0530)
This is coming from https://tracker.ceph.com/issues/69347, basically fio fails in
teuthology with v4.2 but passes with older versions (like v4.1). v4.2 on local/QE
machines has worked fine. This needs RCA, looking at libcephfs logs, it doesn't
look like it's CephFS. A thorough probe is needed, hence adding YAMLs to test
fio with different versions which also helps testing ceph client with different
version of NFS to help trace any regression.

unset.yaml is basically 4.2 for now but That may change someday or the nfs linux
driver may soon "add" things beyond 4.2 without adding an explicit version bump.

Fixes: https://tracker.ceph.com/issues/70203
Signed-off-by: Dhairya Parmar <dparmar@redhat.com>
Co-authored-by: Patrick Donnelly <pdonnell@ibm.com>
qa/suites/fs/nfs/nfs-version/$ [new file with mode: 0644]
qa/suites/fs/nfs/nfs-version/.qa [new symlink]
qa/suites/fs/nfs/nfs-version/4.1.yaml [new file with mode: 0644]
qa/suites/fs/nfs/nfs-version/4.2.yaml [new file with mode: 0644]
qa/suites/fs/nfs/nfs-version/unset.yaml [new file with mode: 0644]
qa/tasks/cephfs/test_nfs.py

diff --git a/qa/suites/fs/nfs/nfs-version/$ b/qa/suites/fs/nfs/nfs-version/$
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/qa/suites/fs/nfs/nfs-version/.qa b/qa/suites/fs/nfs/nfs-version/.qa
new file mode 120000 (symlink)
index 0000000..a602a03
--- /dev/null
@@ -0,0 +1 @@
+../.qa/
\ No newline at end of file
diff --git a/qa/suites/fs/nfs/nfs-version/4.1.yaml b/qa/suites/fs/nfs/nfs-version/4.1.yaml
new file mode 100644 (file)
index 0000000..729a853
--- /dev/null
@@ -0,0 +1,2 @@
+nfs:
+  vers: 4.1
diff --git a/qa/suites/fs/nfs/nfs-version/4.2.yaml b/qa/suites/fs/nfs/nfs-version/4.2.yaml
new file mode 100644 (file)
index 0000000..850afbd
--- /dev/null
@@ -0,0 +1,2 @@
+nfs:
+  vers: 4.2
diff --git a/qa/suites/fs/nfs/nfs-version/unset.yaml b/qa/suites/fs/nfs/nfs-version/unset.yaml
new file mode 100644 (file)
index 0000000..076b224
--- /dev/null
@@ -0,0 +1,2 @@
+nfs:
+  vers: latest
index 0a1c07dce04bb36355926f3aff0caafd4b24793d..eab0de0333d63029d52171323fdc7694b155d8ee 100644 (file)
@@ -379,9 +379,19 @@ class TestNFS(MgrTestCase):
         tries = 3
         while True:
             try:
-                self.ctx.cluster.run(
-                    args=['sudo', 'mount', '-t', 'nfs', '-o', f'port={port}',
-                          f'{ip}:{pseudo_path}', '/mnt'])
+                # TODO: NFS V4.2 is failing with libaio read.
+                # TODO: Reference: https://tracker.ceph.com/issues/70203
+                nfs_version_conf = self.ctx['config'].get('nfs', {})
+                nfs_version = nfs_version_conf.get('vers', 'latest')
+                if nfs_version == "latest":
+                    self.ctx.cluster.run(
+                        args=['sudo', 'mount', '-t', 'nfs', '-o', f'port={port}',
+                              f'{ip}:{pseudo_path}', '/mnt'])
+                else:
+                    self.ctx.cluster.run(
+                        args=['sudo', 'mount', '-t', 'nfs', '-o', f'port={port},vers={nfs_version}',
+                              f'{ip}:{pseudo_path}', '/mnt'])
+                    pass
                 break
             except CommandFailedError:
                 if tries: