diff options
author | Sridhar Seshasayee <sseshasa@redhat.com> | 2021-06-21 14:47:32 +0200 |
---|---|---|
committer | Sridhar Seshasayee <sseshasa@redhat.com> | 2021-07-30 14:46:00 +0200 |
commit | 33d2a2c93b533838f8efe1329181fb8990b4a511 (patch) | |
tree | 9b98ababc7ea7ffa8526da60b059b842c5fec7a4 /qa/standalone/scrub/osd-scrub-test.sh | |
parent | qa/standalone/erasure-code: Modify erasure-code tests for mclock scheduler (diff) | |
download | ceph-33d2a2c93b533838f8efe1329181fb8990b4a511.tar.xz ceph-33d2a2c93b533838f8efe1329181fb8990b4a511.zip |
qa/standalone/scrub: Force a subset of scrub tests to use "wpq" scheduler
The following tests in the test files mentioned below use the
"osd_scrub_sleep" option to introduce delays during scrubbing to help
determine scrubbing states, validate reservations during scrubbing etc..
This works when using the "wpq" scheduler.
But when the "mclock_scheduler" is enabled, the "osd_scrub_sleep" is
disabled and overridden to 0. This is done to delegate the scheduling of
the background scrubs to the "mclock_scheduler" based on the set QoS
parameters. Due to this, the checks to verify the scrub states,
reservations etc. fail since the window to check them is very short
due to scrubs completing very quickly. This affects a small subset of
scrub tests mentioned below,
1. osd-scrub-dump.sh -> TEST_recover_unexpected()
2. osd-scrub-repair.sh -> TEST_auto_repair_bluestore_tag()
3. osd-scrub-test.sh -> TEST_scrub_abort(), TEST_deep_scrub_abort()
Only for the above tests, until there's a reliable way to query scrub
states with "--osd-scrub-sleep" set to 0, the "osd_op_queue" config
option is set to "wpq".
Signed-off-by: Sridhar Seshasayee <sseshasa@redhat.com>
Diffstat (limited to 'qa/standalone/scrub/osd-scrub-test.sh')
-rwxr-xr-x | qa/standalone/scrub/osd-scrub-test.sh | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/qa/standalone/scrub/osd-scrub-test.sh b/qa/standalone/scrub/osd-scrub-test.sh index 5dd029c356f..6cea0b8fcf8 100755 --- a/qa/standalone/scrub/osd-scrub-test.sh +++ b/qa/standalone/scrub/osd-scrub-test.sh @@ -301,10 +301,15 @@ function _scrub_abort() { run_mgr $dir x || return 1 for osd in $(seq 0 $(expr $OSDS - 1)) do - run_osd $dir $osd --osd_pool_default_pg_autoscale_mode=off \ - --osd_deep_scrub_randomize_ratio=0.0 \ - --osd_scrub_sleep=5.0 \ - --osd_scrub_interval_randomize_ratio=0 || return 1 + # Set scheduler to "wpq" until there's a reliable way to query scrub + # states with "--osd-scrub-sleep" set to 0. The "mclock_scheduler" + # overrides the scrub sleep to 0 and as a result the checks in the + # test fail. + run_osd $dir $osd --osd_pool_default_pg_autoscale_mode=off \ + --osd_deep_scrub_randomize_ratio=0.0 \ + --osd_scrub_sleep=5.0 \ + --osd_scrub_interval_randomize_ratio=0 \ + --osd_op_queue=wpq || return 1 done # Create a pool with a single pg |