]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
qa/tasks/ceph_manager: always fix pgp_num when done with thrashosd task 14931/head
authorKefu Chai <kchai@redhat.com>
Wed, 3 May 2017 10:28:01 +0000 (18:28 +0800)
committerKefu Chai <kchai@redhat.com>
Wed, 3 May 2017 10:28:27 +0000 (18:28 +0800)
Fixes: http://tracker.ceph.com/issues/19771
Signed-off-by: Kefu Chai <kchai@redhat.com>
qa/tasks/ceph_manager.py

index b7762b866c9dcf97ed8d2f23c32d12b64c4641de..a40bd6c7bca7464164785de0cb31bf6bc618ddc4 100644 (file)
@@ -649,8 +649,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):
@@ -1671,14 +1674,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