[sheepdog] [PATCH] test/func: add test cases for alter cluster copy and alter vdi copy

Ruoyu liangry at ucweb.com
Fri Aug 8 05:10:29 CEST 2014


New test suite 096 is added.

Signed-off-by: Ruoyu <liangry at ucweb.com>
---
 tests/functional/096     | 102 +++++++++
 tests/functional/096.out | 552 +++++++++++++++++++++++++++++++++++++++++++++++
 tests/functional/group   |   1 +
 3 files changed, 655 insertions(+)
 create mode 100755 tests/functional/096
 create mode 100644 tests/functional/096.out

diff --git a/tests/functional/096 b/tests/functional/096
new file mode 100755
index 0000000..16f7ed7
--- /dev/null
+++ b/tests/functional/096
@@ -0,0 +1,102 @@
+#!/bin/bash
+
+# Test changing replica number
+
+num=6
+
+. ./common
+
+_log_and_exec()
+{
+	echo -e "\n\$ $1"
+	$1
+}
+
+_log_and_exec_force()
+{
+	echo -e "\n\$ $1"
+	echo "yes" | $1
+}
+
+_list_obj()
+{
+    echo -e "\n#### VDI OBJECT LIST\n"
+    ls $STORE/[0-9]/obj/80*
+    echo -e "\n#### DATA OBJECT LIST\n"
+    ls $STORE/[0-9]/obj/00*
+}
+
+_vdi_alter_copy()
+{
+    echo -e "\n### CHANGE TO $2 REPLICA"
+	_log_and_exec_force "$DOG vdi alter-copy $1 -c $2"
+    _wait_for_sheep_recovery 0
+	_log_and_exec "$DOG vdi list" | _filter_short_date
+	_list_obj
+}
+
+for i in `seq 0 $(($num-1))`; do
+    _start_sheep $i
+done
+_wait_for_sheep $num
+
+echo -e "\n## EC NOT SUPPORTED"
+_log_and_exec "$DOG cluster format -c 4:2"
+_log_and_exec "$DOG cluster alter-copy -c 3"
+_log_and_exec "$DOG vdi create test 4M"
+_log_and_exec "$DOG vdi alter-copy test -c 3"
+echo -e "\n-----\n"
+
+echo -e "## INITIAL STATUS"
+_log_and_exec_force "$DOG cluster format -c 3"
+_log_and_exec "$DOG cluster info -v" | _filter_cluster_info
+echo -e "\n-----\n"
+
+echo -e "## INVALID CLUSTER REPLICA"
+_log_and_exec "$DOG cluster alter-copy -c something"
+_log_and_exec "$DOG cluster alter-copy -c 0"
+_log_and_exec "$DOG cluster alter-copy -c 3"
+_log_and_exec "$DOG cluster alter-copy -c 4:2"
+echo -e "\n-----\n"
+
+echo -e "## VALID CLUSTER REPLICA"
+_log_and_exec_force "$DOG cluster alter-copy -c 2"
+_log_and_exec "$DOG cluster info -v" | _filter_cluster_info
+_log_and_exec "$DOG vdi create test 12M -P"
+_log_and_exec "$DOG vdi list" | _filter_short_date
+_list_obj
+echo -e "\n-----\n"
+
+echo -e "## INVALID VDI REPLICA"
+_log_and_exec "$DOG vdi alter-copy test -c something"
+_log_and_exec "$DOG vdi alter-copy test -c 0"
+_log_and_exec "$DOG vdi alter-copy test -c 2"
+_log_and_exec "$DOG vdi alter-copy test -c 4:2"
+echo -e "\n-----\n"
+
+echo -e "## VALID VDI REPLICA (INCREASE)"
+for i in `seq 3 $num`; do
+    _vdi_alter_copy test $i
+done
+echo -e "\n-----\n"
+
+echo -e "## VALID VDI REPLICA (DECREASE)"
+for i in `seq $(($num-1)) -1 1`; do
+    _vdi_alter_copy test $i
+done
+echo -e "\n-----\n"
+
+echo -e "## CANNOT CHANGE REPLICA IF OBJECTS SHARED WITH OTHER VDI"
+_log_and_exec "$DOG vdi snapshot -s s1 test"
+_log_and_exec "$DOG vdi clone -s s1 test clone1"
+_vdi_alter_copy test 2
+_vdi_alter_copy clone1 2
+echo -e "\n-----\n"
+
+echo -e "## IT IS OK IF OBJECTS NOT SHARED WITH OTHER VDI"
+_log_and_exec "$DOG vdi clone -n -s s1 test clone2"
+_vdi_alter_copy clone2 2
+echo -e "\n-----\n"
+
+$DOG cluster shutdown
+
diff --git a/tests/functional/096.out b/tests/functional/096.out
new file mode 100644
index 0000000..55fc33a
--- /dev/null
+++ b/tests/functional/096.out
@@ -0,0 +1,552 @@
+QA output created by 096
+
+## EC NOT SUPPORTED
+
+$ ../../dog/dog cluster format -c 4:2
+using backend plain store
+
+$ ../../dog/dog cluster alter-copy -c 3
+The cluster's copy policy is erasure code, changing it is not supported yet.
+
+$ ../../dog/dog vdi create test 4M
+
+$ ../../dog/dog vdi alter-copy test -c 3
+test's copy policy is erasure code, changing it is not supported yet.
+
+-----
+
+## INITIAL STATUS
+
+$ ../../dog/dog cluster format -c 3
+    __
+   ()'`;
+   /\|`
+  /  |   Caution! The cluster is not empty.
+(/_)_|_  Are you sure you want to continue? [yes/no]: using backend plain store
+
+$ ../../dog/dog cluster info -v
+Cluster status: running, auto-recovery enabled
+Cluster store: plain with 3 redundancy policy
+Cluster vnode mode: node
+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, 127.0.0.1:7005]
+
+-----
+
+## INVALID CLUSTER REPLICA
+
+$ ../../dog/dog cluster alter-copy -c something
+Invalid parameter something
+To create replicated vdi, set -c x
+  x(1 to 31)   - number of replicated copies
+To create erasure coded vdi, set -c x:y
+  x(2,4,8,16)  - number of data strips
+  y(1 to 15)   - number of parity strips
+
+$ ../../dog/dog cluster alter-copy -c 0
+Invalid parameter 0
+To create replicated vdi, set -c x
+  x(1 to 31)   - number of replicated copies
+To create erasure coded vdi, set -c x:y
+  x(2,4,8,16)  - number of data strips
+  y(1 to 15)   - number of parity strips
+
+$ ../../dog/dog cluster alter-copy -c 3
+The cluster's redundancy level is already set to 3, nothing changed.
+
+$ ../../dog/dog cluster alter-copy -c 4:2
+Changing redundancy level of erasure coded vdi is not supported yet.
+Usage: dog cluster alter-copy [-a address] [-p port] [-h] [-t] [-c copies]
+Options:
+  -a, --address           specify the daemon address (default: localhost)
+  -p, --port              specify the daemon port
+  -h, --help              display this help and exit
+  -t, --time              show elapsed time
+  -c, --copies            specify the default data redundancy (number of copies)
+
+-----
+
+## VALID CLUSTER REPLICA
+
+$ ../../dog/dog cluster alter-copy -c 2
+The cluster's redundancy level is set to 2, the old one was 3.
+    __
+   ()'`;
+   /\|`  Caution! Changing cluster's redundancy level will affect
+  /  |   all the VDIs to be created later.
+(/_)_|_  Are you sure you want to continue? [yes/no]: 
+$ ../../dog/dog cluster info -v
+Cluster status: running, auto-recovery enabled
+Cluster store: plain with 2 redundancy policy
+Cluster vnode mode: node
+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, 127.0.0.1:7005]
+
+$ ../../dog/dog vdi create test 12M -P
+
+$ ../../dog/dog vdi list
+  Name        Id    Size    Used  Shared    Creation time   VDI id  Copies  Tag
+  test         0   12 MB   12 MB  0.0 MB DATE   7c2b25      2              
+
+#### VDI OBJECT LIST
+
+/tmp/sheepdog/096/2/obj/807c2b2500000000
+/tmp/sheepdog/096/4/obj/807c2b2500000000
+
+#### DATA OBJECT LIST
+
+/tmp/sheepdog/096/0/obj/007c2b2500000001
+/tmp/sheepdog/096/0/obj/007c2b2500000002
+/tmp/sheepdog/096/1/obj/007c2b2500000000
+/tmp/sheepdog/096/1/obj/007c2b2500000001
+/tmp/sheepdog/096/3/obj/007c2b2500000000
+/tmp/sheepdog/096/5/obj/007c2b2500000002
+
+-----
+
+## INVALID VDI REPLICA
+
+$ ../../dog/dog vdi alter-copy test -c something
+Invalid parameter something
+To create replicated vdi, set -c x
+  x(1 to 31)   - number of replicated copies
+To create erasure coded vdi, set -c x:y
+  x(2,4,8,16)  - number of data strips
+  y(1 to 15)   - number of parity strips
+
+$ ../../dog/dog vdi alter-copy test -c 0
+Invalid parameter 0
+To create replicated vdi, set -c x
+  x(1 to 31)   - number of replicated copies
+To create erasure coded vdi, set -c x:y
+  x(2,4,8,16)  - number of data strips
+  y(1 to 15)   - number of parity strips
+
+$ ../../dog/dog vdi alter-copy test -c 2
+test's redundancy level is already set to 2, nothing changed.
+
+$ ../../dog/dog vdi alter-copy test -c 4:2
+Changing redundancy level of erasure coded vdi is not supported yet.
+Usage: dog vdi alter-copy [-c copies] [-a address] [-p port] [-h] [-t] <vdiname>
+Options:
+  -c, --copies            specify the data redundancy level
+  -a, --address           specify the daemon address (default: localhost)
+  -p, --port              specify the daemon port
+  -h, --help              display this help and exit
+  -t, --time              show elapsed time
+
+-----
+
+## VALID VDI REPLICA (INCREASE)
+
+### CHANGE TO 3 REPLICA
+
+$ ../../dog/dog vdi alter-copy test -c 3
+test's redundancy level is set to 3, the old one was 2.
+    __
+   ()'`;
+   /\|`  Caution! Changing VDI's redundancy level will affect
+  /  |   the VDI itself only and trigger recovery.
+(/_)_|_  Are you sure you want to continue? [yes/no]: 
+$ ../../dog/dog vdi list
+  Name        Id    Size    Used  Shared    Creation time   VDI id  Copies  Tag
+  test         0   12 MB   12 MB  0.0 MB DATE   7c2b25      3              
+
+#### VDI OBJECT LIST
+
+/tmp/sheepdog/096/1/obj/807c2b2500000000
+/tmp/sheepdog/096/2/obj/807c2b2500000000
+/tmp/sheepdog/096/4/obj/807c2b2500000000
+
+#### DATA OBJECT LIST
+
+/tmp/sheepdog/096/0/obj/007c2b2500000000
+/tmp/sheepdog/096/0/obj/007c2b2500000001
+/tmp/sheepdog/096/0/obj/007c2b2500000002
+/tmp/sheepdog/096/1/obj/007c2b2500000000
+/tmp/sheepdog/096/1/obj/007c2b2500000001
+/tmp/sheepdog/096/2/obj/007c2b2500000002
+/tmp/sheepdog/096/3/obj/007c2b2500000000
+/tmp/sheepdog/096/5/obj/007c2b2500000001
+/tmp/sheepdog/096/5/obj/007c2b2500000002
+
+### CHANGE TO 4 REPLICA
+
+$ ../../dog/dog vdi alter-copy test -c 4
+test's redundancy level is set to 4, the old one was 3.
+    __
+   ()'`;
+   /\|`  Caution! Changing VDI's redundancy level will affect
+  /  |   the VDI itself only and trigger recovery.
+(/_)_|_  Are you sure you want to continue? [yes/no]: 
+$ ../../dog/dog vdi list
+  Name        Id    Size    Used  Shared    Creation time   VDI id  Copies  Tag
+  test         0   12 MB   12 MB  0.0 MB DATE   7c2b25      4              
+
+#### VDI OBJECT LIST
+
+/tmp/sheepdog/096/1/obj/807c2b2500000000
+/tmp/sheepdog/096/2/obj/807c2b2500000000
+/tmp/sheepdog/096/4/obj/807c2b2500000000
+/tmp/sheepdog/096/5/obj/807c2b2500000000
+
+#### DATA OBJECT LIST
+
+/tmp/sheepdog/096/0/obj/007c2b2500000000
+/tmp/sheepdog/096/0/obj/007c2b2500000001
+/tmp/sheepdog/096/0/obj/007c2b2500000002
+/tmp/sheepdog/096/1/obj/007c2b2500000000
+/tmp/sheepdog/096/1/obj/007c2b2500000001
+/tmp/sheepdog/096/2/obj/007c2b2500000002
+/tmp/sheepdog/096/3/obj/007c2b2500000000
+/tmp/sheepdog/096/3/obj/007c2b2500000001
+/tmp/sheepdog/096/4/obj/007c2b2500000000
+/tmp/sheepdog/096/4/obj/007c2b2500000002
+/tmp/sheepdog/096/5/obj/007c2b2500000001
+/tmp/sheepdog/096/5/obj/007c2b2500000002
+
+### CHANGE TO 5 REPLICA
+
+$ ../../dog/dog vdi alter-copy test -c 5
+test's redundancy level is set to 5, the old one was 4.
+    __
+   ()'`;
+   /\|`  Caution! Changing VDI's redundancy level will affect
+  /  |   the VDI itself only and trigger recovery.
+(/_)_|_  Are you sure you want to continue? [yes/no]: 
+$ ../../dog/dog vdi list
+  Name        Id    Size    Used  Shared    Creation time   VDI id  Copies  Tag
+  test         0   12 MB   12 MB  0.0 MB DATE   7c2b25      5              
+
+#### VDI OBJECT LIST
+
+/tmp/sheepdog/096/1/obj/807c2b2500000000
+/tmp/sheepdog/096/2/obj/807c2b2500000000
+/tmp/sheepdog/096/3/obj/807c2b2500000000
+/tmp/sheepdog/096/4/obj/807c2b2500000000
+/tmp/sheepdog/096/5/obj/807c2b2500000000
+
+#### DATA OBJECT LIST
+
+/tmp/sheepdog/096/0/obj/007c2b2500000000
+/tmp/sheepdog/096/0/obj/007c2b2500000001
+/tmp/sheepdog/096/0/obj/007c2b2500000002
+/tmp/sheepdog/096/1/obj/007c2b2500000000
+/tmp/sheepdog/096/1/obj/007c2b2500000001
+/tmp/sheepdog/096/2/obj/007c2b2500000001
+/tmp/sheepdog/096/2/obj/007c2b2500000002
+/tmp/sheepdog/096/3/obj/007c2b2500000000
+/tmp/sheepdog/096/3/obj/007c2b2500000001
+/tmp/sheepdog/096/3/obj/007c2b2500000002
+/tmp/sheepdog/096/4/obj/007c2b2500000000
+/tmp/sheepdog/096/4/obj/007c2b2500000002
+/tmp/sheepdog/096/5/obj/007c2b2500000000
+/tmp/sheepdog/096/5/obj/007c2b2500000001
+/tmp/sheepdog/096/5/obj/007c2b2500000002
+
+### CHANGE TO 6 REPLICA
+
+$ ../../dog/dog vdi alter-copy test -c 6
+test's redundancy level is set to 6, the old one was 5.
+    __
+   ()'`;
+   /\|`  Caution! Changing VDI's redundancy level will affect
+  /  |   the VDI itself only and trigger recovery.
+(/_)_|_  Are you sure you want to continue? [yes/no]: 
+$ ../../dog/dog vdi list
+  Name        Id    Size    Used  Shared    Creation time   VDI id  Copies  Tag
+  test         0   12 MB   12 MB  0.0 MB DATE   7c2b25      6              
+
+#### VDI OBJECT LIST
+
+/tmp/sheepdog/096/0/obj/807c2b2500000000
+/tmp/sheepdog/096/1/obj/807c2b2500000000
+/tmp/sheepdog/096/2/obj/807c2b2500000000
+/tmp/sheepdog/096/3/obj/807c2b2500000000
+/tmp/sheepdog/096/4/obj/807c2b2500000000
+/tmp/sheepdog/096/5/obj/807c2b2500000000
+
+#### DATA OBJECT LIST
+
+/tmp/sheepdog/096/0/obj/007c2b2500000000
+/tmp/sheepdog/096/0/obj/007c2b2500000001
+/tmp/sheepdog/096/0/obj/007c2b2500000002
+/tmp/sheepdog/096/1/obj/007c2b2500000000
+/tmp/sheepdog/096/1/obj/007c2b2500000001
+/tmp/sheepdog/096/1/obj/007c2b2500000002
+/tmp/sheepdog/096/2/obj/007c2b2500000000
+/tmp/sheepdog/096/2/obj/007c2b2500000001
+/tmp/sheepdog/096/2/obj/007c2b2500000002
+/tmp/sheepdog/096/3/obj/007c2b2500000000
+/tmp/sheepdog/096/3/obj/007c2b2500000001
+/tmp/sheepdog/096/3/obj/007c2b2500000002
+/tmp/sheepdog/096/4/obj/007c2b2500000000
+/tmp/sheepdog/096/4/obj/007c2b2500000001
+/tmp/sheepdog/096/4/obj/007c2b2500000002
+/tmp/sheepdog/096/5/obj/007c2b2500000000
+/tmp/sheepdog/096/5/obj/007c2b2500000001
+/tmp/sheepdog/096/5/obj/007c2b2500000002
+
+-----
+
+## VALID VDI REPLICA (DECREASE)
+
+### CHANGE TO 5 REPLICA
+
+$ ../../dog/dog vdi alter-copy test -c 5
+test's redundancy level is set to 5, the old one was 6.
+    __
+   ()'`;
+   /\|`  Caution! Changing VDI's redundancy level will affect
+  /  |   the VDI itself only and trigger recovery.
+(/_)_|_  Are you sure you want to continue? [yes/no]: 
+$ ../../dog/dog vdi list
+  Name        Id    Size    Used  Shared    Creation time   VDI id  Copies  Tag
+  test         0   12 MB   12 MB  0.0 MB DATE   7c2b25      5              
+
+#### VDI OBJECT LIST
+
+/tmp/sheepdog/096/1/obj/807c2b2500000000
+/tmp/sheepdog/096/2/obj/807c2b2500000000
+/tmp/sheepdog/096/3/obj/807c2b2500000000
+/tmp/sheepdog/096/4/obj/807c2b2500000000
+/tmp/sheepdog/096/5/obj/807c2b2500000000
+
+#### DATA OBJECT LIST
+
+/tmp/sheepdog/096/0/obj/007c2b2500000000
+/tmp/sheepdog/096/0/obj/007c2b2500000001
+/tmp/sheepdog/096/0/obj/007c2b2500000002
+/tmp/sheepdog/096/1/obj/007c2b2500000000
+/tmp/sheepdog/096/1/obj/007c2b2500000001
+/tmp/sheepdog/096/2/obj/007c2b2500000001
+/tmp/sheepdog/096/2/obj/007c2b2500000002
+/tmp/sheepdog/096/3/obj/007c2b2500000000
+/tmp/sheepdog/096/3/obj/007c2b2500000001
+/tmp/sheepdog/096/3/obj/007c2b2500000002
+/tmp/sheepdog/096/4/obj/007c2b2500000000
+/tmp/sheepdog/096/4/obj/007c2b2500000002
+/tmp/sheepdog/096/5/obj/007c2b2500000000
+/tmp/sheepdog/096/5/obj/007c2b2500000001
+/tmp/sheepdog/096/5/obj/007c2b2500000002
+
+### CHANGE TO 4 REPLICA
+
+$ ../../dog/dog vdi alter-copy test -c 4
+test's redundancy level is set to 4, the old one was 5.
+    __
+   ()'`;
+   /\|`  Caution! Changing VDI's redundancy level will affect
+  /  |   the VDI itself only and trigger recovery.
+(/_)_|_  Are you sure you want to continue? [yes/no]: 
+$ ../../dog/dog vdi list
+  Name        Id    Size    Used  Shared    Creation time   VDI id  Copies  Tag
+  test         0   12 MB   12 MB  0.0 MB DATE   7c2b25      4              
+
+#### VDI OBJECT LIST
+
+/tmp/sheepdog/096/1/obj/807c2b2500000000
+/tmp/sheepdog/096/2/obj/807c2b2500000000
+/tmp/sheepdog/096/4/obj/807c2b2500000000
+/tmp/sheepdog/096/5/obj/807c2b2500000000
+
+#### DATA OBJECT LIST
+
+/tmp/sheepdog/096/0/obj/007c2b2500000000
+/tmp/sheepdog/096/0/obj/007c2b2500000001
+/tmp/sheepdog/096/0/obj/007c2b2500000002
+/tmp/sheepdog/096/1/obj/007c2b2500000000
+/tmp/sheepdog/096/1/obj/007c2b2500000001
+/tmp/sheepdog/096/2/obj/007c2b2500000002
+/tmp/sheepdog/096/3/obj/007c2b2500000000
+/tmp/sheepdog/096/3/obj/007c2b2500000001
+/tmp/sheepdog/096/4/obj/007c2b2500000000
+/tmp/sheepdog/096/4/obj/007c2b2500000002
+/tmp/sheepdog/096/5/obj/007c2b2500000001
+/tmp/sheepdog/096/5/obj/007c2b2500000002
+
+### CHANGE TO 3 REPLICA
+
+$ ../../dog/dog vdi alter-copy test -c 3
+test's redundancy level is set to 3, the old one was 4.
+    __
+   ()'`;
+   /\|`  Caution! Changing VDI's redundancy level will affect
+  /  |   the VDI itself only and trigger recovery.
+(/_)_|_  Are you sure you want to continue? [yes/no]: 
+$ ../../dog/dog vdi list
+  Name        Id    Size    Used  Shared    Creation time   VDI id  Copies  Tag
+  test         0   12 MB   12 MB  0.0 MB DATE   7c2b25      3              
+
+#### VDI OBJECT LIST
+
+/tmp/sheepdog/096/1/obj/807c2b2500000000
+/tmp/sheepdog/096/2/obj/807c2b2500000000
+/tmp/sheepdog/096/4/obj/807c2b2500000000
+
+#### DATA OBJECT LIST
+
+/tmp/sheepdog/096/0/obj/007c2b2500000000
+/tmp/sheepdog/096/0/obj/007c2b2500000001
+/tmp/sheepdog/096/0/obj/007c2b2500000002
+/tmp/sheepdog/096/1/obj/007c2b2500000000
+/tmp/sheepdog/096/1/obj/007c2b2500000001
+/tmp/sheepdog/096/2/obj/007c2b2500000002
+/tmp/sheepdog/096/3/obj/007c2b2500000000
+/tmp/sheepdog/096/5/obj/007c2b2500000001
+/tmp/sheepdog/096/5/obj/007c2b2500000002
+
+### CHANGE TO 2 REPLICA
+
+$ ../../dog/dog vdi alter-copy test -c 2
+test's redundancy level is set to 2, the old one was 3.
+    __
+   ()'`;
+   /\|`  Caution! Changing VDI's redundancy level will affect
+  /  |   the VDI itself only and trigger recovery.
+(/_)_|_  Are you sure you want to continue? [yes/no]: 
+$ ../../dog/dog vdi list
+  Name        Id    Size    Used  Shared    Creation time   VDI id  Copies  Tag
+  test         0   12 MB   12 MB  0.0 MB DATE   7c2b25      2              
+
+#### VDI OBJECT LIST
+
+/tmp/sheepdog/096/2/obj/807c2b2500000000
+/tmp/sheepdog/096/4/obj/807c2b2500000000
+
+#### DATA OBJECT LIST
+
+/tmp/sheepdog/096/0/obj/007c2b2500000001
+/tmp/sheepdog/096/0/obj/007c2b2500000002
+/tmp/sheepdog/096/1/obj/007c2b2500000000
+/tmp/sheepdog/096/1/obj/007c2b2500000001
+/tmp/sheepdog/096/3/obj/007c2b2500000000
+/tmp/sheepdog/096/5/obj/007c2b2500000002
+
+### CHANGE TO 1 REPLICA
+
+$ ../../dog/dog vdi alter-copy test -c 1
+test's redundancy level is set to 1, the old one was 2.
+    __
+   ()'`;
+   /\|`  Caution! Changing VDI's redundancy level will affect
+  /  |   the VDI itself only and trigger recovery.
+(/_)_|_  Are you sure you want to continue? [yes/no]: 
+$ ../../dog/dog vdi list
+  Name        Id    Size    Used  Shared    Creation time   VDI id  Copies  Tag
+  test         0   12 MB   12 MB  0.0 MB DATE   7c2b25      1              
+
+#### VDI OBJECT LIST
+
+/tmp/sheepdog/096/2/obj/807c2b2500000000
+
+#### DATA OBJECT LIST
+
+/tmp/sheepdog/096/0/obj/007c2b2500000001
+/tmp/sheepdog/096/0/obj/007c2b2500000002
+/tmp/sheepdog/096/1/obj/007c2b2500000000
+
+-----
+
+## CANNOT CHANGE REPLICA IF OBJECTS SHARED WITH OTHER VDI
+
+$ ../../dog/dog vdi snapshot -s s1 test
+
+$ ../../dog/dog vdi clone -s s1 test clone1
+
+### CHANGE TO 2 REPLICA
+
+$ ../../dog/dog vdi alter-copy test -c 2
+Only standalone vdi supports changing redundancy level.
+Please clone test with -n (--no-share) option first.
+
+$ ../../dog/dog vdi list
+  Name        Id    Size    Used  Shared    Creation time   VDI id  Copies  Tag
+s test         1   12 MB   12 MB  0.0 MB DATE   7c2b25      1            s1
+  test         0   12 MB  0.0 MB   12 MB DATE   7c2b26      1              
+c clone1       0   12 MB  0.0 MB   12 MB DATE   c8f989      1              
+
+#### VDI OBJECT LIST
+
+/tmp/sheepdog/096/0/obj/807c2b2600000000
+/tmp/sheepdog/096/2/obj/807c2b2500000000
+/tmp/sheepdog/096/2/obj/80c8f98900000000
+
+#### DATA OBJECT LIST
+
+/tmp/sheepdog/096/0/obj/007c2b2500000001
+/tmp/sheepdog/096/0/obj/007c2b2500000002
+/tmp/sheepdog/096/1/obj/007c2b2500000000
+
+### CHANGE TO 2 REPLICA
+
+$ ../../dog/dog vdi alter-copy clone1 -c 2
+Only standalone vdi supports changing redundancy level.
+Please clone clone1 with -n (--no-share) option first.
+
+$ ../../dog/dog vdi list
+  Name        Id    Size    Used  Shared    Creation time   VDI id  Copies  Tag
+s test         1   12 MB   12 MB  0.0 MB DATE   7c2b25      1            s1
+  test         0   12 MB  0.0 MB   12 MB DATE   7c2b26      1              
+c clone1       0   12 MB  0.0 MB   12 MB DATE   c8f989      1              
+
+#### VDI OBJECT LIST
+
+/tmp/sheepdog/096/0/obj/807c2b2600000000
+/tmp/sheepdog/096/2/obj/807c2b2500000000
+/tmp/sheepdog/096/2/obj/80c8f98900000000
+
+#### DATA OBJECT LIST
+
+/tmp/sheepdog/096/0/obj/007c2b2500000001
+/tmp/sheepdog/096/0/obj/007c2b2500000002
+/tmp/sheepdog/096/1/obj/007c2b2500000000
+
+-----
+
+## IT IS OK IF OBJECTS NOT SHARED WITH OTHER VDI
+
+$ ../../dog/dog vdi clone -n -s s1 test clone2
+
+### CHANGE TO 2 REPLICA
+
+$ ../../dog/dog vdi alter-copy clone2 -c 2
+clone2's redundancy level is set to 2, the old one was 1.
+    __
+   ()'`;
+   /\|`  Caution! Changing VDI's redundancy level will affect
+  /  |   the VDI itself only and trigger recovery.
+(/_)_|_  Are you sure you want to continue? [yes/no]: 
+$ ../../dog/dog vdi list
+  Name        Id    Size    Used  Shared    Creation time   VDI id  Copies  Tag
+s test         1   12 MB   12 MB  0.0 MB DATE   7c2b25      1            s1
+  test         0   12 MB  0.0 MB   12 MB DATE   7c2b26      1              
+  clone2       0   12 MB   12 MB  0.0 MB DATE   c8f470      2              
+c clone1       0   12 MB  0.0 MB   12 MB DATE   c8f989      1              
+
+#### VDI OBJECT LIST
+
+/tmp/sheepdog/096/0/obj/807c2b2600000000
+/tmp/sheepdog/096/2/obj/807c2b2500000000
+/tmp/sheepdog/096/2/obj/80c8f47000000000
+/tmp/sheepdog/096/2/obj/80c8f98900000000
+/tmp/sheepdog/096/5/obj/80c8f47000000000
+
+#### DATA OBJECT LIST
+
+/tmp/sheepdog/096/0/obj/007c2b2500000001
+/tmp/sheepdog/096/0/obj/007c2b2500000002
+/tmp/sheepdog/096/0/obj/00c8f47000000001
+/tmp/sheepdog/096/1/obj/007c2b2500000000
+/tmp/sheepdog/096/1/obj/00c8f47000000002
+/tmp/sheepdog/096/2/obj/00c8f47000000000
+/tmp/sheepdog/096/3/obj/00c8f47000000001
+/tmp/sheepdog/096/5/obj/00c8f47000000000
+/tmp/sheepdog/096/5/obj/00c8f47000000002
+
+-----
+
diff --git a/tests/functional/group b/tests/functional/group
index 2094eab..5cd02f6 100644
--- a/tests/functional/group
+++ b/tests/functional/group
@@ -110,3 +110,4 @@
 093 auto quick vdi
 094 auto quick store md
 095 auto quick store md
+096 auto quick cluster
-- 
1.8.3.2





More information about the sheepdog mailing list