]>
git.proxmox.com Git - ceph.git/blob - ceph/qa/rbd/common.sh
15 [ -z "$bindir" ] && bindir
=$PWD # location of init-ceph
16 if [ -z "$conf" ]; then
17 conf
="$basedir/ceph.conf"
18 [ -e $conf ] || conf
="/etc/ceph/ceph.conf"
20 [ -e $conf ] || die
"conf file not found"
22 CCONF
="ceph-conf -c $conf"
24 [ -z "$mnt" ] && mnt
="/c"
25 if [ -z "$monhost" ]; then
26 $CCONF -t mon
-i 0 'mon addr' > $TDIR/cconf_mon
28 $CCONF -t mon.a
-i 0 'mon addr' > $TDIR/cconf_mon
29 [ $?
-ne 0 ] && die
"can't figure out \$monhost"
31 read monhost
< $TDIR/cconf_mon
34 [ -z "$imgsize" ] && imgsize
=1024
35 [ -z "$user" ] && user
=admin
36 [ -z "$keyring" ] && keyring
="`$CCONF keyring`"
37 [ -z "$secret" ] && secret
="`ceph-authtool $keyring -n client.$user -p`"
39 monip
="`echo $monhost | sed 's/:/ /g' | awk '{print $1}'`"
40 monport
="`echo $monhost | sed 's/:/ /g' | awk '{print $2}'`"
42 [ -z "$monip" ] && die
"bad mon address"
44 [ -z "$monport" ] && monport
=6789
48 mydir
=`hostname`_
`echo $0 | sed 's/\//_/g'`
50 img_name
=test.
`hostname`.$$
59 rbd create
$img_name.
$id --size=$imgsize
64 echo "$monip:$monport name=$user,secret=$secret rbd $img_name.$id" \
67 pushd /sys
/bus
/rbd
/devices
&> /dev
/null
68 [ $?
-eq 0 ] || die
"failed to cd"
70 rm -f "$TDIR/rbd_devs"
71 for f
in *; do echo $f >> "$TDIR/rbd_devs"; done
72 sort -nr "$TDIR/rbd_devs" > "$TDIR/rev_rbd_devs"
73 while read f
< "$TDIR/rev_rbd_devs"; do
74 read d_img_name
< "$f/name"
75 if [ "x$d_img_name" == "x$img_name.$id" ]; then
82 [ "x$devid" == "x" ] && die
"failed to find $img_name.$id"
85 while [ ! -e /dev
/rbd
$devid ]; do sleep 1; done
93 echo $1 > /sys
/bus
/rbd
/remove
102 trap cleanup INT TERM EXIT