summaryrefslogtreecommitdiff
path: root/qa/workunits
diff options
context:
space:
mode:
authorJosh Durgin <josh.durgin@dreamhost.com>2011-10-21 14:16:30 -0700
committerJosh Durgin <josh.durgin@dreamhost.com>2011-10-24 15:32:47 -0700
commitbfb5ceb2bde36ec6f6d98914162b8a64283fadef (patch)
treedfce2f2e6cc4d35192fc44f83f69792b8c8e5096 /qa/workunits
parent93ccccd770d84c25246ae9e08c6b3e93b43b8f06 (diff)
downloadceph-bfb5ceb2bde36ec6f6d98914162b8a64283fadef.tar.gz
workunits: add rbd rollback and snapshot removal tests
Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
Diffstat (limited to 'qa/workunits')
-rwxr-xr-xqa/workunits/rbd/copy.sh18
1 files changed, 14 insertions, 4 deletions
diff --git a/qa/workunits/rbd/copy.sh b/qa/workunits/rbd/copy.sh
index b3c4915f094..93192ebe10d 100755
--- a/qa/workunits/rbd/copy.sh
+++ b/qa/workunits/rbd/copy.sh
@@ -1,12 +1,12 @@
#!/bin/sh -ex
+TMP_FILES="/tmp/img1 /tmp/img1.new /tmp/img2 /tmp/img2.new /tmp/img3 /tmp/img3.new /tmp/img1.snap1"
+
rbd rm testimg1 || true
rbd rm testimg2 || true
rbd rm testimg3 || true
-rm -f /tmp/img1 /tmp/img1.new
-rm -f /tmp/img2 /tmp/img2.new
-rm -f /tmp/img3 /tmp/img3.new
+rm -f $TMP_FILES
# create an image
dd if=/bin/sh of=/tmp/img1 bs=1k count=1 seek=10
@@ -42,6 +42,16 @@ rbd export testimg3 /tmp/img3.new
cmp /tmp/img2 /tmp/img2.new
cmp /tmp/img3 /tmp/img3.new
-rm /tmp/img1 /tmp/img2 /tmp/img3 /tmp/img1.new /tmp/img2.new /tmp/img3.new
+# rollback
+rbd snap rollback --snap=snap1 testimg1
+rbd info testimg1 | grep 'size 256 MB'
+rbd export testimg1 /tmp/img1.snap1
+cmp /tmp/img2 /tmp/img1.snap1
+
+# remove snapshots
+rbd snap rm --snap=snap1 testimg1
+rbd info --snap=snap1 testimg1 2>&1 | grep 'error setting snapshot context: error 2: No such file or directory'
+
+rm -f $TMP_FILES
echo OK