This new test case checks recovery process for a case of nr nodes < nr data stripes.
Signed-off-by: Hitoshi Mitake <[email protected]> --- tests/functional/098 | 46 ++++++++++++++++++++++++++++++++++++++++++++++ tests/functional/098.out | 36 ++++++++++++++++++++++++++++++++++++ tests/functional/group | 1 + 3 files changed, 83 insertions(+) create mode 100755 tests/functional/098 create mode 100644 tests/functional/098.out diff --git a/tests/functional/098 b/tests/functional/098 new file mode 100755 index 0000000..c0956c2 --- /dev/null +++ b/tests/functional/098 @@ -0,0 +1,46 @@ +#!/bin/bash + +# Test recovery process of erasure coding in a case of nr nodes < nr data stripe + +. ./common + +for i in 0 1 2; do + _start_sheep $i +done +_wait_for_sheep 3 +_cluster_format -c 2:1 + +$DOG vdi create test 64M + +_random | $DOG vdi write test 0 $((4 * 1024 * 1024 * 64)) + +$DOG node list + +BEFORE=`$DOG vdi read test | md5sum` + +_kill_sheep 1 +_wait_for_sheep_stop 1 +$DOG cluster info | _filter_cluster_info + +_kill_sheep 2 +_wait_for_sheep_stop 2 +$DOG cluster info | _filter_cluster_info + +for i in 1 2; do + _start_sheep $i +done +_wait_for_sheep 3 +$DOG cluster info | _filter_cluster_info + +$DOG node list + +AFTER=`$DOG vdi read test | md5sum` + +if [[ $BEFORE = $AFTER ]] +then + echo "checksum matched, success" +else + echo "checksum not matched, fail" + echo "before: " $BEFORE + echo "after: " $AFTER +fi diff --git a/tests/functional/098.out b/tests/functional/098.out new file mode 100644 index 0000000..ff9b461 --- /dev/null +++ b/tests/functional/098.out @@ -0,0 +1,36 @@ +QA output created by 098 +using backend plain store + Id Host:Port V-Nodes Zone + 0 127.0.0.1:7000 128 0 + 1 127.0.0.1:7001 128 1 + 2 127.0.0.1:7002 128 2 +Cluster status: running, auto-recovery enabled + +Cluster created at DATE + +Epoch Time Version +DATE 2 [127.0.0.1:7000, 127.0.0.1:7002] +DATE 1 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002] +Cluster status: running, auto-recovery enabled + +Cluster created at DATE + +Epoch Time Version +DATE 3 [127.0.0.1:7000] +DATE 2 [127.0.0.1:7000, 127.0.0.1:7002] +DATE 1 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002] +Cluster status: running, auto-recovery enabled + +Cluster created at DATE + +Epoch Time Version +DATE 5 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002] +DATE 4 [127.0.0.1:7000, 127.0.0.1:7001] +DATE 3 [127.0.0.1:7000] +DATE 2 [127.0.0.1:7000, 127.0.0.1:7002] +DATE 1 [127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002] + Id Host:Port V-Nodes Zone + 0 127.0.0.1:7000 128 0 + 1 127.0.0.1:7001 128 1 + 2 127.0.0.1:7002 128 2 +checksum matched, success diff --git a/tests/functional/group b/tests/functional/group index 3c49815..3e331c9 100644 --- a/tests/functional/group +++ b/tests/functional/group @@ -112,3 +112,4 @@ 095 auto quick store md 096 auto quick cluster 097 vdi cluster +098 auto quick vdi cluster \ No newline at end of file -- 1.8.3.2 -- sheepdog mailing list [email protected] http://lists.wpkg.org/mailman/listinfo/sheepdog
