[sheepdog] [PATCH v3] tests: add a test to test vdi snapshot functionality concurrently
Liu Yuan
namei.unix at gmail.com
Wed Sep 19 07:47:14 CEST 2012
From: Liu Yuan <tailai.ly at taobao.com>
This patch will fail against current master branch because of object cache
regression, which is expected to be fixed by later patch.
Signed-off-by: Liu Yuan <tailai.ly at taobao.com>
---
tests/044 | 82 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/044.out | 12 +++++++++
tests/group | 1 +
3 files changed, 95 insertions(+)
create mode 100755 tests/044
create mode 100644 tests/044.out
diff --git a/tests/044 b/tests/044
new file mode 100755
index 0000000..eafa1a6
--- /dev/null
+++ b/tests/044
@@ -0,0 +1,82 @@
+#!/bin/bash
+
+# Test vdi snapshot functionality concurrently with object cache enabled
+
+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 0 1 2; do
+ _start_sheep $i '-s 4096 -w object:size=1000'
+done
+
+_wait_for_sheep 3
+
+$COLLIE cluster format
+$COLLIE vdi create base1 20M -p 7000
+$COLLIE vdi create base2 20M -p 7001
+$COLLIE vdi create base3 20M -p 7002
+
+for i in `seq 0 4`; do
+ echo $i | $COLLIE vdi write base1 $((i * 4 * 1024 * 1024)) 512
+done &
+
+for i in `seq 0 4`; do
+ echo $i | $COLLIE vdi write base2 $((i * 4 * 1024 * 1024)) 512
+done &
+
+for i in `seq 0 4`; do
+ echo $i | $COLLIE vdi write base3 $((i * 4 * 1024 * 1024)) 512
+done &
+
+wait
+
+$COLLIE vdi snapshot -s snap0 base1 -p 7000
+$COLLIE vdi snapshot -s snap0 base2 -p 7001
+$COLLIE vdi snapshot -s snap0 base3 -p 7002
+sleep 1
+
+for i in `seq 1 10`; do
+ $COLLIE vdi snapshot -s snap$i base1 -p 7000
+ $COLLIE vdi delete -s snap$(($i - 1)) base1 -p 7000
+ sleep 1
+done &
+
+for i in `seq 1 10`; do
+ $COLLIE vdi snapshot -s snap$i base2 -p 7001
+ $COLLIE vdi delete -s snap$(($i - 1)) base2 -p 7001
+ sleep 1
+done &
+
+for i in `seq 1 10`; do
+ $COLLIE vdi snapshot -s snap$i base3 -p 7002
+ $COLLIE vdi delete -s snap$(($i - 1)) base3 -p 7002
+ sleep 1
+done &
+
+wait
+
+$COLLIE vdi delete base1 -p 7000
+$COLLIE vdi delete base2 -p 7001
+$COLLIE vdi delete base3 -p 7002
+$COLLIE vdi delete -s snap10 base1 -p 7000
+$COLLIE vdi delete -s snap10 base2 -p 7001
+$COLLIE vdi delete -s snap10 base3 -p 7002
+
+echo there should be no vdi
+$COLLIE vdi list
+
+echo there should be no object
+$COLLIE node info
+
+find /tmp/sheepdog/*/cache -type f | sort
+
diff --git a/tests/044.out b/tests/044.out
new file mode 100644
index 0000000..7a62854
--- /dev/null
+++ b/tests/044.out
@@ -0,0 +1,12 @@
+QA output created by 044
+using backend farm store
+there should be no vdi
+ Name Id Size Used Shared Creation time VDI id Copies Tag
+there should be no object
+Id Size Used Use%
+ 0 4.0 GB 144 MB 3%
+ 1 4.0 GB 144 MB 3%
+ 2 4.0 GB 144 MB 3%
+Total 12 GB 433 MB 3%
+
+Total virtual image size 0.0 MB
diff --git a/tests/group b/tests/group
index 49c9382..0db3c6c 100644
--- a/tests/group
+++ b/tests/group
@@ -55,3 +55,4 @@
041 auto quick vdi
042 auto quick store
043 auto quick store
+044 auto quick vdi
--
1.7.12.84.gefa6462
More information about the sheepdog
mailing list