From da1161cbd8b50b8a980e8a3b48154a97f988426c Mon Sep 17 00:00:00 2001 From: Kefu Chai Date: Wed, 3 May 2017 18:28:01 +0800 Subject: [PATCH] qa/tasks/ceph_manager: always fix pgp_num when done with thrashosd task Fixes: http://tracker.ceph.com/issues/19771 Signed-off-by: Kefu Chai --- qa/tasks/ceph_manager.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/qa/tasks/ceph_manager.py b/qa/tasks/ceph_manager.py index b7762b866c9..a40bd6c7bca 100644 --- a/qa/tasks/ceph_manager.py +++ b/qa/tasks/ceph_manager.py @@ -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 -- 2.47.3