From: David Zafman Date: Thu, 20 Oct 2016 00:10:29 +0000 (-0700) Subject: tasks/scrub_test.py: Make test deterministic by updating digests X-Git-Tag: v10.2.7~24^2~4 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=76a457aa7c411dc5ed22f171954b8ed3c4661845;p=ceph.git tasks/scrub_test.py: Make test deterministic by updating digests ceph_test_rados: Get coverage of digest updates in deep-scrub/repair Signed-off-by: David Zafman (cherry picked from commit e000ab2f46b7b98a223176a2a25bb7195e601af6) --- diff --git a/qa/suites/rados/basic/tasks/scrub_test.yaml b/qa/suites/rados/basic/tasks/scrub_test.yaml index 938e73e3418..3b3b69dfad3 100644 --- a/qa/suites/rados/basic/tasks/scrub_test.yaml +++ b/qa/suites/rados/basic/tasks/scrub_test.yaml @@ -14,6 +14,9 @@ overrides: - 'attr name mistmatch' - 'deep-scrub 1 missing, 0 inconsistent objects' - 'failed to pick suitable auth object' + conf: + osd: + osd deep scrub update digest min age: 0 tasks: - install: - ceph: diff --git a/qa/suites/rados/thrash/workloads/pool-snaps-few-objects.yaml b/qa/suites/rados/thrash/workloads/pool-snaps-few-objects.yaml index b5f6dca6c50..1f0759d9624 100644 --- a/qa/suites/rados/thrash/workloads/pool-snaps-few-objects.yaml +++ b/qa/suites/rados/thrash/workloads/pool-snaps-few-objects.yaml @@ -1,3 +1,7 @@ +override: + conf: + osd: + osd deep scrub update digest min age: 0 tasks: - rados: clients: [client.0] diff --git a/qa/tasks/scrub_test.py b/qa/tasks/scrub_test.py index 9988e21ad25..53d7d1382de 100644 --- a/qa/tasks/scrub_test.py +++ b/qa/tasks/scrub_test.py @@ -291,6 +291,10 @@ def test_list_inconsistent_obj(ctx, manager, osd_remote, pg, acting, osd_id, omap_val = 'val' manager.do_rados(mon, ['-p', pool, 'setomapval', obj_name, omap_key, omap_val]) + # Update missing digests, requires "osd deep scrub update digest min age: 0" + pgnum = get_pgnum(pg) + manager.do_pg_scrub(pool, pgnum, 'deep-scrub') + messup = MessUp(manager, osd_remote, pool, osd_id, obj_name, obj_path, omap_key, omap_val) for test in [messup.rm_omap, messup.add_omap, messup.change_omap, @@ -342,6 +346,9 @@ def task(ctx, config): - attr name mistmatch - deep-scrub 1 missing, 0 inconsistent objects - failed to pick suitable auth object + conf: + osd: + osd deep scrub update digest min age: 0 - scrub_test: """ if config is None: @@ -382,6 +389,10 @@ def task(ctx, config): manager.do_rados(mon, ['-p', 'rbd', 'setomapheader', obj_name, 'hdr']) log.info('err is %d' % p.exitstatus) + # Update missing digests, requires "osd deep scrub update digest min age: 0" + pgnum = get_pgnum(pg) + manager.do_pg_scrub('rbd', pgnum, 'deep-scrub') + log.info('messing with PG %s on osd %d' % (pg, osd)) test_repair_corrupted_obj(ctx, manager, pg, osd_remote, obj_path, 'rbd') test_repair_bad_omap(ctx, manager, pg, osd, obj_name)