[sheepdog] [PATCH] test: add test for recovery logic
Liu Yuan
namei.unix at gmail.com
Wed Aug 22 08:50:05 CEST 2012
On 08/21/2012 10:39 PM, Liu Yuan wrote:
> From: Liu Yuan <tailai.ly at taobao.com>
>
>
> Signed-off-by: Liu Yuan <tailai.ly at 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
>
Applied.
Thanks,
Yuan
More information about the sheepdog
mailing list