]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
qa: add quiesce tests during fragmentation
authorPatrick Donnelly <pdonnell@redhat.com>
Tue, 23 Apr 2024 19:49:42 +0000 (15:49 -0400)
committerPatrick Donnelly <pdonnell@redhat.com>
Mon, 29 Apr 2024 21:08:39 +0000 (17:08 -0400)
Reproduces: https://tracker.ceph.com/issues/65603
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
qa/tasks/cephfs/test_quiesce.py

index 6b18055aff00635d386eff09d0f005e67929147c..c840b883cca861817b40d714167b74cb5136e8c9 100644 (file)
@@ -5,6 +5,7 @@ import os
 import re
 import secrets
 import tempfile
+import time
 import unittest
 from io import StringIO
 import os.path
@@ -591,6 +592,26 @@ class TestQuiesce(QuiesceTestCase):
         self._wait_for_quiesce_complete(reqid)
         self._verify_quiesce(root=self.subvolume)
 
+    def test_quiesce_dir_fragment(self):
+        """
+        That quiesce completes with fragmentation in the background.
+        """
+
+        self.config_set('mds', 'mds_bal_split_size', '10')
+        self.config_set('mds', 'mds_bal_merge_size', '1') # do not merge
+        self.config_set('mds', 'mds_bal_split_bits', '1')
+        self._configure_subvolume()
+        self._client_background_workload()
+
+        # time for the workload to get busy
+        time.sleep(5)
+
+        J = self.fs.rank_tell("quiesce", "path", self.subvolume)
+        log.debug(f"{J}")
+        reqid = self._reqid_tostr(J['op']['reqid'])
+        self._wait_for_quiesce_complete(reqid)
+        self._verify_quiesce(root=self.subvolume)
+
 
 class TestQuiesceMultiRank(QuiesceTestCase):
     """