From 349d271983db33e735451056db97a165140c809c Mon Sep 17 00:00:00 2001 From: Vijay Bellur Date: Sun, 1 Nov 2009 23:27:16 +0530 Subject: Adding init and setup scripts. --- init | 111 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 111 insertions(+) create mode 100644 init (limited to 'init') diff --git a/init b/init new file mode 100644 index 0000000..2946ded --- /dev/null +++ b/init @@ -0,0 +1,111 @@ +/* + Copyright (c) 2006-2009 Gluster, Inc. + This file is part of GlusterFS. + + GlusterFS is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, + or (at your option) any later version. + + GlusterFS is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see + . +*/ + +function ok () +{ + desc=$@ + echo $desc + echo "$BUGID: ok - $desc" +} + +function not_ok () +{ + desc=$@ + echo "$BUGID: not ok - $desc" +} + +[ $# -ne 1 ] && { + not_ok "#" + exit +} + +GLUSTERFS=$1 + +VERSION_STR=`$GLUSTERFS --version` +VERSION=`echo $VERSION_STR|cut -d " " -f 2` + +if [ "$VERSION" == "" ] +then +echo "Unable to determine version of $GLUSTERFS" +exit +fi + +BUGID=$(pwd | xargs dirname | xargs basename) +LOGDIR=$PWD/logs/$VERSION +GLUSTERFSDIR=`dirname $GLUSTERFS` +SPECDIR=$PWD/spec_files +MOUNTDIR=$PWD/mnt +EXPORTDIR=$PWD/export + +function replace_exportdir () +{ + j=1 + for i in `ls $SPECDIR/server*.vol` + do + cp -p $i $i.tmp + sed -i "s|option.*directory.*|option directory $EXPORTDIR/export$j|" $i + let "j += 1" + done +} + +function revert_exportdir () +{ + for i in `ls $SPECDIR/server*.vol` + do + mv $i.tmp $i + done +} + +function comment () +{ + desc=$@ + echo "$desc" +} + +function start_glusterfs () +{ + args=$* + replace_exportdir + ../../setup $VERSION $BUGID -E $EXPORTDIR -M $MOUNTDIR -G $GLUSTERFSDIR -L $LOGDIR -S $SPECDIR $args +} + +function stop_glusterfs () +{ +# Kill the clients + for i in `ls -d $MOUNTDIR/client*` + do + sudo umount $i 2>/dev/null + done +# Kill the servers later + sudo pkill -f "$glusterfs/glusterfsd --run-id regr-$BUGID-$VERSION-s" +} + +function cleanup_dir () +{ + rm -rf $EXPORTDIR + rm -rf `dirname $LOGDIR` + rm -rf $MOUNTDIR +} + +function cleanup_glusterfs () +{ + revert_exportdir + stop_glusterfs + cleanup_dir +} -- cgit