mirror of
https://github.com/ceph/ceph
synced 2025-03-31 07:53:23 +00:00
Revert "test: Add test for scrub parallelism"
This reverts commitdd63577ab3
. As08c3ede084
(the tested functionality) is reverted. Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
This commit is contained in:
parent
9f94d27752
commit
b8045f7b18
@ -449,128 +449,6 @@ function TEST_scrub_permit_time() {
|
||||
teardown $dir || return 1
|
||||
}
|
||||
|
||||
function TEST_scrub_parallelism() {
|
||||
local dir=$1
|
||||
local poolname=test
|
||||
local OSDS=8
|
||||
local PGS=64
|
||||
local objects=$(expr $PGS \* 15)
|
||||
local size=2
|
||||
local osd_max_scrubs_per_osd=2
|
||||
local maxscrubs=$(expr $OSDS / $size \* $osd_max_scrubs_per_osd)
|
||||
|
||||
TESTDATA="testdata.$$"
|
||||
|
||||
setup $dir || return 1
|
||||
run_mon $dir a --osd_pool_default_size=$size || return 1
|
||||
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_max_scrubs=$osd_max_scrubs_per_osd \
|
||||
--osd_scrub_chunk_max=5 \
|
||||
--osd_scrub_sleep=5.0 \
|
||||
--osd_scrub_interval_randomize_ratio=0 || return 1
|
||||
done
|
||||
|
||||
# Create a pool
|
||||
create_pool $poolname $PGS $PGS
|
||||
wait_for_clean || return 1
|
||||
poolid=$(ceph osd dump | grep "^pool.*[']${poolname}[']" | awk '{ print $2 }')
|
||||
|
||||
ceph pg dump pgs
|
||||
|
||||
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
|
||||
|
||||
ceph pg dump pgs
|
||||
|
||||
ceph osd set noscrub
|
||||
sleep 3
|
||||
for i in $(seq 0 $(expr $PGS - 1))
|
||||
do
|
||||
ceph tell $poolid.$(printf '%x' $i) scrub || return 1
|
||||
done
|
||||
ceph osd unset noscrub
|
||||
|
||||
# Wait for scrubbing to start
|
||||
set -o pipefail
|
||||
found="no"
|
||||
for i in $(seq 0 200)
|
||||
do
|
||||
flush_pg_stats
|
||||
if ceph pg dump pgs | grep -q "scrubbing"
|
||||
then
|
||||
found="yes"
|
||||
#ceph pg dump pgs
|
||||
break
|
||||
fi
|
||||
done
|
||||
set +o pipefail
|
||||
|
||||
if test $found = "no";
|
||||
then
|
||||
echo "Scrubbing never started"
|
||||
return 1
|
||||
fi
|
||||
|
||||
local zero_count=0
|
||||
local found_count=0
|
||||
local threshold="$(expr $maxscrubs - 1)"
|
||||
set -o pipefail
|
||||
while(true)
|
||||
do
|
||||
sleep 1
|
||||
scrubs=$(ceph pg dump pgs | grep scrubbing | wc -l)
|
||||
# Occasionally we still see scrubs that have finished with new scrubs starting
|
||||
# so more scrubs appear to be running then is possible.
|
||||
# Also, count 1 less than maximum possible scrubs
|
||||
if test $scrubs -ge $threshold
|
||||
then
|
||||
found_count=$(expr $found_count + 1)
|
||||
continue
|
||||
fi
|
||||
if test $scrubs = "0"
|
||||
then
|
||||
zero_count=$(expr $zero_count + 1)
|
||||
if test $zero_count = "10"
|
||||
then
|
||||
break
|
||||
fi
|
||||
else
|
||||
zero_count=0
|
||||
fi
|
||||
done
|
||||
set +o pipefail
|
||||
|
||||
echo found $found_count max scrubs
|
||||
|
||||
ERRORS=0
|
||||
if test $found_count -lt "20"
|
||||
then
|
||||
echo "Only detected near to or at maximum scrubs $found_count time(s)"
|
||||
ERRORS=$(expr $ERRORS + 1)
|
||||
fi
|
||||
|
||||
grep "reserve failed" $dir/osd.*.log
|
||||
if ! grep -q "reserve failed" $dir/osd.*.log
|
||||
then
|
||||
ERRORS=$(expr $ERRORS + 1)
|
||||
fi
|
||||
|
||||
if test $ERRORS -gt 0
|
||||
then
|
||||
return 1
|
||||
fi
|
||||
|
||||
teardown $dir || return 1
|
||||
}
|
||||
|
||||
main osd-scrub-test "$@"
|
||||
|
||||
# Local Variables:
|
||||
|
Loading…
Reference in New Issue
Block a user