]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
qa: add rbd test
authorYehuda Sadeh <yehuda@hq.newdream.net>
Thu, 28 Oct 2010 22:40:27 +0000 (15:40 -0700)
committerYehuda Sadeh <yehuda@hq.newdream.net>
Thu, 28 Oct 2010 22:49:21 +0000 (15:49 -0700)
qa/rbd/common.sh
qa/rbd/rbd.sh

index 6c767e4f8224e9c05fbc5cd6d5670eb68db5b9a4..e716ed3b77e4ba6e284e155ec963d62296f9de92 100644 (file)
@@ -41,22 +41,28 @@ rbd_load() {
 }
 
 rbd_create_image() {
-       rbd create $img_name --size=$imgsize
+       id=$1
+       rbd create $img_name.$id --size=$imgsize
 }
 
 rbd_add() {
        id=$1
-       echo "$monip:$monport name=$user,secret=$secret rbd $img_name" > /sys/class/rbd/add
-       sleep 1
-       export rbd$id="`tail -1 /sys/class/rbd/list | cut -f1`"
+       echo "$monip:$monport name=$user,secret=$secret rbd $img_name.$id" > /sys/class/rbd/add
+       devid="`cat /sys/class/rbd/list | grep $img_name.$ext | tail -1 | cut -f1`"
+       export rbd$id=$devid
+       while [ ! -e /dev/rbd$devid ]; do sleep 0; done
 }
 
 rbd_test_init() {
        rbd_load
-       rbd_create_image
 }
 
 
 rbd_remove() {
        echo $1 > /sys/class/rbd/remove
 }
+
+rbd_rm_image() {
+       id=$1
+       rbd rm $imgname.$id
+}
index 9b2a3bdc7f5fae57070bcb839c776f9e9c4e923e..b90f0c2cfbbfee72f340ec15ec3f561fbcc075bc 100755 (executable)
@@ -5,16 +5,45 @@ basedir=`echo $0 | sed 's/[^/]*$//g'`.
 
 rbd_test_init
 
-rbd_add 0
 
-devname=/dev/rbd$rbd0
-
-mkfs -t ext3 $devname
-mount -t ext3 $devname /mnt
-
-dbench -D /mnt -t 30 5
-sync
-
-umount /mnt
-rbd_remove $rbd0
+create_multiple() {
+       for i in `seq 1 10`; do
+               rbd_create_image $i
+       done
+
+       for i in `seq 1 10`; do
+               rbd_add $i
+       done
+       for i in `seq 1 10`; do
+               devname=/dev/rbd`eval echo \\$rbd$i`
+               echo $devname
+       done
+       for i in `seq 1 10`; do
+               devid=`eval echo \\$rbd$i`
+               rbd_remove $devid
+       done
+       for i in `seq 1 10`; do
+               rbd_rm_image $i
+       done
+}
+
+test_dbench() {
+       rbd_create_image 0
+       rbd_add 0
+
+       devname=/dev/rbd$rbd0
+
+       mkfs -t ext3 $devname
+       mount -t ext3 $devname /mnt
+
+       dbench -D /mnt -t 30 5
+       sync
+
+       umount /mnt
+       rbd_remove $rbd0
+       rbd_rm_image 0
+}
+
+create_multiple
+test_dbench