#!/bin/bash

# Test doing heavy IO while confchg change

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

if [[ "$DRIVER" == zoo* ]];then
    DRIVER=${DRIVER/1000/5000}
fi

_cleanup

for i in `seq 0 7`; do
    _start_sheep $i
done

_wait_for_sheep "8"

$COLLIE cluster format -c 3
sleep 1

for i in `seq 0 4`; do
    $COLLIE vdi create test$i 100M
done

for i in `seq 0 4`; do
    _random | $COLLIE vdi write test$i -p 7000 &
done

sleep 3

echo begin kill

_kill_sheep 1
_kill_sheep 2
_wait_for_sheep_recovery 0
_kill_sheep 3
_kill_sheep 4
_wait_for_sheep_recovery 0
_kill_sheep 5
_wait_for_sheep_recovery 0

for i in `seq 1 5`; do
    _start_sheep $i
done

echo wait for object recovery to finish
_wait_for_sheep_recovery 0
wait

for i in `seq 0 4`; do
    for port in `seq 0 7`; do
        $COLLIE vdi read test$i -p 700$port | md5sum > /tmp/csum.$port &
    done
    wait
    for port in `seq 1 7`; do
        diff -u /tmp/csum.0 /tmp/csum.$port
    done
done
