diff options
Diffstat (limited to 'src/mstart.sh')
-rwxr-xr-x | src/mstart.sh | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/src/mstart.sh b/src/mstart.sh new file mode 100755 index 000000000..34b57e176 --- /dev/null +++ b/src/mstart.sh @@ -0,0 +1,62 @@ +#!/bin/sh + +usage="usage: $0 <name> [vstart options]..\n" + +usage_exit() { + printf "$usage" + exit +} + +[ $# -lt 1 ] && usage_exit + + +instance=$1 +shift + +vstart_path=`dirname $0` + +root_path=`dirname $0` +root_path=`(cd $root_path; pwd)` + +[ -z "$BUILD_DIR" ] && BUILD_DIR=build + +if [ -e CMakeCache.txt ]; then + root_path=$PWD +elif [ -e $root_path/../${BUILD_DIR}/CMakeCache.txt ]; then + cd $root_path/../${BUILD_DIR} + root_path=$PWD +fi +RUN_ROOT_PATH=${root_path}/run + +mkdir -p $RUN_ROOT_PATH + +if [ -z "$CLUSTERS_LIST" ] +then + CLUSTERS_LIST=$RUN_ROOT_PATH/.clusters.list +fi + +if [ ! -f $CLUSTERS_LIST ]; then +touch $CLUSTERS_LIST +fi + +pos=`grep -n -w $instance $CLUSTERS_LIST` +if [ $? -ne 0 ]; then + echo $instance >> $CLUSTERS_LIST + pos=`grep -n -w $instance $CLUSTERS_LIST` +fi + +pos=`echo $pos | cut -d: -f1` +base_port=$((6800+pos*20)) +rgw_port=$((8000+pos*1)) + +[ -z "$VSTART_DEST" ] && export VSTART_DEST=$RUN_ROOT_PATH/$instance +[ -z "$CEPH_PORT" ] && export CEPH_PORT=$base_port +[ -z "$CEPH_RGW_PORT" ] && export CEPH_RGW_PORT=$rgw_port + +mkdir -p $VSTART_DEST + +echo "Cluster dest path: $VSTART_DEST" +echo "monitors base port: $CEPH_PORT" +echo "rgw base port: $CEPH_RGW_PORT" + +$vstart_path/vstart.sh "$@" |