#!/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 1`; do _start_sheep $i; done

_wait_for_sheep 2

$COLLIE cluster format -c 2

$COLLIE vdi create test 100M

for i in `seq 0 24`; do
    echo $i | $COLLIE vdi write test $((i * 4 * 1024 * 1024)) 512
done

$COLLIE vdi read test | md5sum

for i in 2 3; do
    _start_sheep $i
    sleep 1
    _kill_sheep $(($i-2))
    _wait_for_sheep_recovery $i
done

# write different content
for i in `seq 0 24`; do
    echo $(($i+1)) | $COLLIE vdi write test $((i * 4 * 1024 * 1024)) 512 -p 7002
done

$COLLIE vdi read test -p 7002 | md5sum

for i in 2 3; do
    _start_sheep $(($i-2))
    sleep 1
    _kill_sheep $i
    _wait_for_sheep_recovery $(($i-2))
done

$COLLIE vdi read test | md5sum
$COLLIE vdi read test -p 7001 | md5sum

$COLLIE vdi object test

for i in `seq 0 24`; do
    $COLLIE vdi object -i $i test
done
