From: Liu Yuan <tailai...@taobao.com>
Signed-off-by: Liu Yuan <tailai...@taobao.com> --- tests/027 | 33 +++++++++++++++++++++++++++++++++ tests/027.out | 5 +++++ tests/common.rc | 10 ++++++++++ tests/group | 1 + 4 files changed, 49 insertions(+), 0 deletions(-) create mode 100755 tests/027 create mode 100644 tests/027.out diff --git a/tests/027 b/tests/027 new file mode 100755 index 0000000..456c0f7 --- /dev/null +++ b/tests/027 @@ -0,0 +1,33 @@ +#!/bin/bash + +# Test sheep recovery logic + +seq=`basename $0` +echo "QA output created by $seq" + +here=`pwd` +tmp=/tmp/$$ +status=1 # failure is the default! + +# get standard environment, filters and checks +. ./common.rc +. ./common.filter + +_cleanup + +for i in `seq 0 3`; do + _start_sheep $i +done + +_wait_for_sheep "4" + +$COLLIE cluster format -c 2 + +$COLLIE vdi create test0 40M +$COLLIE vdi create test1 40M + +_kill_sheep 3 + +_wait_for_sheep_recovery 0 + +find $STORE -name '80fd32fc00000000' diff --git a/tests/027.out b/tests/027.out new file mode 100644 index 0000000..f9887b5 --- /dev/null +++ b/tests/027.out @@ -0,0 +1,5 @@ +QA output created by 027 +using backend farm store +/tmp/sheepdog/0/obj/80fd32fc00000000 +/tmp/sheepdog/3/obj/80fd32fc00000000 +/tmp/sheepdog/1/obj/80fd32fc00000000 diff --git a/tests/common.rc b/tests/common.rc index 64182c6..7ede163 100644 --- a/tests/common.rc +++ b/tests/common.rc @@ -169,5 +169,15 @@ _kill_sheep() pkill -f "$SHEEP $STORE/$1" } +_wait_for_sheep_recovery() +{ + while true; do + sleep 2 + if [ $($COLLIE node recovery -p $((7000+$1)) | wc -l) -eq 2 ]; then + break + fi + done +} + # make sure this script returns success /bin/true diff --git a/tests/group b/tests/group index aaa1ab6..57edea5 100644 --- a/tests/group +++ b/tests/group @@ -38,3 +38,4 @@ 024 auto quick cluster 025 auto quick cluster 026 auto quick vdi +027 auto quick store -- 1.7.1 -- sheepdog mailing list sheepdog@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/sheepdog