mirror of
https://github.com/ceph/ceph
synced 2025-02-19 17:08:05 +00:00
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:
parent
1207caf3a2
commit
960032e513
@ -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)
|
||||
|
@ -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")
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user