From: Sage Weil Date: Wed, 27 Mar 2013 06:16:54 +0000 (-0700) Subject: qa: add rbd/diff_continuous.sh stress test X-Git-Tag: v0.62~118^2~39 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=58c2deddedc36cccda3ac19f06bf3e7d8c8608c7;p=ceph.git qa: add rbd/diff_continuous.sh stress test Stress test that does io on an image while we are mirroring a diff from earlier snaps to a second copy. At the end, verify that all snaps have matching content. Signed-off-by: Sage Weil --- diff --git a/qa/workunits/rbd/diff_continuous.sh b/qa/workunits/rbd/diff_continuous.sh new file mode 100755 index 000000000000..b7f4dc01adee --- /dev/null +++ b/qa/workunits/rbd/diff_continuous.sh @@ -0,0 +1,51 @@ +#!/bin/bash -ex + +max=30 +size=1500 + +iosize=16384 +iototal=16384000 +iothreads=16 + +src=`uuidgen`"-src"; +dst=`uuidgen`"-dst"; + +function cleanup() { + rbd snap purge $src || : + rbd rm $src || : + rbd snap purge $dst || : + rbd rm $dst || : +} +trap cleanup EXIT + +rbd create $src --size $size +rbd create $dst --size $size + +# mirror for a while + +rbd snap create $src --snap=snap0 +rbd bench-write $src --io-size $iosize --io-threads $iothreads --io-total $iototal --io-pattern rand +lastsnap=snap0 +for s in `seq 1 $max`; do + rbd snap create $src --snap=snap$s + rbd export-diff $src@snap$s - --from-snap $lastsnap | rbd import-diff - $dst & + rbd bench-write $src --io-size $iosize --io-threads $iothreads --io-total $iototal --io-pattern rand & + wait + lastsnap=snap$s +done + +# validate +for s in `seq 1 $max`; do + ssum=`rbd export $src@snap$s - | md5sum` + dsum=`rbd export $dst@snap$s - | md5sum` + if [ "$ssum" != "$dsum" ]; then + echo different sum at snap$s + exit 1 + fi +done + +cleanup +trap "" EXIT + +echo OK +