blob: c1acc5f3b180d2369a2f7de6878096558d955f19 [file] [log] [blame]
onlab-qa25193a62013-12-04 13:27:38 -08001#!/bin/bash
2
yoshi391d68d2014-01-21 11:56:59 -08003ulimit -c unlimited
4export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${HOME}/ramcloud/bindings/java/edu/stanford/ramcloud:${HOME}/ramcloud/obj.blueprint-java
5
6function host2ip (){
7 ip=`egrep "$1\$" /etc/hosts |grep -v "ip6"| awk '{print $1}'`
8 echo $ip
9}
10
onlab-qa25193a62013-12-04 13:27:38 -080011# Set paths
12ONOS_HOME=`dirname $0`
13RAMCLOUD_DIR=${HOME}/ramcloud
yoshi391d68d2014-01-21 11:56:59 -080014LOGDIR=${ONOS_HOME}/onos-logs
onlab-qa25193a62013-12-04 13:27:38 -080015RAMCLOUD_LOG=${LOGDIR}/ramcloud.`hostname`.log
yoshi391d68d2014-01-21 11:56:59 -080016thishost=`hostname`
17thisip=`host2ip $thishost`
18coordinatorip=`grep coordinatorIp /tmp/ramcloud.conf | cut -d "=" -f 2,3`
19coordinatorport=`grep coordinatorPort /tmp/ramcloud.conf | cut -d "=" -f 2,3`
20coordinator=`echo $coordinatorip","$coordinatorport`
21RAMCLOUD_COORDINATOR=$coordinator
22RAMCLOUD_SERVER="fast+udp:host=$thisip,port=12242"
onlab-qa25193a62013-12-04 13:27:38 -080023
24function lotate {
25 logfile=$1
26 nr_max=${2:-10}
27 if [ -f $logfile ]; then
28 for i in `seq $(expr $nr_max - 1) -1 1`; do
29 if [ -f ${logfile}.${i} ]; then
30 mv -f ${logfile}.${i} ${logfile}.`expr $i + 1`
31 fi
32 done
33 mv $logfile $logfile.1
34 fi
35}
36
37function start {
38 if [ ! -d ${LOGDIR} ]; then
39 mkdir -p ${LOGDIR}
40 fi
41 echo "rotate log: $log"
42 if [ -f $RAMCLOUD_LOG ]; then
43 lotate $RAMCLOUD_LOG
44 fi
45
46 # Run ramcloud
47 echo "Starting ramcloud"
yoshi391d68d2014-01-21 11:56:59 -080048 $RAMCLOUD_DIR/obj.blueprint-java/server -M -r 0 -L $RAMCLOUD_SERVER -C $RAMCLOUD_COORDINATOR > $RAMCLOUD_LOG 2>&1 &
onlab-qa25193a62013-12-04 13:27:38 -080049}
50
51function stop {
52 # Kill the existing processes
yoshi391d68d2014-01-21 11:56:59 -080053 capid=`pgrep -f obj.blueprint-java/server | awk '{print $1}'`
onlab-qa25193a62013-12-04 13:27:38 -080054 pids="$capid"
55 for p in ${pids}; do
56 if [ x$p != "x" ]; then
57 kill -KILL $p
58 echo "Killed existing prosess (pid: $p)"
59 fi
60 done
61}
62
63function deldb {
64# # Delete the berkeley db database
65 if [ -d "/tmp/ramcloud.conf" ]; then
66 echo "deleting berkeley db dir"
67 sudo rm -rf /tmp/ramcloud.conf
68 fi
69}
70
71case "$1" in
72 start)
73 deldb
74 cp $ONOS_HOME/conf/ramcloud.conf /tmp
75 stop
76 start
77 ;;
78 stop)
79 stop
80 ;;
81# deldb)
82# deldb
83# ;;
84 status)
yoshi391d68d2014-01-21 11:56:59 -080085 n=`pgrep -f obj.blueprint-java/server | wc -l`
onlab-qa25193a62013-12-04 13:27:38 -080086 echo "$n ramcloud server running"
87 ;;
88 *)
89 echo "Usage: $0 {start|stop|restart|status}"
90 exit 1
91esac