From: Kefu Chai Date: Sun, 12 Feb 2017 05:16:57 +0000 (+0800) Subject: test: Thrasher: update pgp_num of all expanded pools if not yet X-Git-Tag: v12.0.1~434^2~3 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=136483a8f940710cbe40804afa7af2eac6728d50;p=ceph.git test: Thrasher: update pgp_num of all expanded pools if not yet otherwise wait_until_healthy will fail after timeout as seeing warning like: HEALTH_WARN pool cephfs_data pg_num 182 > pgp_num 172 Signed-off-by: Kefu Chai --- diff --git a/qa/tasks/ceph_manager.py b/qa/tasks/ceph_manager.py index 8e08439e702b..f4d9d509f066 100644 --- a/qa/tasks/ceph_manager.py +++ b/qa/tasks/ceph_manager.py @@ -112,6 +112,7 @@ class Thrasher: self.logger = logger self.config = config self.revive_timeout = self.config.get("revive_timeout", 150) + self.pools_to_fix_pgp_num = set() if self.config.get('powercycle'): self.revive_timeout += 120 self.clean_wait = self.config.get('clean_wait', 0) @@ -515,18 +516,24 @@ class Thrasher: Increase the size of the pool """ pool = self.ceph_manager.get_pool() + orig_pg_num = self.ceph_manager.get_pool_pg_num(pool) self.log("Growing pool %s" % (pool,)) self.ceph_manager.expand_pool(pool, self.config.get('pool_grow_by', 10), self.max_pgs) + if orig_pg_num < self.ceph_manager.get_pool_pg_num(pool): + self.pools_to_fix_pgp_num.add(pool) - def fix_pgp_num(self): + def fix_pgp_num(self, pool=None): """ Fix number of pgs in pool. """ - pool = self.ceph_manager.get_pool() + if pool is None: + pool = self.ceph_manager.get_pool() self.log("fixing pg num pool %s" % (pool,)) self.ceph_manager.set_pool_pgpnum(pool) + if pool in self.pools_to_fix_pgp_num: + self.pools_to_fix_pgp_num.remove(pool) def test_pool_min_size(self): """ @@ -839,6 +846,10 @@ class Thrasher: Scrubber(self.ceph_manager, self.config) self.choose_action()() time.sleep(delay) + for pool in list(self.pools_to_fix_pgp_num): + if self.ceph_manager.get_pool_pg_num(pool) > 0: + self.fix_pgp_num(pool) + self.pools_to_fix_pgp_num.clear() self.all_up()