]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
qa/tasks/ceph_manager: tolerate failure to force backfill/recoery
authorSage Weil <sage@redhat.com>
Wed, 3 Jan 2018 14:37:02 +0000 (08:37 -0600)
committerNathan Cutler <ncutler@suse.com>
Tue, 16 Jan 2018 13:31:14 +0000 (14:31 +0100)
The pool may have been deleted out from underneath us.

Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 8651e15c93ce419529b82c4c19feef1ab2b647c8)

qa/tasks/ceph_manager.py

index 5a89f235f2d7e4f2e1554c65cfe44b01e14ae5ad..edbb2ae3ec6384c6812e8fa7255f6aca6c84a324 100644 (file)
@@ -612,10 +612,14 @@ class Thrasher:
         backfill = random.random() >= 0.5
         j = self.ceph_manager.get_pgids_to_force(backfill)
         if j:
-            if backfill:
-                self.ceph_manager.raw_cluster_cmd('pg', 'force-backfill', *j)
-            else:
-                self.ceph_manager.raw_cluster_cmd('pg', 'force-recovery', *j)
+            try:
+                if backfill:
+                    self.ceph_manager.raw_cluster_cmd('pg', 'force-backfill', *j)
+                else:
+                    self.ceph_manager.raw_cluster_cmd('pg', 'force-recovery', *j)
+            except CommandFailedError:
+                self.log('Failed to force backfill|recovery, ignoring')
+
 
     def cancel_force_recovery(self):
         """
@@ -624,10 +628,13 @@ class Thrasher:
         backfill = random.random() >= 0.5
         j = self.ceph_manager.get_pgids_to_cancel_force(backfill)
         if j:
-            if backfill:
-                self.ceph_manager.raw_cluster_cmd('pg', 'cancel-force-backfill', *j)
-            else:
-                self.ceph_manager.raw_cluster_cmd('pg', 'cancel-force-recovery', *j)
+            try:
+                if backfill:
+                    self.ceph_manager.raw_cluster_cmd('pg', 'cancel-force-backfill', *j)
+                else:
+                    self.ceph_manager.raw_cluster_cmd('pg', 'cancel-force-recovery', *j)
+            except CommandFailedError:
+                self.log('Failed to force backfill|recovery, ignoring')
 
     def force_cancel_recovery(self):
         """