[sheepdog] [PATCH 7/7] tests/functional: teach it to support erasure code
Liu Yuan
namei.unix at gmail.com
Sun Oct 13 13:43:12 CEST 2013
usage:
$ ./check -ec # will trigger the erasure tests on most test scripts
Signed-off-by: Liu Yuan <namei.unix at gmail.com>
---
tests/functional/008 | 8 +-
tests/functional/009 | 15 +--
tests/functional/010 | 26 ++----
tests/functional/010.out | 200 ++++++++++++----------------------------
tests/functional/014 | 6 +-
tests/functional/015 | 6 +-
tests/functional/018 | 10 +-
tests/functional/019 | 10 +-
tests/functional/020 | 6 +-
tests/functional/022 | 2 +-
tests/functional/024 | 10 +-
tests/functional/026 | 14 +--
tests/functional/029 | 9 +-
tests/functional/029.out | 22 ++++-
tests/functional/031 | 12 ++-
tests/functional/031.out | 10 +-
tests/functional/032 | 4 +-
tests/functional/032.out | 78 ++++++++++++++++
tests/functional/034 | 18 ++--
tests/functional/034.out | 8 ++
tests/functional/035 | 12 +--
tests/functional/035.out | 100 ++++++++++++++------
tests/functional/043 | 10 +-
tests/functional/043.out | 70 +++++++-------
tests/functional/045 | 8 +-
tests/functional/050 | 6 +-
tests/functional/054 | 15 +--
tests/functional/054.out | 6 +-
tests/functional/060 | 4 +-
tests/functional/060.out | 64 ++++++-------
tests/functional/062 | 12 ++-
tests/functional/062.out | 3 +-
tests/functional/071 | 8 +-
tests/functional/check | 4 +
tests/functional/common.config | 1 +
tests/functional/common.rc | 9 ++
36 files changed, 441 insertions(+), 365 deletions(-)
diff --git a/tests/functional/008 b/tests/functional/008
index 9afe56b..5cb0e09 100755
--- a/tests/functional/008
+++ b/tests/functional/008
@@ -4,23 +4,23 @@
. ./common
-for i in `seq 0 7`; do
+for i in `seq 0 15`; do
_start_sheep $i
done
-_wait_for_sheep "8"
+_wait_for_sheep 16
_cluster_format -c 3
for i in `seq 0 4`; do
- $DOG vdi create test$i 100M
+ _vdi_create test$i 100M
done
for i in `seq 0 4`; do
_random | $DOG vdi write test$i -p 7000 &
done
-sleep 3
+sleep 1
echo begin kill
diff --git a/tests/functional/009 b/tests/functional/009
index 86a4806..a12b277 100755
--- a/tests/functional/009
+++ b/tests/functional/009
@@ -5,16 +5,16 @@
. ./common
# start three sheep daemons
-for i in 0 1 2; do
+for i in `seq 0 6`; do
_start_sheep $i
done
-_wait_for_sheep 3
+_wait_for_sheep 7
-_cluster_format -c 2
+_cluster_format
# create a pre-allocated vdi
-$DOG vdi create test 80M -P
+_vdi_create test 80M -P
# stop the 3rd node
_kill_sheep 2
@@ -28,9 +28,10 @@ _start_sheep 2
_wait_for_sheep_recovery 0
# show md5sum of the vdi on each node
-for i in 0 1 2; do
+for i in `seq 0 6`; do
$DOG vdi read test -p 700$i | md5sum > $STORE/csum.$i
done
-diff -u $STORE/csum.0 $STORE/csum.1
-diff -u $STORE/csum.0 $STORE/csum.2
+for i in `seq 1 6`; do
+ diff -u $STORE/csum.0 $STORE/csum.$i
+done
diff --git a/tests/functional/010 b/tests/functional/010
index d050941..580140c 100755
--- a/tests/functional/010
+++ b/tests/functional/010
@@ -4,30 +4,26 @@
. ./common
-for i in `seq 0 4`; do
+for i in `seq 0 7`; do
_start_sheep $i
done
-_wait_for_sheep 5
+_wait_for_sheep 8
-_cluster_format
+_cluster_format -c 6
$DOG cluster recover disable
-$DOG vdi create test 4G
+_vdi_create test 4G
# create 8 objects
for i in `seq 0 7`; do
echo $i | $DOG vdi write test $((i * 4 * 1024 * 1024)) 512
done
-ls $STORE/*/obj/* | _filter_store | sort
-
_kill_sheep 3
_kill_sheep 4
-_wait_for_sheep 3
-$DOG cluster info | head -6 | _filter_cluster_info
-ls $STORE/*/obj/* | _filter_store | sort
+_wait_for_sheep 6
# overwrite the objects to invoke object recovery
for i in `seq 4 7`; do
@@ -35,34 +31,26 @@ for i in `seq 4 7`; do
echo $(($i + 100)) | $DOG vdi write test $((i * 4 * 1024 * 1024)) 512
done
-$DOG cluster info | head -6 | _filter_cluster_info
-ls $STORE/*/obj/* | _filter_store | sort
-
$DOG cluster recover enable
_wait_for_sheep_recovery 0
$DOG cluster info | head -6 | _filter_cluster_info
ls $STORE/*/obj/* | _filter_store | sort
$DOG cluster recover disable
-for i in `seq 3 7`; do
+for i in 3 4; do
_start_sheep $i
done
_wait_for_sheep 8
-$DOG cluster info | head -6 | _filter_cluster_info
-ls $STORE/*/obj/* | _filter_store | sort
-
# overwrite the objects to invoke object recovery
for i in `seq 0 3`; do
$DOG vdi read test $((i * 4 * 1024 * 1024)) 512 -p 7007 | md5sum
echo $(($i + 200)) | $DOG vdi write test $((i * 4 * 1024 * 1024)) 512
done
-$DOG cluster info | head -6 | _filter_cluster_info
-ls $STORE/*/obj/* | _filter_store | sort
-
$DOG cluster recover enable
_wait_for_sheep_recovery 0
$DOG cluster info | head -6 | _filter_cluster_info
ls $STORE/*/obj/* | _filter_store | sort
+$DOG vdi read test 0 32m | md5sum
diff --git a/tests/functional/010.out b/tests/functional/010.out
index fc3b12e..61c0c75 100644
--- a/tests/functional/010.out
+++ b/tests/functional/010.out
@@ -1,115 +1,17 @@
QA output created by 010
using backend plain store
Cluster recovery: disable
-STORE/0/obj/007c2b2500000000
-STORE/0/obj/007c2b2500000001
-STORE/0/obj/007c2b2500000002
-STORE/0/obj/007c2b2500000004
-STORE/0/obj/007c2b2500000006
-STORE/0/obj/007c2b2500000007
-STORE/1/obj/007c2b2500000000
-STORE/1/obj/007c2b2500000001
-STORE/1/obj/007c2b2500000003
-STORE/1/obj/007c2b2500000005
-STORE/1/obj/007c2b2500000006
-STORE/1/obj/807c2b2500000000
-STORE/2/obj/007c2b2500000002
-STORE/2/obj/007c2b2500000003
-STORE/2/obj/007c2b2500000004
-STORE/2/obj/007c2b2500000005
-STORE/2/obj/007c2b2500000007
-STORE/2/obj/807c2b2500000000
-STORE/3/obj/007c2b2500000000
-STORE/3/obj/007c2b2500000001
-STORE/3/obj/007c2b2500000003
-STORE/4/obj/007c2b2500000002
-STORE/4/obj/007c2b2500000004
-STORE/4/obj/007c2b2500000005
-STORE/4/obj/007c2b2500000006
-STORE/4/obj/007c2b2500000007
-STORE/4/obj/807c2b2500000000
-Cluster status: running, auto-recovery disabled
-
-Cluster created at DATE
-
-Epoch Time Version
-DATE 3 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002]
-STORE/0/obj/007c2b2500000000
-STORE/0/obj/007c2b2500000001
-STORE/0/obj/007c2b2500000002
-STORE/0/obj/007c2b2500000004
-STORE/0/obj/007c2b2500000006
-STORE/0/obj/007c2b2500000007
-STORE/1/obj/007c2b2500000000
-STORE/1/obj/007c2b2500000001
-STORE/1/obj/007c2b2500000003
-STORE/1/obj/007c2b2500000005
-STORE/1/obj/007c2b2500000006
-STORE/1/obj/807c2b2500000000
-STORE/2/obj/007c2b2500000002
-STORE/2/obj/007c2b2500000003
-STORE/2/obj/007c2b2500000004
-STORE/2/obj/007c2b2500000005
-STORE/2/obj/007c2b2500000007
-STORE/2/obj/807c2b2500000000
-STORE/3/obj/007c2b2500000000
-STORE/3/obj/007c2b2500000001
-STORE/3/obj/007c2b2500000003
-STORE/4/obj/007c2b2500000002
-STORE/4/obj/007c2b2500000004
-STORE/4/obj/007c2b2500000005
-STORE/4/obj/007c2b2500000006
-STORE/4/obj/007c2b2500000007
-STORE/4/obj/807c2b2500000000
a8775e30ddc5eda14d76e5361a514392 -
8124234db4755d4772c3440f2cbd1ecb -
62630992718e77c73873ce1672d80786 -
19b9d4d75a5a71bfad364628880fa913 -
-Cluster status: running, auto-recovery disabled
-
-Cluster created at DATE
-
-Epoch Time Version
-DATE 3 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002]
-STORE/0/obj/007c2b2500000000
-STORE/0/obj/007c2b2500000001
-STORE/0/obj/007c2b2500000002
-STORE/0/obj/007c2b2500000004
-STORE/0/obj/007c2b2500000005
-STORE/0/obj/007c2b2500000006
-STORE/0/obj/007c2b2500000007
-STORE/0/obj/807c2b2500000000
-STORE/1/obj/007c2b2500000000
-STORE/1/obj/007c2b2500000001
-STORE/1/obj/007c2b2500000003
-STORE/1/obj/007c2b2500000004
-STORE/1/obj/007c2b2500000005
-STORE/1/obj/007c2b2500000006
-STORE/1/obj/007c2b2500000007
-STORE/1/obj/807c2b2500000000
-STORE/2/obj/007c2b2500000002
-STORE/2/obj/007c2b2500000003
-STORE/2/obj/007c2b2500000004
-STORE/2/obj/007c2b2500000005
-STORE/2/obj/007c2b2500000006
-STORE/2/obj/007c2b2500000007
-STORE/2/obj/807c2b2500000000
-STORE/3/obj/007c2b2500000000
-STORE/3/obj/007c2b2500000001
-STORE/3/obj/007c2b2500000003
-STORE/4/obj/007c2b2500000002
-STORE/4/obj/007c2b2500000004
-STORE/4/obj/007c2b2500000005
-STORE/4/obj/007c2b2500000006
-STORE/4/obj/007c2b2500000007
-STORE/4/obj/807c2b2500000000
Cluster recovery: enable
Cluster status: running, auto-recovery enabled
Cluster created at DATE
Epoch Time Version
-DATE 3 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002]
+DATE 3 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002, 127.0.0.1:7005, 127.0.0.1:7006, 127.0.0.1:7007]
STORE/0/obj/007c2b2500000000
STORE/0/obj/007c2b2500000001
STORE/0/obj/007c2b2500000002
@@ -140,89 +42,107 @@ STORE/2/obj/807c2b2500000000
STORE/3/obj/007c2b2500000000
STORE/3/obj/007c2b2500000001
STORE/3/obj/007c2b2500000003
+STORE/3/obj/007c2b2500000005
+STORE/3/obj/007c2b2500000006
+STORE/3/obj/007c2b2500000007
+STORE/4/obj/007c2b2500000000
STORE/4/obj/007c2b2500000002
STORE/4/obj/007c2b2500000004
STORE/4/obj/007c2b2500000005
STORE/4/obj/007c2b2500000006
STORE/4/obj/007c2b2500000007
STORE/4/obj/807c2b2500000000
-Cluster recovery: disable
-Cluster status: running, auto-recovery disabled
-
-Cluster created at DATE
-
-Epoch Time Version
-DATE 8 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002, 127.0.0.1:7003, 127.0.0.1:7004, 127.0.0.1:7005, 127.0.0.1:7006, 127.0.0.1:7007]
-STORE/0/obj/007c2b2500000001
-STORE/0/obj/007c2b2500000002
-STORE/0/obj/007c2b2500000006
-STORE/1/obj/007c2b2500000000
-STORE/1/obj/007c2b2500000001
-STORE/1/obj/007c2b2500000003
-STORE/1/obj/007c2b2500000005
-STORE/2/obj/007c2b2500000004
-STORE/2/obj/007c2b2500000005
-STORE/2/obj/807c2b2500000000
-e0b27e7466a3c21d0a4dedfed8bb9184 -
-f35835c0a25be5ee75a536d1816c1db4 -
-0faf5f38c28a38a6db1e6dfcdf259141 -
-83bffbfb00dbcb7d6b4a2fa9274175b9 -
-Cluster status: running, auto-recovery disabled
-
-Cluster created at DATE
-
-Epoch Time Version
-DATE 8 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002, 127.0.0.1:7003, 127.0.0.1:7004, 127.0.0.1:7005, 127.0.0.1:7006, 127.0.0.1:7007]
-STORE/0/obj/007c2b2500000001
-STORE/0/obj/007c2b2500000002
-STORE/0/obj/007c2b2500000006
-STORE/1/obj/007c2b2500000000
-STORE/1/obj/007c2b2500000001
-STORE/1/obj/007c2b2500000003
-STORE/1/obj/007c2b2500000005
-STORE/2/obj/007c2b2500000004
-STORE/2/obj/007c2b2500000005
-STORE/2/obj/807c2b2500000000
-STORE/3/obj/007c2b2500000000
-STORE/3/obj/007c2b2500000003
-STORE/4/obj/807c2b2500000000
+STORE/5/obj/007c2b2500000000
+STORE/5/obj/007c2b2500000001
STORE/5/obj/007c2b2500000002
+STORE/5/obj/007c2b2500000003
+STORE/5/obj/007c2b2500000004
+STORE/5/obj/007c2b2500000005
+STORE/5/obj/007c2b2500000006
+STORE/5/obj/007c2b2500000007
+STORE/5/obj/807c2b2500000000
STORE/6/obj/007c2b2500000000
+STORE/6/obj/007c2b2500000001
STORE/6/obj/007c2b2500000002
STORE/6/obj/007c2b2500000003
+STORE/6/obj/007c2b2500000004
+STORE/6/obj/007c2b2500000005
+STORE/6/obj/007c2b2500000006
+STORE/6/obj/007c2b2500000007
+STORE/6/obj/807c2b2500000000
+STORE/7/obj/007c2b2500000000
STORE/7/obj/007c2b2500000001
+STORE/7/obj/007c2b2500000002
+STORE/7/obj/007c2b2500000003
+STORE/7/obj/007c2b2500000004
+STORE/7/obj/007c2b2500000005
+STORE/7/obj/007c2b2500000006
+STORE/7/obj/007c2b2500000007
STORE/7/obj/807c2b2500000000
+Cluster recovery: disable
+e0b27e7466a3c21d0a4dedfed8bb9184 -
+f35835c0a25be5ee75a536d1816c1db4 -
+0faf5f38c28a38a6db1e6dfcdf259141 -
+83bffbfb00dbcb7d6b4a2fa9274175b9 -
Cluster recovery: enable
Cluster status: running, auto-recovery enabled
Cluster created at DATE
Epoch Time Version
-DATE 8 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002, 127.0.0.1:7003, 127.0.0.1:7004, 127.0.0.1:7005, 127.0.0.1:7006, 127.0.0.1:7007]
+DATE 5 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002, 127.0.0.1:7003, 127.0.0.1:7004, 127.0.0.1:7005, 127.0.0.1:7006, 127.0.0.1:7007]
+STORE/0/obj/007c2b2500000000
STORE/0/obj/007c2b2500000001
STORE/0/obj/007c2b2500000002
+STORE/0/obj/007c2b2500000004
STORE/0/obj/007c2b2500000006
+STORE/0/obj/007c2b2500000007
STORE/1/obj/007c2b2500000000
STORE/1/obj/007c2b2500000001
STORE/1/obj/007c2b2500000003
+STORE/1/obj/007c2b2500000004
STORE/1/obj/007c2b2500000005
+STORE/1/obj/007c2b2500000006
+STORE/1/obj/807c2b2500000000
+STORE/2/obj/007c2b2500000002
+STORE/2/obj/007c2b2500000003
STORE/2/obj/007c2b2500000004
STORE/2/obj/007c2b2500000005
+STORE/2/obj/007c2b2500000007
STORE/2/obj/807c2b2500000000
STORE/3/obj/007c2b2500000000
+STORE/3/obj/007c2b2500000001
STORE/3/obj/007c2b2500000003
+STORE/3/obj/007c2b2500000005
+STORE/3/obj/007c2b2500000006
+STORE/3/obj/007c2b2500000007
+STORE/4/obj/007c2b2500000000
+STORE/4/obj/007c2b2500000002
+STORE/4/obj/007c2b2500000004
STORE/4/obj/007c2b2500000005
STORE/4/obj/007c2b2500000006
STORE/4/obj/007c2b2500000007
STORE/4/obj/807c2b2500000000
+STORE/5/obj/007c2b2500000001
STORE/5/obj/007c2b2500000002
+STORE/5/obj/007c2b2500000003
STORE/5/obj/007c2b2500000004
+STORE/5/obj/007c2b2500000005
+STORE/5/obj/007c2b2500000006
STORE/5/obj/007c2b2500000007
+STORE/5/obj/807c2b2500000000
STORE/6/obj/007c2b2500000000
+STORE/6/obj/007c2b2500000001
STORE/6/obj/007c2b2500000002
STORE/6/obj/007c2b2500000003
STORE/6/obj/007c2b2500000004
STORE/6/obj/007c2b2500000007
+STORE/6/obj/807c2b2500000000
+STORE/7/obj/007c2b2500000000
STORE/7/obj/007c2b2500000001
+STORE/7/obj/007c2b2500000002
+STORE/7/obj/007c2b2500000003
+STORE/7/obj/007c2b2500000005
STORE/7/obj/007c2b2500000006
STORE/7/obj/807c2b2500000000
+dc5bfba305d41bc126940b324945c54e -
diff --git a/tests/functional/014 b/tests/functional/014
index 764f3ee..d88d2df 100755
--- a/tests/functional/014
+++ b/tests/functional/014
@@ -4,14 +4,14 @@
. ./common
-for i in 0 2; do
+for i in `seq 0 5`; do
_start_sheep $i
done
-_wait_for_sheep 2
+_wait_for_sheep 6
_cluster_format -c 2
-$DOG vdi create test 4G
+_vdi_create test 4G
echo -n value > $STORE/tmp.dat
diff --git a/tests/functional/015 b/tests/functional/015
index b985506..d703ff9 100755
--- a/tests/functional/015
+++ b/tests/functional/015
@@ -4,15 +4,15 @@
. ./common
-for i in 0 2; do
+for i in `seq 0 5`; do
_start_sheep $i
done
-_wait_for_sheep 2
+_wait_for_sheep 6
_cluster_format -c 2
-$DOG vdi create test 539545600
+_vdi_create test 539545600
$DOG vdi setattr test lock 1 -x &
$DOG vdi setattr test lock 1 -x &
$DOG vdi setattr test lock 1 -x &
diff --git a/tests/functional/018 b/tests/functional/018
index bcec541..0136144 100755
--- a/tests/functional/018
+++ b/tests/functional/018
@@ -4,24 +4,24 @@
. ./common
-for i in `seq 0 2`; do
+for i in `seq 0 5`; do
_start_sheep $i "-w size=100M"
done
-_wait_for_sheep "3"
+_wait_for_sheep 6
_cluster_format -c 2
-$DOG vdi create test 4M
+_vdi_create test 4M
_random | $DOG vdi write -w test
$DOG vdi cache flush test
-for port in `seq 0 2`; do
+for port in `seq 0 5`; do
$DOG vdi read test -p 700$port | md5sum > $STORE/csum.$port
done
-for port in `seq 1 2`; do
+for port in `seq 1 5`; do
diff -u $STORE/csum.0 $STORE/csum.$port
done
diff --git a/tests/functional/019 b/tests/functional/019
index 136fb6e..d32f287 100755
--- a/tests/functional/019
+++ b/tests/functional/019
@@ -4,22 +4,22 @@
. ./common
-for i in `seq 0 2`; do
+for i in `seq 0 5`; do
_start_sheep $i "-w size=100M"
done
-_wait_for_sheep "3"
+_wait_for_sheep 6
_cluster_format -c 2
-$DOG vdi create test 4M
+_vdi_create test 4M
_random | $DOG vdi write test
-for port in `seq 0 2`; do
+for port in `seq 0 5`; do
$DOG vdi read test -p 700$port | md5sum > $STORE/csum.$port
done
-for port in `seq 1 2`; do
+for port in `seq 1 5`; do
diff -u $STORE/csum.0 $STORE/csum.$port
done
diff --git a/tests/functional/020 b/tests/functional/020
index a2a6d04..6610bb1 100755
--- a/tests/functional/020
+++ b/tests/functional/020
@@ -4,15 +4,15 @@
. ./common
-for i in `seq 0 2`; do
+for i in `seq 0 5`; do
_start_sheep $i "-w size=20M"
done
-_wait_for_sheep "3"
+_wait_for_sheep 6
_cluster_format -c 2
-$DOG vdi create test 40M
+_vdi_create test 40M
_random | $DOG vdi write test
diff --git a/tests/functional/022 b/tests/functional/022
index c2fe9f0..22ad2a1 100755
--- a/tests/functional/022
+++ b/tests/functional/022
@@ -13,6 +13,6 @@ _wait_for_sheep "3"
_cluster_format -c 3
echo "creating a VDI should fail without data nodes available"
-$DOG vdi create test 100M
+_vdi_create test 100M
status=0
diff --git a/tests/functional/024 b/tests/functional/024
index 87421a8..e1c1180 100755
--- a/tests/functional/024
+++ b/tests/functional/024
@@ -12,14 +12,14 @@ VDI_NAME="test"
VDI_SIZE="300M"
echo "starting first sheep"
-_start_sheep 0
-_wait_for_sheep 1
+for i in `seq 0 5`; do _start_sheep $i; done
+_wait_for_sheep 6
echo "formatting cluster"
_cluster_format -c 1
echo "creating vdi ${NAME}"
-$DOG vdi create ${VDI_NAME} ${VDI_SIZE}
+_vdi_create ${VDI_NAME} ${VDI_SIZE}
sleep 1
echo "filling ${VDI_NAME} with data"
@@ -29,8 +29,8 @@ echo "reading back ${VDI_NAME}"
$QEMU_IO -c "read 0 1m" sheepdog:${VDI_NAME} | _filter_qemu_io
echo "starting second sheep"
-_start_sheep 1
-_wait_for_sheep 2
+_start_sheep 6
+_wait_for_sheep 7
echo "reading data from second sheep"
$QEMU_IO -c "read 0 ${VDI_SIZE}" sheepdog:localhost:7001:${VDI_NAME} | _filter_qemu_io
diff --git a/tests/functional/026 b/tests/functional/026
index bf62a6d..a26492c 100755
--- a/tests/functional/026
+++ b/tests/functional/026
@@ -8,33 +8,33 @@ if [[ "$DRIVER" == zoo* ]];then
DRIVER=${DRIVER/1000/5000}
fi
-for i in `seq 0 7`; do
+for i in `seq 0 15`; do
_start_sheep $i
done
-_wait_for_sheep "8"
+_wait_for_sheep 16
_cluster_format
# create new vdis
(
for i in `seq 0 40`;do
- $DOG vdi create test$i 4M
+ _vdi_create test$i 4M
done
) &
# kill nodes and join them back
for i in 1 2; do _kill_sheep $i;done
-_wait_for_sheep 6
+_wait_for_sheep 14
_wait_for_sheep_recovery 0
for i in 3 4; do _kill_sheep $i;done
-_wait_for_sheep 4
+_wait_for_sheep 12
_wait_for_sheep_recovery 0
for i in 5; do _kill_sheep $i;done
-_wait_for_sheep 3
+_wait_for_sheep 11
_wait_for_sheep_recovery 0
for i in `seq 1 5`; do _start_sheep $i;done
-_wait_for_sheep 8
+_wait_for_sheep 16
# wait for dog to finish
wait
diff --git a/tests/functional/029 b/tests/functional/029
index 7101d5e..45e0a81 100755
--- a/tests/functional/029
+++ b/tests/functional/029
@@ -4,11 +4,11 @@
. ./common
-for i in `seq 0 6`; do
+for i in `seq 0 7`; do
_start_sheep $i;
done
-_wait_for_sheep 7
+_wait_for_sheep 8
_cluster_format -c 3
@@ -16,6 +16,7 @@ for i in `seq 2 4`; do
$DOG vdi create test$i 20M -c $i -P
done
+$DOG vdi create -e test5 20M -P
$DOG vdi snapshot -s tag test2
$DOG vdi clone -s 1 test2 clone -c 3
@@ -24,7 +25,7 @@ for i in `seq 2 3`; do
_kill_sheep $i;
done
-for i in `seq 7 8`; do
+for i in `seq 8 9`; do
_start_sheep $i;
done
@@ -35,7 +36,7 @@ $DOG vdi delete -s 1 test2
_vdi_list
-for i in `seq 2 4`; do
+for i in `seq 2 5`; do
$DOG vdi object test$i -i 1;
done
diff --git a/tests/functional/029.out b/tests/functional/029.out
index df90d4d..6e1456e 100644
--- a/tests/functional/029.out
+++ b/tests/functional/029.out
@@ -1,19 +1,21 @@
QA output created by 029
using backend plain store
Name Id Size Used Shared Creation time VDI id Copies Tag
+ test5 0 20 MB 20 MB 0.0 MB DATE fd2c30 6
test4 0 20 MB 20 MB 0.0 MB DATE fd2de3 4
test3 0 20 MB 20 MB 0.0 MB DATE fd3662 3
test2 0 20 MB 0.0 MB 20 MB DATE fd3816 2
-Looking for the object 0xfd381500000001 (the inode vid 0xfd3816 idx 1) with 7 nodes
+Looking for the object 0xfd381500000001 (the inode vid 0xfd3816 idx 1) with 8 nodes
127.0.0.1:7000 has the object (should be 2 copies)
127.0.0.1:7001 doesn't have the object
127.0.0.1:7004 doesn't have the object
127.0.0.1:7005 doesn't have the object
-127.0.0.1:7006 has the object (should be 2 copies)
+127.0.0.1:7006 doesn't have the object
127.0.0.1:7007 doesn't have the object
127.0.0.1:7008 doesn't have the object
-Looking for the object 0xfd366200000001 (the inode vid 0xfd3662 idx 1) with 7 nodes
+127.0.0.1:7009 has the object (should be 2 copies)
+Looking for the object 0xfd366200000001 (the inode vid 0xfd3662 idx 1) with 8 nodes
127.0.0.1:7000 doesn't have the object
127.0.0.1:7001 has the object (should be 3 copies)
@@ -22,7 +24,8 @@ Looking for the object 0xfd366200000001 (the inode vid 0xfd3662 idx 1) with 7 no
127.0.0.1:7006 doesn't have the object
127.0.0.1:7007 has the object (should be 3 copies)
127.0.0.1:7008 doesn't have the object
-Looking for the object 0xfd2de300000001 (the inode vid 0xfd2de3 idx 1) with 7 nodes
+127.0.0.1:7009 doesn't have the object
+Looking for the object 0xfd2de300000001 (the inode vid 0xfd2de3 idx 1) with 8 nodes
127.0.0.1:7000 doesn't have the object
127.0.0.1:7001 has the object (should be 4 copies)
@@ -31,3 +34,14 @@ Looking for the object 0xfd2de300000001 (the inode vid 0xfd2de3 idx 1) with 7 no
127.0.0.1:7006 doesn't have the object
127.0.0.1:7007 has the object (should be 4 copies)
127.0.0.1:7008 has the object (should be 4 copies)
+127.0.0.1:7009 doesn't have the object
+Looking for the object 0xfd2c3000000001 (the inode vid 0xfd2c30 idx 1) with 8 nodes
+
+127.0.0.1:7000 has the object (should be 6 copies)
+127.0.0.1:7001 has the object (should be 6 copies)
+127.0.0.1:7004 has the object (should be 6 copies)
+127.0.0.1:7005 doesn't have the object
+127.0.0.1:7006 has the object (should be 6 copies)
+127.0.0.1:7007 has the object (should be 6 copies)
+127.0.0.1:7008 doesn't have the object
+127.0.0.1:7009 has the object (should be 6 copies)
diff --git a/tests/functional/031 b/tests/functional/031
index fb5d043..56145ec 100755
--- a/tests/functional/031
+++ b/tests/functional/031
@@ -4,21 +4,23 @@
. ./common
-_start_sheep 0
-_wait_for_sheep 1
+for i in `seq 0 5`;do _start_sheep $i;done
+_wait_for_sheep 6
_cluster_format -c 1
for i in 1 2 3; do
- $DOG vdi create test$i ${i}00M
+ $DOG vdi create test$i ${i}00M -c $i
done
+$DOG vdi create -e test4 400M
+
_vdi_list
$DOG cluster shutdown
_wait_for_sheep_stop
-_start_sheep 0
-_wait_for_sheep 1
+for i in `seq 0 5`;do _start_sheep $i;done
+_wait_for_sheep 6
_vdi_list
diff --git a/tests/functional/031.out b/tests/functional/031.out
index 4c66cff..0876706 100644
--- a/tests/functional/031.out
+++ b/tests/functional/031.out
@@ -1,10 +1,12 @@
QA output created by 031
using backend plain store
Name Id Size Used Shared Creation time VDI id Copies Tag
+ test4 0 400 MB 0.0 MB 0.0 MB DATE fd2de3 6
test1 0 100 MB 0.0 MB 0.0 MB DATE fd32fc 1
- test3 0 300 MB 0.0 MB 0.0 MB DATE fd3662 1
- test2 0 200 MB 0.0 MB 0.0 MB DATE fd3815 1
+ test3 0 300 MB 0.0 MB 0.0 MB DATE fd3662 3
+ test2 0 200 MB 0.0 MB 0.0 MB DATE fd3815 2
Name Id Size Used Shared Creation time VDI id Copies Tag
+ test4 0 400 MB 0.0 MB 0.0 MB DATE fd2de3 6
test1 0 100 MB 0.0 MB 0.0 MB DATE fd32fc 1
- test3 0 300 MB 0.0 MB 0.0 MB DATE fd3662 1
- test2 0 200 MB 0.0 MB 0.0 MB DATE fd3815 1
+ test3 0 300 MB 0.0 MB 0.0 MB DATE fd3662 3
+ test2 0 200 MB 0.0 MB 0.0 MB DATE fd3815 2
diff --git a/tests/functional/032 b/tests/functional/032
index 00727cd..d902a30 100755
--- a/tests/functional/032
+++ b/tests/functional/032
@@ -10,9 +10,9 @@ done
_wait_for_sheep 8
-_cluster_format
+_cluster_format -c 6
-$DOG vdi create test 100M
+_vdi_create test 100M
# create 25 objects
for i in `seq 0 24`; do
echo $i | $DOG vdi write test $((i * 4 * 1024 * 1024)) 512
diff --git a/tests/functional/032.out b/tests/functional/032.out
index df1ffa5..29a47e1 100644
--- a/tests/functional/032.out
+++ b/tests/functional/032.out
@@ -1,84 +1,162 @@
QA output created by 032
using backend plain store
9c7766570b3be3aff2724f587c2f4107 -
+STORE/1/obj/807c2b2500000000
STORE/2/obj/807c2b2500000000
STORE/4/obj/807c2b2500000000
+STORE/5/obj/807c2b2500000000
+STORE/6/obj/807c2b2500000000
STORE/7/obj/807c2b2500000000
+STORE/0/obj/007c2b2500000000
STORE/1/obj/007c2b2500000000
STORE/3/obj/007c2b2500000000
+STORE/4/obj/007c2b2500000000
STORE/6/obj/007c2b2500000000
+STORE/7/obj/007c2b2500000000
STORE/0/obj/007c2b2500000001
STORE/1/obj/007c2b2500000001
+STORE/3/obj/007c2b2500000001
+STORE/5/obj/007c2b2500000001
+STORE/6/obj/007c2b2500000001
STORE/7/obj/007c2b2500000001
STORE/0/obj/007c2b2500000002
+STORE/2/obj/007c2b2500000002
+STORE/4/obj/007c2b2500000002
STORE/5/obj/007c2b2500000002
STORE/6/obj/007c2b2500000002
+STORE/7/obj/007c2b2500000002
STORE/1/obj/007c2b2500000003
+STORE/2/obj/007c2b2500000003
STORE/3/obj/007c2b2500000003
+STORE/5/obj/007c2b2500000003
STORE/6/obj/007c2b2500000003
+STORE/7/obj/007c2b2500000003
+STORE/0/obj/007c2b2500000004
+STORE/1/obj/007c2b2500000004
STORE/2/obj/007c2b2500000004
+STORE/4/obj/007c2b2500000004
STORE/5/obj/007c2b2500000004
STORE/6/obj/007c2b2500000004
STORE/1/obj/007c2b2500000005
STORE/2/obj/007c2b2500000005
+STORE/3/obj/007c2b2500000005
STORE/4/obj/007c2b2500000005
+STORE/5/obj/007c2b2500000005
+STORE/7/obj/007c2b2500000005
STORE/0/obj/007c2b2500000006
+STORE/1/obj/007c2b2500000006
+STORE/3/obj/007c2b2500000006
STORE/4/obj/007c2b2500000006
+STORE/5/obj/007c2b2500000006
STORE/7/obj/007c2b2500000006
+STORE/0/obj/007c2b2500000007
+STORE/2/obj/007c2b2500000007
+STORE/3/obj/007c2b2500000007
STORE/4/obj/007c2b2500000007
STORE/5/obj/007c2b2500000007
STORE/6/obj/007c2b2500000007
+STORE/1/obj/007c2b2500000008
+STORE/2/obj/007c2b2500000008
STORE/3/obj/007c2b2500000008
STORE/4/obj/007c2b2500000008
+STORE/5/obj/007c2b2500000008
STORE/6/obj/007c2b2500000008
STORE/1/obj/007c2b2500000009
+STORE/2/obj/007c2b2500000009
+STORE/4/obj/007c2b2500000009
STORE/5/obj/007c2b2500000009
STORE/6/obj/007c2b2500000009
+STORE/7/obj/007c2b2500000009
+STORE/0/obj/007c2b250000000a
STORE/1/obj/007c2b250000000a
STORE/3/obj/007c2b250000000a
+STORE/4/obj/007c2b250000000a
+STORE/5/obj/007c2b250000000a
STORE/6/obj/007c2b250000000a
+STORE/0/obj/007c2b250000000b
+STORE/1/obj/007c2b250000000b
STORE/2/obj/007c2b250000000b
STORE/3/obj/007c2b250000000b
+STORE/5/obj/007c2b250000000b
STORE/6/obj/007c2b250000000b
+STORE/0/obj/007c2b250000000c
STORE/1/obj/007c2b250000000c
STORE/3/obj/007c2b250000000c
+STORE/4/obj/007c2b250000000c
+STORE/6/obj/007c2b250000000c
STORE/7/obj/007c2b250000000c
STORE/1/obj/007c2b250000000d
+STORE/3/obj/007c2b250000000d
+STORE/4/obj/007c2b250000000d
STORE/5/obj/007c2b250000000d
STORE/6/obj/007c2b250000000d
+STORE/7/obj/007c2b250000000d
+STORE/1/obj/007c2b250000000e
STORE/2/obj/007c2b250000000e
+STORE/3/obj/007c2b250000000e
STORE/5/obj/007c2b250000000e
+STORE/6/obj/007c2b250000000e
STORE/7/obj/007c2b250000000e
+STORE/1/obj/007c2b250000000f
+STORE/2/obj/007c2b250000000f
+STORE/3/obj/007c2b250000000f
STORE/4/obj/007c2b250000000f
STORE/6/obj/007c2b250000000f
STORE/7/obj/007c2b250000000f
STORE/0/obj/007c2b2500000010
+STORE/2/obj/007c2b2500000010
+STORE/4/obj/007c2b2500000010
STORE/5/obj/007c2b2500000010
+STORE/6/obj/007c2b2500000010
STORE/7/obj/007c2b2500000010
+STORE/1/obj/007c2b2500000011
STORE/3/obj/007c2b2500000011
STORE/4/obj/007c2b2500000011
+STORE/5/obj/007c2b2500000011
+STORE/6/obj/007c2b2500000011
STORE/7/obj/007c2b2500000011
+STORE/1/obj/007c2b2500000012
+STORE/2/obj/007c2b2500000012
STORE/3/obj/007c2b2500000012
STORE/4/obj/007c2b2500000012
+STORE/6/obj/007c2b2500000012
STORE/7/obj/007c2b2500000012
STORE/0/obj/007c2b2500000013
STORE/2/obj/007c2b2500000013
+STORE/3/obj/007c2b2500000013
+STORE/4/obj/007c2b2500000013
STORE/5/obj/007c2b2500000013
+STORE/7/obj/007c2b2500000013
+STORE/0/obj/007c2b2500000014
STORE/1/obj/007c2b2500000014
STORE/2/obj/007c2b2500000014
+STORE/3/obj/007c2b2500000014
+STORE/4/obj/007c2b2500000014
STORE/6/obj/007c2b2500000014
+STORE/0/obj/007c2b2500000015
+STORE/1/obj/007c2b2500000015
STORE/2/obj/007c2b2500000015
+STORE/4/obj/007c2b2500000015
STORE/6/obj/007c2b2500000015
STORE/7/obj/007c2b2500000015
STORE/0/obj/007c2b2500000016
+STORE/1/obj/007c2b2500000016
STORE/3/obj/007c2b2500000016
STORE/4/obj/007c2b2500000016
+STORE/6/obj/007c2b2500000016
+STORE/7/obj/007c2b2500000016
+STORE/1/obj/007c2b2500000017
+STORE/2/obj/007c2b2500000017
STORE/3/obj/007c2b2500000017
+STORE/4/obj/007c2b2500000017
STORE/5/obj/007c2b2500000017
STORE/6/obj/007c2b2500000017
STORE/1/obj/007c2b2500000018
+STORE/2/obj/007c2b2500000018
+STORE/4/obj/007c2b2500000018
STORE/5/obj/007c2b2500000018
STORE/6/obj/007c2b2500000018
+STORE/7/obj/007c2b2500000018
diff --git a/tests/functional/034 b/tests/functional/034
index 3b78db0..89929e9 100755
--- a/tests/functional/034
+++ b/tests/functional/034
@@ -9,29 +9,29 @@ if [[ "$DRIVER" == zoo* ]];then
fi
# start 8 nodes
-for i in `seq 0 7`; do
+for i in `seq 0 15`; do
_start_sheep $i
done
-_wait_for_sheep 8
+_wait_for_sheep 16
-_cluster_format
+_cluster_format -c 6
-$DOG vdi create test 100M
+_vdi_create test 100M
# create 25 objects
for i in `seq 0 24`; do
echo $i | $DOG vdi write test $((i * 4 * 1024 * 1024)) 512
done
# kill 5 nodes
-nr=8
+nr=16
for i in `seq 3 7`; do
_wait_for_sheep $nr
_wait_for_sheep_recovery 0
_kill_sheep $i
nr=$(($nr - 1))
done
-_wait_for_sheep 3
+_wait_for_sheep 11
# update vdi
for i in `seq 0 24`; do
@@ -45,8 +45,8 @@ for i in `seq 3 7`; do
_start_sheep $i
done
-_wait_for_sheep 8
+_wait_for_sheep 16
-for i in `seq 0 7`; do
- $DOG vdi read test -p 700$i | md5sum
+for i in `seq 0 15`; do
+ $DOG vdi read test -p $((7000+$i)) | md5sum
done
diff --git a/tests/functional/034.out b/tests/functional/034.out
index 1e30cd2..37afcf4 100644
--- a/tests/functional/034.out
+++ b/tests/functional/034.out
@@ -9,3 +9,11 @@ b26a14b4868dff70944564c6cb446e28 -
b26a14b4868dff70944564c6cb446e28 -
b26a14b4868dff70944564c6cb446e28 -
b26a14b4868dff70944564c6cb446e28 -
+b26a14b4868dff70944564c6cb446e28 -
+b26a14b4868dff70944564c6cb446e28 -
+b26a14b4868dff70944564c6cb446e28 -
+b26a14b4868dff70944564c6cb446e28 -
+b26a14b4868dff70944564c6cb446e28 -
+b26a14b4868dff70944564c6cb446e28 -
+b26a14b4868dff70944564c6cb446e28 -
+b26a14b4868dff70944564c6cb446e28 -
diff --git a/tests/functional/035 b/tests/functional/035
index c1559e0..ae14da8 100755
--- a/tests/functional/035
+++ b/tests/functional/035
@@ -14,18 +14,18 @@ _uninit()
_need_to_be_root
-for i in `seq 0 5`; do
+for i in `seq 0 9`; do
_start_sheep $i
done
-_wait_for_sheep 6
+_wait_for_sheep 10
-_cluster_format -c 3
+_cluster_format -c 6
-$DOG vdi create test 40M
+_vdi_create test 40M
_random | $DOG vdi write test &
-sleep 3
+sleep 2
# Test write timeout
for i in `seq 1 4`; do
_simulate_machine_down $i
@@ -41,7 +41,7 @@ for i in `seq 0 9`; do
$DOG vdi object -i $i test
done
-for i in 6 7 8; do
+for i in 10 11 12; do
_start_sheep $i
done
diff --git a/tests/functional/035.out b/tests/functional/035.out
index 0ca0c37..e26d3a6 100644
--- a/tests/functional/035.out
+++ b/tests/functional/035.out
@@ -1,42 +1,82 @@
QA output created by 035
using backend plain store
-Looking for the object 0x7c2b2500000000 (the inode vid 0x7c2b25 idx 0) with 2 nodes
+Looking for the object 0x7c2b2500000000 (the inode vid 0x7c2b25 idx 0) with 6 nodes
-127.0.0.1:7000 has the object (should be 2 copies)
-127.0.0.1:7005 has the object (should be 2 copies)
-Looking for the object 0x7c2b2500000001 (the inode vid 0x7c2b25 idx 1) with 2 nodes
+127.0.0.1:7000 has the object (should be 6 copies)
+127.0.0.1:7005 has the object (should be 6 copies)
+127.0.0.1:7006 has the object (should be 6 copies)
+127.0.0.1:7007 has the object (should be 6 copies)
+127.0.0.1:7008 has the object (should be 6 copies)
+127.0.0.1:7009 has the object (should be 6 copies)
+Looking for the object 0x7c2b2500000001 (the inode vid 0x7c2b25 idx 1) with 6 nodes
-127.0.0.1:7000 has the object (should be 2 copies)
-127.0.0.1:7005 has the object (should be 2 copies)
-Looking for the object 0x7c2b2500000002 (the inode vid 0x7c2b25 idx 2) with 2 nodes
+127.0.0.1:7000 has the object (should be 6 copies)
+127.0.0.1:7005 has the object (should be 6 copies)
+127.0.0.1:7006 has the object (should be 6 copies)
+127.0.0.1:7007 has the object (should be 6 copies)
+127.0.0.1:7008 has the object (should be 6 copies)
+127.0.0.1:7009 has the object (should be 6 copies)
+Looking for the object 0x7c2b2500000002 (the inode vid 0x7c2b25 idx 2) with 6 nodes
-127.0.0.1:7000 has the object (should be 2 copies)
-127.0.0.1:7005 has the object (should be 2 copies)
-Looking for the object 0x7c2b2500000003 (the inode vid 0x7c2b25 idx 3) with 2 nodes
+127.0.0.1:7000 has the object (should be 6 copies)
+127.0.0.1:7005 has the object (should be 6 copies)
+127.0.0.1:7006 has the object (should be 6 copies)
+127.0.0.1:7007 has the object (should be 6 copies)
+127.0.0.1:7008 has the object (should be 6 copies)
+127.0.0.1:7009 has the object (should be 6 copies)
+Looking for the object 0x7c2b2500000003 (the inode vid 0x7c2b25 idx 3) with 6 nodes
-127.0.0.1:7000 has the object (should be 2 copies)
-127.0.0.1:7005 has the object (should be 2 copies)
-Looking for the object 0x7c2b2500000004 (the inode vid 0x7c2b25 idx 4) with 2 nodes
+127.0.0.1:7000 has the object (should be 6 copies)
+127.0.0.1:7005 has the object (should be 6 copies)
+127.0.0.1:7006 has the object (should be 6 copies)
+127.0.0.1:7007 has the object (should be 6 copies)
+127.0.0.1:7008 has the object (should be 6 copies)
+127.0.0.1:7009 has the object (should be 6 copies)
+Looking for the object 0x7c2b2500000004 (the inode vid 0x7c2b25 idx 4) with 6 nodes
-127.0.0.1:7000 has the object (should be 2 copies)
-127.0.0.1:7005 has the object (should be 2 copies)
-Looking for the object 0x7c2b2500000005 (the inode vid 0x7c2b25 idx 5) with 2 nodes
+127.0.0.1:7000 has the object (should be 6 copies)
+127.0.0.1:7005 has the object (should be 6 copies)
+127.0.0.1:7006 has the object (should be 6 copies)
+127.0.0.1:7007 has the object (should be 6 copies)
+127.0.0.1:7008 has the object (should be 6 copies)
+127.0.0.1:7009 has the object (should be 6 copies)
+Looking for the object 0x7c2b2500000005 (the inode vid 0x7c2b25 idx 5) with 6 nodes
-127.0.0.1:7000 has the object (should be 2 copies)
-127.0.0.1:7005 has the object (should be 2 copies)
-Looking for the object 0x7c2b2500000006 (the inode vid 0x7c2b25 idx 6) with 2 nodes
+127.0.0.1:7000 has the object (should be 6 copies)
+127.0.0.1:7005 has the object (should be 6 copies)
+127.0.0.1:7006 has the object (should be 6 copies)
+127.0.0.1:7007 has the object (should be 6 copies)
+127.0.0.1:7008 has the object (should be 6 copies)
+127.0.0.1:7009 has the object (should be 6 copies)
+Looking for the object 0x7c2b2500000006 (the inode vid 0x7c2b25 idx 6) with 6 nodes
-127.0.0.1:7000 has the object (should be 2 copies)
-127.0.0.1:7005 has the object (should be 2 copies)
-Looking for the object 0x7c2b2500000007 (the inode vid 0x7c2b25 idx 7) with 2 nodes
+127.0.0.1:7000 has the object (should be 6 copies)
+127.0.0.1:7005 has the object (should be 6 copies)
+127.0.0.1:7006 has the object (should be 6 copies)
+127.0.0.1:7007 has the object (should be 6 copies)
+127.0.0.1:7008 has the object (should be 6 copies)
+127.0.0.1:7009 has the object (should be 6 copies)
+Looking for the object 0x7c2b2500000007 (the inode vid 0x7c2b25 idx 7) with 6 nodes
-127.0.0.1:7000 has the object (should be 2 copies)
-127.0.0.1:7005 has the object (should be 2 copies)
-Looking for the object 0x7c2b2500000008 (the inode vid 0x7c2b25 idx 8) with 2 nodes
+127.0.0.1:7000 has the object (should be 6 copies)
+127.0.0.1:7005 has the object (should be 6 copies)
+127.0.0.1:7006 has the object (should be 6 copies)
+127.0.0.1:7007 has the object (should be 6 copies)
+127.0.0.1:7008 has the object (should be 6 copies)
+127.0.0.1:7009 has the object (should be 6 copies)
+Looking for the object 0x7c2b2500000008 (the inode vid 0x7c2b25 idx 8) with 6 nodes
-127.0.0.1:7000 has the object (should be 2 copies)
-127.0.0.1:7005 has the object (should be 2 copies)
-Looking for the object 0x7c2b2500000009 (the inode vid 0x7c2b25 idx 9) with 2 nodes
+127.0.0.1:7000 has the object (should be 6 copies)
+127.0.0.1:7005 has the object (should be 6 copies)
+127.0.0.1:7006 has the object (should be 6 copies)
+127.0.0.1:7007 has the object (should be 6 copies)
+127.0.0.1:7008 has the object (should be 6 copies)
+127.0.0.1:7009 has the object (should be 6 copies)
+Looking for the object 0x7c2b2500000009 (the inode vid 0x7c2b25 idx 9) with 6 nodes
-127.0.0.1:7000 has the object (should be 2 copies)
-127.0.0.1:7005 has the object (should be 2 copies)
+127.0.0.1:7000 has the object (should be 6 copies)
+127.0.0.1:7005 has the object (should be 6 copies)
+127.0.0.1:7006 has the object (should be 6 copies)
+127.0.0.1:7007 has the object (should be 6 copies)
+127.0.0.1:7008 has the object (should be 6 copies)
+127.0.0.1:7009 has the object (should be 6 copies)
diff --git a/tests/functional/043 b/tests/functional/043
index d336cf5..7de94d8 100755
--- a/tests/functional/043
+++ b/tests/functional/043
@@ -4,15 +4,15 @@
. ./common
-for i in `seq 0 4`; do
+for i in `seq 0 9`; do
_start_sheep $i
done
-_wait_for_sheep 5
+_wait_for_sheep 10
-_cluster_format
+_cluster_format -c 6
-$DOG vdi create test 40M
+_vdi_create test 40M
for i in `seq 0 10`; do
echo $i | $DOG vdi write test $((i * 4 * 1024 * 1024)) 512
@@ -48,7 +48,7 @@ for i in 0 1 2 4; do
done
# check whether sheep 4 can receive notify event
-$DOG vdi create test2 20M
+_vdi_create test2 20M
for i in 0 1 2 4; do
_vdi_list -p 700$i
diff --git a/tests/functional/043.out b/tests/functional/043.out
index 9ce4dcd..fbfc21d 100644
--- a/tests/functional/043.out
+++ b/tests/functional/043.out
@@ -6,120 +6,120 @@ Cluster status: running, auto-recovery enabled
Cluster created at DATE
Epoch Time Version
-DATE 1 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002, 127.0.0.1:7003, 127.0.0.1:7004]
+DATE 1 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002, 127.0.0.1:7003, 127.0.0.1:7004, 127.0.0.1:7005, 127.0.0.1:7006, 127.0.0.1:7007, 127.0.0.1:7008, 127.0.0.1:7009]
e6fffdc037c9f623d1c03fda7ef9cabf -
Cluster status: running, auto-recovery enabled
Cluster created at DATE
Epoch Time Version
-DATE 1 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002, 127.0.0.1:7003, 127.0.0.1:7004]
+DATE 1 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002, 127.0.0.1:7003, 127.0.0.1:7004, 127.0.0.1:7005, 127.0.0.1:7006, 127.0.0.1:7007, 127.0.0.1:7008, 127.0.0.1:7009]
e6fffdc037c9f623d1c03fda7ef9cabf -
Cluster status: running, auto-recovery enabled
Cluster created at DATE
Epoch Time Version
-DATE 1 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002, 127.0.0.1:7003, 127.0.0.1:7004]
+DATE 1 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002, 127.0.0.1:7003, 127.0.0.1:7004, 127.0.0.1:7005, 127.0.0.1:7006, 127.0.0.1:7007, 127.0.0.1:7008, 127.0.0.1:7009]
e6fffdc037c9f623d1c03fda7ef9cabf -
Cluster status: running, auto-recovery enabled
Cluster created at DATE
Epoch Time Version
-DATE 1 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002, 127.0.0.1:7003, 127.0.0.1:7004]
+DATE 1 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002, 127.0.0.1:7003, 127.0.0.1:7004, 127.0.0.1:7005, 127.0.0.1:7006, 127.0.0.1:7007, 127.0.0.1:7008, 127.0.0.1:7009]
e6fffdc037c9f623d1c03fda7ef9cabf -
Cluster status: running, auto-recovery enabled
Cluster created at DATE
Epoch Time Version
-DATE 1 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002, 127.0.0.1:7003, 127.0.0.1:7004]
+DATE 1 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002, 127.0.0.1:7003, 127.0.0.1:7004, 127.0.0.1:7005, 127.0.0.1:7006, 127.0.0.1:7007, 127.0.0.1:7008, 127.0.0.1:7009]
c2f72711cc1e4781841aa416f0b43e0d -
Cluster status: running, auto-recovery enabled
Cluster created at DATE
Epoch Time Version
-DATE 2 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002, 127.0.0.1:7003]
-DATE 1 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002, 127.0.0.1:7003, 127.0.0.1:7004]
+DATE 2 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002, 127.0.0.1:7003, 127.0.0.1:7005, 127.0.0.1:7006, 127.0.0.1:7007, 127.0.0.1:7008, 127.0.0.1:7009]
+DATE 1 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002, 127.0.0.1:7003, 127.0.0.1:7004, 127.0.0.1:7005, 127.0.0.1:7006, 127.0.0.1:7007, 127.0.0.1:7008, 127.0.0.1:7009]
c2f72711cc1e4781841aa416f0b43e0d -
Cluster status: running, auto-recovery enabled
Cluster created at DATE
Epoch Time Version
-DATE 2 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002, 127.0.0.1:7003]
-DATE 1 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002, 127.0.0.1:7003, 127.0.0.1:7004]
+DATE 2 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002, 127.0.0.1:7003, 127.0.0.1:7005, 127.0.0.1:7006, 127.0.0.1:7007, 127.0.0.1:7008, 127.0.0.1:7009]
+DATE 1 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002, 127.0.0.1:7003, 127.0.0.1:7004, 127.0.0.1:7005, 127.0.0.1:7006, 127.0.0.1:7007, 127.0.0.1:7008, 127.0.0.1:7009]
c2f72711cc1e4781841aa416f0b43e0d -
Cluster status: running, auto-recovery enabled
Cluster created at DATE
Epoch Time Version
-DATE 2 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002, 127.0.0.1:7003]
-DATE 1 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002, 127.0.0.1:7003, 127.0.0.1:7004]
+DATE 2 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002, 127.0.0.1:7003, 127.0.0.1:7005, 127.0.0.1:7006, 127.0.0.1:7007, 127.0.0.1:7008, 127.0.0.1:7009]
+DATE 1 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002, 127.0.0.1:7003, 127.0.0.1:7004, 127.0.0.1:7005, 127.0.0.1:7006, 127.0.0.1:7007, 127.0.0.1:7008, 127.0.0.1:7009]
c2f72711cc1e4781841aa416f0b43e0d -
Cluster status: running, auto-recovery enabled
Cluster created at DATE
Epoch Time Version
-DATE 2 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002, 127.0.0.1:7003]
-DATE 1 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002, 127.0.0.1:7003, 127.0.0.1:7004]
+DATE 2 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002, 127.0.0.1:7003, 127.0.0.1:7005, 127.0.0.1:7006, 127.0.0.1:7007, 127.0.0.1:7008, 127.0.0.1:7009]
+DATE 1 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002, 127.0.0.1:7003, 127.0.0.1:7004, 127.0.0.1:7005, 127.0.0.1:7006, 127.0.0.1:7007, 127.0.0.1:7008, 127.0.0.1:7009]
c2f72711cc1e4781841aa416f0b43e0d -
Cluster status: running, auto-recovery enabled
Cluster created at DATE
Epoch Time Version
-DATE 2 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002, 127.0.0.1:7003]
-DATE 1 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002, 127.0.0.1:7003, 127.0.0.1:7004]
+DATE 2 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002, 127.0.0.1:7003, 127.0.0.1:7005, 127.0.0.1:7006, 127.0.0.1:7007, 127.0.0.1:7008, 127.0.0.1:7009]
+DATE 1 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002, 127.0.0.1:7003, 127.0.0.1:7004, 127.0.0.1:7005, 127.0.0.1:7006, 127.0.0.1:7007, 127.0.0.1:7008, 127.0.0.1:7009]
99970159bd855e83ced168eca46ae6c5 -
Cluster status: running, auto-recovery enabled
Cluster created at DATE
Epoch Time Version
-DATE 3 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002]
-DATE 2 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002, 127.0.0.1:7003]
-DATE 1 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002, 127.0.0.1:7003, 127.0.0.1:7004]
+DATE 3 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002, 127.0.0.1:7005, 127.0.0.1:7006, 127.0.0.1:7007, 127.0.0.1:7008, 127.0.0.1:7009]
+DATE 2 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002, 127.0.0.1:7003, 127.0.0.1:7005, 127.0.0.1:7006, 127.0.0.1:7007, 127.0.0.1:7008, 127.0.0.1:7009]
+DATE 1 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002, 127.0.0.1:7003, 127.0.0.1:7004, 127.0.0.1:7005, 127.0.0.1:7006, 127.0.0.1:7007, 127.0.0.1:7008, 127.0.0.1:7009]
99970159bd855e83ced168eca46ae6c5 -
Cluster status: running, auto-recovery enabled
Cluster created at DATE
Epoch Time Version
-DATE 3 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002]
-DATE 2 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002, 127.0.0.1:7003]
-DATE 1 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002, 127.0.0.1:7003, 127.0.0.1:7004]
+DATE 3 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002, 127.0.0.1:7005, 127.0.0.1:7006, 127.0.0.1:7007, 127.0.0.1:7008, 127.0.0.1:7009]
+DATE 2 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002, 127.0.0.1:7003, 127.0.0.1:7005, 127.0.0.1:7006, 127.0.0.1:7007, 127.0.0.1:7008, 127.0.0.1:7009]
+DATE 1 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002, 127.0.0.1:7003, 127.0.0.1:7004, 127.0.0.1:7005, 127.0.0.1:7006, 127.0.0.1:7007, 127.0.0.1:7008, 127.0.0.1:7009]
99970159bd855e83ced168eca46ae6c5 -
Cluster status: running, auto-recovery enabled
Cluster created at DATE
Epoch Time Version
-DATE 3 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002]
-DATE 2 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002, 127.0.0.1:7003]
-DATE 1 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002, 127.0.0.1:7003, 127.0.0.1:7004]
+DATE 3 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002, 127.0.0.1:7005, 127.0.0.1:7006, 127.0.0.1:7007, 127.0.0.1:7008, 127.0.0.1:7009]
+DATE 2 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002, 127.0.0.1:7003, 127.0.0.1:7005, 127.0.0.1:7006, 127.0.0.1:7007, 127.0.0.1:7008, 127.0.0.1:7009]
+DATE 1 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002, 127.0.0.1:7003, 127.0.0.1:7004, 127.0.0.1:7005, 127.0.0.1:7006, 127.0.0.1:7007, 127.0.0.1:7008, 127.0.0.1:7009]
99970159bd855e83ced168eca46ae6c5 -
Cluster status: running, auto-recovery enabled
Cluster created at DATE
Epoch Time Version
-DATE 3 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002]
-DATE 2 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002, 127.0.0.1:7003]
-DATE 1 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002, 127.0.0.1:7003, 127.0.0.1:7004]
+DATE 3 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002, 127.0.0.1:7005, 127.0.0.1:7006, 127.0.0.1:7007, 127.0.0.1:7008, 127.0.0.1:7009]
+DATE 2 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002, 127.0.0.1:7003, 127.0.0.1:7005, 127.0.0.1:7006, 127.0.0.1:7007, 127.0.0.1:7008, 127.0.0.1:7009]
+DATE 1 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002, 127.0.0.1:7003, 127.0.0.1:7004, 127.0.0.1:7005, 127.0.0.1:7006, 127.0.0.1:7007, 127.0.0.1:7008, 127.0.0.1:7009]
Name Id Size Used Shared Creation time VDI id Copies Tag
- test 0 40 MB 40 MB 0.0 MB DATE 7c2b25 3
- test2 0 20 MB 0.0 MB 0.0 MB DATE fd3815 3
+ test 0 40 MB 40 MB 0.0 MB DATE 7c2b25 6
+ test2 0 20 MB 0.0 MB 0.0 MB DATE fd3815 6
Name Id Size Used Shared Creation time VDI id Copies Tag
- test 0 40 MB 40 MB 0.0 MB DATE 7c2b25 3
- test2 0 20 MB 0.0 MB 0.0 MB DATE fd3815 3
+ test 0 40 MB 40 MB 0.0 MB DATE 7c2b25 6
+ test2 0 20 MB 0.0 MB 0.0 MB DATE fd3815 6
Name Id Size Used Shared Creation time VDI id Copies Tag
- test 0 40 MB 40 MB 0.0 MB DATE 7c2b25 3
- test2 0 20 MB 0.0 MB 0.0 MB DATE fd3815 3
+ test 0 40 MB 40 MB 0.0 MB DATE 7c2b25 6
+ test2 0 20 MB 0.0 MB 0.0 MB DATE fd3815 6
Name Id Size Used Shared Creation time VDI id Copies Tag
- test 0 40 MB 40 MB 0.0 MB DATE 7c2b25 3
- test2 0 20 MB 0.0 MB 0.0 MB DATE fd3815 3
+ test 0 40 MB 40 MB 0.0 MB DATE 7c2b25 6
+ test2 0 20 MB 0.0 MB 0.0 MB DATE fd3815 6
diff --git a/tests/functional/045 b/tests/functional/045
index 530af28..2c8c8d9 100755
--- a/tests/functional/045
+++ b/tests/functional/045
@@ -4,14 +4,14 @@
. ./common
-for i in 0 1 2; do
+for i in `seq 0 5`; do
_start_sheep $i
done
-_wait_for_sheep 3
+_wait_for_sheep 6
-_cluster_format -c 2
-$DOG vdi create test 4M
+_cluster_format -c 6
+_vdi_create test 4M
for i in `seq 0 7`; do
echo $i | $DOG vdi write test $(($i * 1536 + 512)) 512
diff --git a/tests/functional/050 b/tests/functional/050
index f7ddd8e..ab28f1f 100755
--- a/tests/functional/050
+++ b/tests/functional/050
@@ -14,13 +14,13 @@ _uninit()
_need_to_be_root
-for i in `seq 0 2`; do
+for i in `seq 0 5`; do
_start_sheep $i "-i host=127.0.0.1,port=$((8000+$i))"
done
-_wait_for_sheep 3
+_wait_for_sheep 6
-_cluster_format
+_cluster_format -c 6
$DOG vdi create test 100M
dd if=/dev/zero | $DOG vdi write test &
diff --git a/tests/functional/054 b/tests/functional/054
index 3b28bae..df0cdf4 100755
--- a/tests/functional/054
+++ b/tests/functional/054
@@ -9,21 +9,24 @@ _make_device 0 $((1024 ** 3))
_make_device 1 $((2 * 1024 ** 3))
_make_device 2 $((3 * 1024 ** 3))
_make_device 3 $((3 * 1024 ** 3))
+_make_device 4 $((4 * 1024 ** 3))
+_make_device 5 $((5 * 1024 ** 3))
+_make_device 6 $((6 * 1024 ** 3))
#start three in different size
-for i in 0 1 2; do
+for i in `seq 0 5`; do
_start_sheep $i
done
-_wait_for_sheep 3
-_cluster_format
+_wait_for_sheep 6
+_cluster_format -c 6
-$DOG vdi create test 100M -P
+_vdi_create test 100M -P
$DOG cluster info | _filter_cluster_info
#start recovery
-_start_sheep 3
+_start_sheep 6
-_wait_for_sheep 4
+_wait_for_sheep 7
_wait_for_sheep_recovery 0
$DOG cluster info | _filter_cluster_info
diff --git a/tests/functional/054.out b/tests/functional/054.out
index e665a2d..43b41d6 100644
--- a/tests/functional/054.out
+++ b/tests/functional/054.out
@@ -5,12 +5,12 @@ Cluster status: running, auto-recovery enabled
Cluster created at DATE
Epoch Time Version
-DATE 1 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002]
+DATE 1 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002, 127.0.0.1:7003, 127.0.0.1:7004, 127.0.0.1:7005]
Cluster status: running, auto-recovery enabled
Cluster created at DATE
Epoch Time Version
-DATE 2 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002, 127.0.0.1:7003]
-DATE 1 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002]
+DATE 2 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002, 127.0.0.1:7003, 127.0.0.1:7004, 127.0.0.1:7005, 127.0.0.1:7006]
+DATE 1 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002, 127.0.0.1:7003, 127.0.0.1:7004, 127.0.0.1:7005]
0
diff --git a/tests/functional/060 b/tests/functional/060
index 3dfc15f..fe9eab9 100755
--- a/tests/functional/060
+++ b/tests/functional/060
@@ -9,10 +9,10 @@ done
_wait_for_sheep 8
-_cluster_format
+_cluster_format -c 6
for i in `seq 0 3`; do
- $DOG vdi create test$i 100M
+ _vdi_create test$i 100M
for j in `seq 0 24`; do
echo "$i $j" | $DOG vdi write test$i $(($j * 4 * 1024 ** 2)) 512
diff --git a/tests/functional/060.out b/tests/functional/060.out
index 1bdd541..de66487 100644
--- a/tests/functional/060.out
+++ b/tests/functional/060.out
@@ -5,73 +5,73 @@ fee603199c05d11ae60851eb95bbc5fb -
10040f8a44618b0764c5a73a12f58772 -
7357bb73af7ab89d0083925863810ee3 -
Name Id Size Used Shared Creation time VDI id Copies Tag
- test1 0 100 MB 100 MB 0.0 MB DATE fd32fc 3
- test0 0 100 MB 100 MB 0.0 MB DATE fd34af 3
- test3 0 100 MB 100 MB 0.0 MB DATE fd3662 3
- test2 0 100 MB 100 MB 0.0 MB DATE fd3815 3
+ test1 0 100 MB 100 MB 0.0 MB DATE fd32fc 6
+ test0 0 100 MB 100 MB 0.0 MB DATE fd34af 6
+ test3 0 100 MB 100 MB 0.0 MB DATE fd3662 6
+ test2 0 100 MB 100 MB 0.0 MB DATE fd3815 6
fb3833490ceb868a81ab0ba8bda8fdda -
fee603199c05d11ae60851eb95bbc5fb -
10040f8a44618b0764c5a73a12f58772 -
7357bb73af7ab89d0083925863810ee3 -
Name Id Size Used Shared Creation time VDI id Copies Tag
- test1 0 100 MB 100 MB 0.0 MB DATE fd32fc 3
- test0 0 100 MB 100 MB 0.0 MB DATE fd34af 3
- test3 0 100 MB 100 MB 0.0 MB DATE fd3662 3
- test2 0 100 MB 100 MB 0.0 MB DATE fd3815 3
+ test1 0 100 MB 100 MB 0.0 MB DATE fd32fc 6
+ test0 0 100 MB 100 MB 0.0 MB DATE fd34af 6
+ test3 0 100 MB 100 MB 0.0 MB DATE fd3662 6
+ test2 0 100 MB 100 MB 0.0 MB DATE fd3815 6
fb3833490ceb868a81ab0ba8bda8fdda -
fee603199c05d11ae60851eb95bbc5fb -
10040f8a44618b0764c5a73a12f58772 -
7357bb73af7ab89d0083925863810ee3 -
Name Id Size Used Shared Creation time VDI id Copies Tag
- test1 0 100 MB 100 MB 0.0 MB DATE fd32fc 3
- test0 0 100 MB 100 MB 0.0 MB DATE fd34af 3
- test3 0 100 MB 100 MB 0.0 MB DATE fd3662 3
- test2 0 100 MB 100 MB 0.0 MB DATE fd3815 3
+ test1 0 100 MB 100 MB 0.0 MB DATE fd32fc 6
+ test0 0 100 MB 100 MB 0.0 MB DATE fd34af 6
+ test3 0 100 MB 100 MB 0.0 MB DATE fd3662 6
+ test2 0 100 MB 100 MB 0.0 MB DATE fd3815 6
fb3833490ceb868a81ab0ba8bda8fdda -
fee603199c05d11ae60851eb95bbc5fb -
10040f8a44618b0764c5a73a12f58772 -
7357bb73af7ab89d0083925863810ee3 -
Name Id Size Used Shared Creation time VDI id Copies Tag
- test1 0 100 MB 100 MB 0.0 MB DATE fd32fc 3
- test0 0 100 MB 100 MB 0.0 MB DATE fd34af 3
- test3 0 100 MB 100 MB 0.0 MB DATE fd3662 3
- test2 0 100 MB 100 MB 0.0 MB DATE fd3815 3
+ test1 0 100 MB 100 MB 0.0 MB DATE fd32fc 6
+ test0 0 100 MB 100 MB 0.0 MB DATE fd34af 6
+ test3 0 100 MB 100 MB 0.0 MB DATE fd3662 6
+ test2 0 100 MB 100 MB 0.0 MB DATE fd3815 6
fb3833490ceb868a81ab0ba8bda8fdda -
fee603199c05d11ae60851eb95bbc5fb -
10040f8a44618b0764c5a73a12f58772 -
7357bb73af7ab89d0083925863810ee3 -
Name Id Size Used Shared Creation time VDI id Copies Tag
- test1 0 100 MB 100 MB 0.0 MB DATE fd32fc 3
- test0 0 100 MB 100 MB 0.0 MB DATE fd34af 3
- test3 0 100 MB 100 MB 0.0 MB DATE fd3662 3
- test2 0 100 MB 100 MB 0.0 MB DATE fd3815 3
+ test1 0 100 MB 100 MB 0.0 MB DATE fd32fc 6
+ test0 0 100 MB 100 MB 0.0 MB DATE fd34af 6
+ test3 0 100 MB 100 MB 0.0 MB DATE fd3662 6
+ test2 0 100 MB 100 MB 0.0 MB DATE fd3815 6
fb3833490ceb868a81ab0ba8bda8fdda -
fee603199c05d11ae60851eb95bbc5fb -
10040f8a44618b0764c5a73a12f58772 -
7357bb73af7ab89d0083925863810ee3 -
Name Id Size Used Shared Creation time VDI id Copies Tag
- test1 0 100 MB 100 MB 0.0 MB DATE fd32fc 3
- test0 0 100 MB 100 MB 0.0 MB DATE fd34af 3
- test3 0 100 MB 100 MB 0.0 MB DATE fd3662 3
- test2 0 100 MB 100 MB 0.0 MB DATE fd3815 3
+ test1 0 100 MB 100 MB 0.0 MB DATE fd32fc 6
+ test0 0 100 MB 100 MB 0.0 MB DATE fd34af 6
+ test3 0 100 MB 100 MB 0.0 MB DATE fd3662 6
+ test2 0 100 MB 100 MB 0.0 MB DATE fd3815 6
fb3833490ceb868a81ab0ba8bda8fdda -
fee603199c05d11ae60851eb95bbc5fb -
10040f8a44618b0764c5a73a12f58772 -
7357bb73af7ab89d0083925863810ee3 -
Name Id Size Used Shared Creation time VDI id Copies Tag
- test1 0 100 MB 100 MB 0.0 MB DATE fd32fc 3
- test0 0 100 MB 100 MB 0.0 MB DATE fd34af 3
- test3 0 100 MB 100 MB 0.0 MB DATE fd3662 3
- test2 0 100 MB 100 MB 0.0 MB DATE fd3815 3
+ test1 0 100 MB 100 MB 0.0 MB DATE fd32fc 6
+ test0 0 100 MB 100 MB 0.0 MB DATE fd34af 6
+ test3 0 100 MB 100 MB 0.0 MB DATE fd3662 6
+ test2 0 100 MB 100 MB 0.0 MB DATE fd3815 6
fb3833490ceb868a81ab0ba8bda8fdda -
fee603199c05d11ae60851eb95bbc5fb -
10040f8a44618b0764c5a73a12f58772 -
7357bb73af7ab89d0083925863810ee3 -
Name Id Size Used Shared Creation time VDI id Copies Tag
- test1 0 100 MB 100 MB 0.0 MB DATE fd32fc 3
- test0 0 100 MB 100 MB 0.0 MB DATE fd34af 3
- test3 0 100 MB 100 MB 0.0 MB DATE fd3662 3
- test2 0 100 MB 100 MB 0.0 MB DATE fd3815 3
+ test1 0 100 MB 100 MB 0.0 MB DATE fd32fc 6
+ test0 0 100 MB 100 MB 0.0 MB DATE fd34af 6
+ test3 0 100 MB 100 MB 0.0 MB DATE fd3662 6
+ test2 0 100 MB 100 MB 0.0 MB DATE fd3815 6
fb3833490ceb868a81ab0ba8bda8fdda -
fee603199c05d11ae60851eb95bbc5fb -
10040f8a44618b0764c5a73a12f58772 -
diff --git a/tests/functional/062 b/tests/functional/062
index 5133287..61899cc 100755
--- a/tests/functional/062
+++ b/tests/functional/062
@@ -4,15 +4,15 @@
. ./common
-for i in `seq 0 2`; do
+for i in `seq 0 5`; do
_start_sheep $i
done
-_wait_for_sheep 3
+_wait_for_sheep 6
-_cluster_format
+_cluster_format -c 6
-$DOG vdi create test 1234
+_vdi_create test 4095
sleep 1
$DOG vdi list -r test | awk '{$7="MASKED";print $0}'
@@ -30,3 +30,7 @@ echo xxx | $DOG vdi write test 1020 4
$DOG vdi read test 1020 4
$DOG vdi read test 510 5
$DOG vdi read test 1 6
+
+echo erasure code | $DOG vdi write test 1020 13
+echo xxxxxx | $DOG vdi write test 1022 6
+$DOG vdi read test 1020 13
diff --git a/tests/functional/062.out b/tests/functional/062.out
index 104c0a7..07aff8a 100644
--- a/tests/functional/062.out
+++ b/tests/functional/062.out
@@ -1,6 +1,6 @@
QA output created by 062
using backend plain store
-= test 0 1234 0 0 MASKED 7c2b25 3
+= test 0 4095 0 0 MASKED 7c2b25 6
hello
world
h!!!
@@ -8,3 +8,4 @@ h^^!
xxx
h^^!
world
+erxxxxxxcode
diff --git a/tests/functional/071 b/tests/functional/071
index de935a4..83c609d 100755
--- a/tests/functional/071
+++ b/tests/functional/071
@@ -4,15 +4,15 @@
. ./common
-for i in 0 1 2; do
+for i in `seq 0 5`; do
_start_sheep $i
done
-_wait_for_sheep 3
+_wait_for_sheep 6
-_cluster_format
+_cluster_format -c 6
-$DOG vdi create test 4M
+_vdi_create test 4M
# Create a 28 KB file. The first 12 KB (3 blocks) is filled with zero,
# next 4 KB is filled with one, and the rest is filled with zero.
diff --git a/tests/functional/check b/tests/functional/check
index a609c35..c8678f3 100755
--- a/tests/functional/check
+++ b/tests/functional/check
@@ -176,6 +176,10 @@ testlist options
MD=true
xpand=false
;;
+ -ec)
+ EC=true
+ xpand=false
+ ;;
-valgrind)
valgrind=true
diff --git a/tests/functional/common.config b/tests/functional/common.config
index 3a2230c..112f932 100644
--- a/tests/functional/common.config
+++ b/tests/functional/common.config
@@ -82,6 +82,7 @@ export DOG_PROG=${DOG_PROG:-../../dog/dog}
export DOG=${DOG:-$DOG_PROG}
export VALGRIND_OPTIONS=${VALGRIND_OPTIONS:-"-q"}
export MD=${MD:-false}
+export EC=${EC:-false}
export QEMU_IO=${QEMU_IO_PROG:-qemu-io}
export QEMU_IMG=${QEMU_IMG_PROG:-qemu-img}
export SHEEPFS=${SHEEPFS:-../../sheepfs/sheepfs}
diff --git a/tests/functional/common.rc b/tests/functional/common.rc
index f9f4ef7..24c1d99 100644
--- a/tests/functional/common.rc
+++ b/tests/functional/common.rc
@@ -510,5 +510,14 @@ _vdi_list()
$DOG vdi list $args | _filter_short_date
}
+_vdi_create()
+{
+ if $EC; then
+ $DOG vdi create -e $*
+ else
+ $DOG vdi create $*
+ fi
+}
+
# make sure this script returns success
/bin/true
--
1.7.9.5
More information about the sheepdog
mailing list