]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
qa/tasks/ceph_manager: always fix pgp_num when done with thrashosd task 16137/head
authorKefu Chai <kchai@redhat.com>
Wed, 3 May 2017 10:28:01 +0000 (18:28 +0800)
committerNathan Cutler <ncutler@suse.com>
Wed, 5 Jul 2017 21:23:07 +0000 (23:23 +0200)
Fixes: http://tracker.ceph.com/issues/19771
Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit da1161cbd8b50b8a980e8a3b48154a97f988426c)

qa/tasks/ceph_manager.py

index d4a23a00c5d49fb5c6fcbd39fb1dcee062abbb94..b0d829c1339f12af432d3863ba8e3a6fcba581e1 100644 (file)
@@ -529,8 +529,11 @@ class Thrasher:
         """
         if pool is None:
             pool = self.ceph_manager.get_pool()
+            force = False
+        else:
+            force = True
         self.log("fixing pg num pool %s" % (pool,))
-        if self.ceph_manager.set_pool_pgpnum(pool):
+        if self.ceph_manager.set_pool_pgpnum(pool, force):
             self.pools_to_fix_pgp_num.discard(pool)
 
     def test_pool_min_size(self):
@@ -1517,14 +1520,14 @@ class CephManager:
             self.pools[pool_name] = new_pg_num
             return True
 
-    def set_pool_pgpnum(self, pool_name):
+    def set_pool_pgpnum(self, pool_name, force):
         """
         Set pgpnum property of pool_name pool.
         """
         with self.lock:
             assert isinstance(pool_name, basestring)
             assert pool_name in self.pools
-            if self.get_num_creating() > 0:
+            if not force and self.get_num_creating() > 0:
                 return False
             self.set_pool_property(pool_name, 'pgp_num', self.pools[pool_name])
             return True