]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
qa/cephfs/nfs: Add test for readonly export 38611/head
authorVarsha Rao <varao@redhat.com>
Tue, 15 Dec 2020 10:53:03 +0000 (10:53 +0000)
committerVarsha Rao <varao@redhat.com>
Tue, 22 Dec 2020 11:47:38 +0000 (11:47 +0000)
Fixes: https://tracker.ceph.com/issues/48622
Signed-off-by: Varsha Rao <varao@redhat.com>
qa/tasks/cephfs/test_nfs.py

index a4ab199a2626f86ebf088d30b46e7fecd01ef088..4a7f1e811094049ae916335e660c9c474ae0db63 100644 (file)
@@ -257,10 +257,11 @@ class TestNFS(MgrTestCase):
                 return
             raise
 
-        if check:
+        try:
             self.ctx.cluster.run(args=['sudo', 'touch', '/mnt/test'])
             out_mnt = self._sys_cmd(['sudo', 'ls', '/mnt'])
             self.assertEqual(out_mnt,  b'test\n')
+        finally:
             self.ctx.cluster.run(args=['sudo', 'umount', '/mnt'])
 
     def test_create_and_delete_cluster(self):
@@ -422,6 +423,21 @@ class TestNFS(MgrTestCase):
         self._cmd('fs', 'volume', 'rm', self.fs_name, '--yes-i-really-mean-it')
         self._test_delete_cluster()
 
+    def test_write_to_read_only_export(self):
+        '''
+        Test write to readonly export.
+        '''
+        self._test_create_cluster()
+        self._create_export(export_id='1', create_fs=True, extra_cmd=[self.pseudo_path, '--readonly'])
+        port, ip = self._get_port_ip_info()
+        try:
+            self._test_mnt(self.pseudo_path, port, ip)
+        except CommandFailedError as e:
+            # Write to cephfs export should fail for test to pass
+            if e.exitstatus != errno.EPERM:
+                raise
+        self._test_delete_cluster()
+
     def test_cluster_info(self):
         '''
         Test cluster info outputs correct ip and hostname