ceph/qa/rbd/common.sh

86 lines
1.7 KiB
Bash
Raw Normal View History

#!/bin/bash
2010-10-28 21:31:22 +00:00
die() {
2010-10-28 21:31:22 +00:00
echo "$*"
exit 1
}
cleanup() {
rm -rf $TDIR
TDIR=""
}
2010-10-28 21:31:22 +00:00
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"
2010-10-28 21:31:22 +00:00
CCONF="cconf -c $conf"
2010-10-28 21:31:22 +00:00
[ -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
2010-10-28 21:31:22 +00:00
[ -z "$imgsize" ] && imgsize=1024
[ -z "$user" ] && user=admin
#[ -z "$keyring" ] && keyring="`$CCONF keyring`"
[ -z "$secret" ] && secret="`cauthtool $keyring -n client.$user -p`"
2010-10-28 21:31:22 +00:00
monip="`echo $monhost | sed 's/:/ /g' | awk '{print $1}'`"
monport="`echo $monhost | sed 's/:/ /g' | awk '{print $2}'`"
2010-10-28 21:31:22 +00:00
[ -z "$monip" ] && die "bad mon address"
2010-10-28 21:31:22 +00:00
[ -z "$monport" ] && monport=6789
2010-10-28 21:31:22 +00:00
set -e
2010-10-28 21:31:22 +00:00
mydir=`hostname`_`echo $0 | sed 's/\//_/g'`
2010-10-28 21:31:22 +00:00
img_name=test.`hostname`.$$
}
2010-10-28 21:31:22 +00:00
rbd_load() {
modprobe rbd
}
rbd_create_image() {
2010-10-28 22:40:27 +00:00
id=$1
rbd create $img_name.$id --size=$imgsize
2010-10-28 21:31:22 +00:00
}
rbd_add() {
id=$1
2010-10-28 22:40:27 +00:00
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
2010-10-28 21:31:22 +00:00
}
rbd_test_init() {
rbd_load
}
rbd_remove() {
echo $1 > /sys/class/rbd/remove
}
2010-10-28 22:40:27 +00:00
rbd_rm_image() {
id=$1
rbd rm $imgname.$id
}
TDIR=`mktemp -d`
trap cleanup INT TERM EXIT
set_variables