]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
qa: fix testcase 'test_cluster_set_user_config_with_non_existing_clusterid'
authordparmar18 <dparmar@redhat.com>
Fri, 17 Feb 2023 18:35:19 +0000 (00:05 +0530)
committerDhairya Parmar <dparmar@redhat.com>
Fri, 31 Mar 2023 08:21:31 +0000 (13:51 +0530)
Fixes: https://tracker.ceph.com/issues/58758
Signed-off-by: Dhairya Parmar <dparmar@redhat.com>
(cherry picked from commit 3b3fa71edfad45a4f8b9085dd109b756d1f0778b)

qa/tasks/cephfs/test_nfs.py

index 8dfd88b96c16e796943999334955b8a3b4a365b6..e9a6e6b40b7e36421eaaccc933f90a4555fbac5e 100644 (file)
@@ -640,15 +640,20 @@ class TestNFS(MgrTestCase):
         '''
         Test setting user config for non-existing nfs cluster.
         '''
-        try:
-            cluster_id = 'invalidtest'
-            self.ctx.cluster.run(args=['ceph', 'nfs', 'cluster',
-                'config', 'set', self.cluster_id, '-i', '-'], stdin='testing')
-            self.fail(f"User config set for non-existing cluster {cluster_id}")
-        except CommandFailedError as e:
-            # Command should fail for test to pass
-            if e.exitstatus != errno.ENOENT:
-                raise
+        cluster_id = 'invalidtest'
+        with contextutil.safe_while(sleep=3, tries=3) as proceed:
+            while proceed():
+                try:
+                    self.ctx.cluster.run(args=['ceph', 'nfs', 'cluster',
+                                               'config', 'set', cluster_id,
+                                               '-i', '-'], stdin='testing')
+                    self.fail(f"User config set for non-existing cluster"
+                              f"{cluster_id}")
+                except CommandFailedError as e:
+                    # Command should fail for test to pass
+                    if e.exitstatus == errno.ENOENT:
+                        break
+                    log.warning('exitstatus != ENOENT, retrying')
 
     def test_cluster_reset_user_config_with_non_existing_clusterid(self):
         '''