From 91885f1a877c67c4b1d3bc53351ee537eafaebcd Mon Sep 17 00:00:00 2001 From: Aishwarya Mathuria Date: Wed, 15 Sep 2021 19:55:24 +0530 Subject: [PATCH] qa/standalone: add test to check if objects_scrubbed is equal to number of objects in a PG once a scrub finishes Signed-off-by: Aishwarya Mathuria --- qa/standalone/scrub/osd-scrub-test.sh | 37 +++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/qa/standalone/scrub/osd-scrub-test.sh b/qa/standalone/scrub/osd-scrub-test.sh index b389465b231..e5c6de31d59 100755 --- a/qa/standalone/scrub/osd-scrub-test.sh +++ b/qa/standalone/scrub/osd-scrub-test.sh @@ -618,6 +618,43 @@ function TEST_dump_scrub_schedule() { wait_any_cond $pgid 10 $saved_last_stamp cond_active_dmp "WaitingActive " sched_data || return 1 } +function TEST_pg_dump_objects_scrubbed() { + local dir=$1 + local poolname=test + local OSDS=3 + local objects=15 + local timeout=10 + + TESTDATA="testdata.$$" + + setup $dir || return 1 + run_mon $dir a --osd_pool_default_size=$OSDS || return 1 + run_mgr $dir x || return 1 + for osd in $(seq 0 $(expr $OSDS - 1)) + do + run_osd $dir $osd || return 1 + done + + # Create a pool with a single pg + create_pool $poolname 1 1 + wait_for_clean || return 1 + poolid=$(ceph osd dump | grep "^pool.*[']${poolname}[']" | awk '{ print $2 }') + + dd if=/dev/urandom of=$TESTDATA bs=1032 count=1 + for i in `seq 1 $objects` + do + rados -p $poolname put obj${i} $TESTDATA + done + rm -f $TESTDATA + + local pgid="${poolid}.0" + #Trigger a scrub on a PG + pg_scrub $pgid || return 1 + test "$(ceph pg $pgid query | jq '.info.stats.objects_scrubbed')" '=' $objects || return 1 + + teardown $dir || return 1 +} + main osd-scrub-test "$@" # Local Variables: -- 2.39.5