From: Kefu Chai Date: Wed, 19 Apr 2017 08:38:06 +0000 (+0800) Subject: qa/tasks: update tests with helper to wait for pg-stats X-Git-Tag: v12.0.2~7^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=960032e51374144f49b4057b9f3d5a66db6e52eb;p=ceph.git qa/tasks: update tests with helper to wait for pg-stats and remove unused helpers Fixes: http://tracker.ceph.com/issues/19594 Signed-off-by: Kefu Chai --- diff --git a/qa/tasks/ceph_manager.py b/qa/tasks/ceph_manager.py index 2d963e2cc3e2..b1ef8559fc4d 100644 --- a/qa/tasks/ceph_manager.py +++ b/qa/tasks/ceph_manager.py @@ -1716,30 +1716,6 @@ class CephManager: ret[status] += 1 return ret - def pg_scrubbing(self, pool, pgnum): - """ - pg scrubbing wrapper - """ - pgstr = self.get_pgid(pool, pgnum) - stats = self.get_single_pg_stats(pgstr) - return 'scrub' in stats['state'] - - def pg_repairing(self, pool, pgnum): - """ - pg repairing wrapper - """ - pgstr = self.get_pgid(pool, pgnum) - stats = self.get_single_pg_stats(pgstr) - return 'repair' in stats['state'] - - def pg_inconsistent(self, pool, pgnum): - """ - pg inconsistent wrapper - """ - pgstr = self.get_pgid(pool, pgnum) - stats = self.get_single_pg_stats(pgstr) - return 'inconsistent' in stats['state'] - @wait_for_pg_stats def with_pg_state(self, pool, pgnum, check): pgstr = self.get_pgid(pool, pgnum) diff --git a/qa/tasks/repair_test.py b/qa/tasks/repair_test.py index 6e81a5e8d3eb..b05ea3748d83 100644 --- a/qa/tasks/repair_test.py +++ b/qa/tasks/repair_test.py @@ -94,7 +94,7 @@ def repair_test_1(manager, corrupter, chooser, scrub_type): log.info("scrubbing") manager.do_pg_scrub(pool, 0, scrub_type) - assert manager.pg_inconsistent(pool, 0) + manager.with_pg_state(pool, 0, lambda s: 'inconsistent' in s) # repair log.info("repairing") @@ -104,7 +104,7 @@ def repair_test_1(manager, corrupter, chooser, scrub_type): manager.do_pg_scrub(pool, 0, scrub_type) # verify consistent - assert not manager.pg_inconsistent(pool, 0) + manager.with_pg_state(pool, 0, lambda s: 'inconsistent' not in s) log.info("done") @@ -147,13 +147,13 @@ def repair_test_2(ctx, manager, config, chooser): log.info("scrubbing") manager.do_pg_scrub(pool, 0, 'deep-scrub') - assert manager.pg_inconsistent(pool, 0) + manager.with_pg_state(pool, 0, lambda s: 'inconsistent' in s) # Regression test for bug #4778, should still # be inconsistent after scrub manager.do_pg_scrub(pool, 0, 'scrub') - assert manager.pg_inconsistent(pool, 0) + manager.with_pg_state(pool, 0, lambda s: 'inconsistent' in s) # Additional corruptions including 2 types for file1 log.info("corrupting more objects") @@ -166,7 +166,7 @@ def repair_test_2(ctx, manager, config, chooser): log.info("scrubbing") manager.do_pg_scrub(pool, 0, 'deep-scrub') - assert manager.pg_inconsistent(pool, 0) + manager.with_pg_state(pool, 0, lambda s: 'inconsistent' in s) # repair log.info("repairing") @@ -176,7 +176,7 @@ def repair_test_2(ctx, manager, config, chooser): time.sleep(10) # verify consistent - assert not manager.pg_inconsistent(pool, 0) + manager.with_pg_state(pool, 0, lambda s: 'inconsistent' not in s) # In the future repair might determine state of # inconsistency itself, verify with a deep-scrub @@ -184,7 +184,7 @@ def repair_test_2(ctx, manager, config, chooser): manager.do_pg_scrub(pool, 0, 'deep-scrub') # verify consistent - assert not manager.pg_inconsistent(pool, 0) + manager.with_pg_state(pool, 0, lambda s: 'inconsistent' not in s) log.info("done") @@ -230,7 +230,7 @@ def repair_test_erasure_code(manager, corrupter, victim, scrub_type): log.info("scrubbing") manager.do_pg_scrub(pool, 0, scrub_type) - assert manager.pg_inconsistent(pool, 0) + manager.with_pg_state(pool, 0, lambda s: 'inconsistent' in s) # repair log.info("repairing") @@ -240,7 +240,7 @@ def repair_test_erasure_code(manager, corrupter, victim, scrub_type): manager.do_pg_scrub(pool, 0, scrub_type) # verify consistent - assert not manager.pg_inconsistent(pool, 0) + manager.with_pg_state(pool, 0, lambda s: 'inconsistent' not in s) log.info("done")