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 <kchai@redhat.com>
This commit is contained in:
Kefu Chai 2017-04-19 16:38:06 +08:00
parent 1207caf3a2
commit 960032e513
2 changed files with 9 additions and 33 deletions

View File

@ -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)

View File

@ -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")