summaryrefslogtreecommitdiff
path: root/qa/rbd
diff options
context:
space:
mode:
authorColin Patrick McCabe <cmccabe@alumni.cmu.edu>2010-12-29 15:36:22 -0800
committerColin Patrick McCabe <cmccabe@alumni.cmu.edu>2010-12-29 15:36:22 -0800
commitde8f021204dacb5b4a08b9f0ed76b8033e135233 (patch)
treef435cb8ec5385c200ab24d2cfd82e8a5e0b455be /qa/rbd
parentace90971df5327f10fedbbbf1027bfd2091639f4 (diff)
downloadceph-de8f021204dacb5b4a08b9f0ed76b8033e135233.tar.gz
qa/rbd: minor fixes
* qa/rbd/common: create tempdir for script * qa/rbd/common: try harder to find monhost (try "mon addr" and also "mon.a addr") * qa/rbd/rbd.sh: honor $mnt parameter Signed-off-by: Colin McCabe <colinm@hq.newdream.net>
Diffstat (limited to 'qa/rbd')
-rw-r--r--qa/rbd/common.sh63
-rwxr-xr-xqa/rbd/rbd.sh6
2 files changed, 43 insertions, 26 deletions
diff --git a/qa/rbd/common.sh b/qa/rbd/common.sh
index e716ed3b77e..606e39a49b9 100644
--- a/qa/rbd/common.sh
+++ b/qa/rbd/common.sh
@@ -1,40 +1,54 @@
+#!/bin/bash
-error_exit() {
+die() {
echo "$*"
exit 1
}
-# defaults
-[ -z "$bindir" ] && bindir=$PWD # location of init-ceph
-if [ -z "$conf" ]; then
- conf="$basedir/ceph.conf"
- [ -e $conf ] || conf="/etc/ceph/ceph.conf"
-fi
-[ -e $conf ] || error_exit "conf file not found"
+cleanup() {
+ rm -rf $TDIR
+ TDIR=""
+}
-CCONF="cconf -c $conf"
+set_variables() {
+ # defaults
+ [ -z "$bindir" ] && bindir=$PWD # location of init-ceph
+ if [ -z "$conf" ]; then
+ conf="$basedir/ceph.conf"
+ [ -e $conf ] || conf="/etc/ceph/ceph.conf"
+ fi
+ [ -e $conf ] || die "conf file not found"
-[ -z "$mnt" ] && mnt="/c"
-[ -z "$monhost" ] && monhost="`$CCONF -t mon -i 0 'mon addr'`"
-[ -z "$imgsize" ] && imgsize=1024
-[ -z "$user" ] && user=admin
-[ -z "$keyring" ] && keyring="`$CCONF keyring`"
-[ -z "$secret" ] && secret="`cauthtool $keyring -n client.$user -p`"
+ CCONF="cconf -c $conf"
+ [ -z "$mnt" ] && mnt="/c"
+ if [ -z "$monhost" ]; then
+ $CCONF -t mon -i 0 'mon addr' > $TDIR/cconf_mon
+ if [ $? -ne 0 ]; then
+ $CCONF -t mon.a -i 0 'mon addr' > $TDIR/cconf_mon
+ [ $? -ne 0 ] && die "can't figure out \$monhost"
+ fi
+ read monhost < $TDIR/cconf_mon
+ fi
-monip="`echo $monhost | sed 's/:/ /g' | awk '{print $1}'`"
-monport="`echo $monhost | sed 's/:/ /g' | awk '{print $2}'`"
+ [ -z "$imgsize" ] && imgsize=1024
+ [ -z "$user" ] && user=admin
+ [ -z "$keyring" ] && keyring="`$CCONF keyring`"
+ [ -z "$secret" ] && secret="`cauthtool $keyring -n client.$user -p`"
-[ -z "$monip" ] && error_exit "bad mon address"
+ monip="`echo $monhost | sed 's/:/ /g' | awk '{print $1}'`"
+ monport="`echo $monhost | sed 's/:/ /g' | awk '{print $2}'`"
-[ -z "$monport" ] && monport=6789
+ [ -z "$monip" ] && die "bad mon address"
-set -e
+ [ -z "$monport" ] && monport=6789
-mydir=`hostname`_`echo $0 | sed 's/\//_/g'`
+ set -e
-img_name=test.`hostname`.$$
+ mydir=`hostname`_`echo $0 | sed 's/\//_/g'`
+ img_name=test.`hostname`.$$
+}
rbd_load() {
modprobe rbd
@@ -57,7 +71,6 @@ rbd_test_init() {
rbd_load
}
-
rbd_remove() {
echo $1 > /sys/class/rbd/remove
}
@@ -66,3 +79,7 @@ rbd_rm_image() {
id=$1
rbd rm $imgname.$id
}
+
+TDIR=`mktemp -d`
+trap cleanup INT TERM EXIT
+set_variables
diff --git a/qa/rbd/rbd.sh b/qa/rbd/rbd.sh
index b90f0c2cfbb..1ef67e6c2ee 100755
--- a/qa/rbd/rbd.sh
+++ b/qa/rbd/rbd.sh
@@ -34,12 +34,12 @@ test_dbench() {
devname=/dev/rbd$rbd0
mkfs -t ext3 $devname
- mount -t ext3 $devname /mnt
+ mount -t ext3 $devname $mnt
- dbench -D /mnt -t 30 5
+ dbench -D $mnt -t 30 5
sync
- umount /mnt
+ umount $mnt
rbd_remove $rbd0
rbd_rm_image 0
}