#build clients
echo "COMPILING RUBBOS CLIENT on $HOSTNAME"
cd $RUBBOS_HOME/Client
-make clean
-make
+make clean >/dev/null
+make >/dev/null 2>&1
echo "DONE CONFIGURING RUBBOS CLIENT on $HOSTNAME"
tar xzf $SOFTWARE_HOME/$SYSSTAT_TARBALL --directory=$RUBBOS_APP
cd $SYSSTAT_HOME
-./configure --prefix=$SYSSTAT_HOME
-make
-sudo make install
+./configure --prefix=$SYSSTAT_HOME >/dev/null
+make >/dev/null 2>&1
+sudo make install >/dev/null
# install a script to collect statistics data
cp $OUTPUT_HOME/rubbos_conf/cpu_mem.sh $RUBBOS_APP/.
#build clients
echo "COMPILING RUBBOS CLIENT on $HOSTNAME"
cd $RUBBOS_HOME/Client
-make clean
-make
+make clean >/dev/null
+make >/dev/null 2>&1
echo "DONE CONFIGURING RUBBOS CLIENT on $HOSTNAME"
tar xzf $SOFTWARE_HOME/$SYSSTAT_TARBALL --directory=$RUBBOS_APP
cd $SYSSTAT_HOME
-./configure --prefix=$SYSSTAT_HOME
-make
-sudo make install
+./configure --prefix=$SYSSTAT_HOME >/dev/null
+make >/dev/null 2>&1
+sudo make install >/dev/null
# install a script to collect statistics data
cp $OUTPUT_HOME/rubbos_conf/cpu_mem.sh $RUBBOS_APP/.
#build clients
echo "COMPILING RUBBOS CLIENT on $HOSTNAME"
cd $RUBBOS_HOME/Client
-make clean
-make
+make clean >/dev/null
+make >/dev/null 2>&1
echo "DONE CONFIGURING RUBBOS CLIENT on $HOSTNAME"
tar xzf $SOFTWARE_HOME/$SYSSTAT_TARBALL --directory=$RUBBOS_APP
cd $SYSSTAT_HOME
-./configure --prefix=$SYSSTAT_HOME
-make
-sudo make install
+./configure --prefix=$SYSSTAT_HOME >/dev/null
+make >/dev/null 2>&1
+sudo make install >/dev/null
# install a script to collect statistics data
cp $OUTPUT_HOME/rubbos_conf/cpu_mem.sh $RUBBOS_APP/.
#build clients
echo "COMPILING RUBBOS CLIENT on $HOSTNAME"
cd $RUBBOS_HOME/Client
-make clean
-make
+make clean >/dev/null
+make >/dev/null 2>&1
echo "DONE CONFIGURING RUBBOS CLIENT on $HOSTNAME"
tar xzf $SOFTWARE_HOME/$SYSSTAT_TARBALL --directory=$RUBBOS_APP
cd $SYSSTAT_HOME
-./configure --prefix=$SYSSTAT_HOME
-make
-sudo make install
+./configure --prefix=$SYSSTAT_HOME >/dev/null
+make >/dev/null 2>&1
+sudo make install >/dev/null
# install a script to collect statistics data
cp $OUTPUT_HOME/rubbos_conf/cpu_mem.sh $RUBBOS_APP/.
#build clients
echo "COMPILING RUBBOS CLIENT on $HOSTNAME"
cd $RUBBOS_HOME/Client
-make clean
-make
+make clean >/dev/null
+make >/dev/null 2>&1
echo "DONE CONFIGURING RUBBOS CLIENT on $HOSTNAME"
tar xzf $SOFTWARE_HOME/$SYSSTAT_TARBALL --directory=$RUBBOS_APP
cd $SYSSTAT_HOME
-./configure --prefix=$SYSSTAT_HOME
-make
-sudo make install
+./configure --prefix=$SYSSTAT_HOME >/dev/null
+make >/dev/null 2>&1
+sudo make install >/dev/null
# install a script to collect statistics data
cp $OUTPUT_HOME/rubbos_conf/cpu_mem.sh $RUBBOS_APP/.
#TODO use for loop to genrate rubbos.properties file 200 ~ 1700
for i in {2..2}
do
-
ssh $BENCHMARK_HOST "
source /bottlenecks/rubbos/rubbos_scripts/1-1-1/set_bottlenecks_rubbos_env.sh
rm -f $RUBBOS_HOME/Client/rubbos.properties
#" &
ssh $BENCHMARK_HOST "
+ set -x
source /bottlenecks/rubbos/rubbos_scripts/1-1-1/set_bottlenecks_rubbos_env.sh
cd $RUBBOS_HOME/bench
for host in $BENCHMARK_HOST $CLIENT1_HOST $CLIENT2_HOST $CLIENT3_HOST \
$CLIENT4_HOST $HTTPD_HOST $TOMCAT1_HOST $MYSQL1_HOST
do
- for f in sar-* ps-* iostat-* mysql_mon-* postgres_lock-*
+ for f in 'sar-*' 'ps-*' 'iostat-*' 'mysql_mon-*' 'postgres_lock-*'
do
scp $scp_options \$host:$RUBBOS_APP/\$f ./
done
mv 20* $TMP_RESULTS_DIR_BASE/$RUBBOS_RESULTS_DIR_NAME/
"
- # TODO debug the rest of sciripts
- exit 0
#$OUTPUT_HOME/scripts/stop_all.sh
- $OUTPUT_HOME/scripts/kill_all.sh
- sleep 15
+ #$OUTPUT_HOME/scripts/kill_all.sh
+ #sleep 15
echo "End Browsing Only with rubbos.properties_$((100*i))"
# Read/Write
echo "Processing the results..."
ssh $BENCHMARK_HOST "
cd $TMP_RESULTS_DIR_BASE
- cd $RUBBOS_RESULTS_DIR_NAME
- scp $RUBBOS_RESULTS_HOST:$RUBBOS_RESULTS_DIR_BASE/calc-sarSummary.prl ../
- ../calc-sarSummary.prl
+ #cd $RUBBOS_RESULTS_DIR_NAME
+ #scp $RUBBOS_RESULTS_HOST:$RUBBOS_RESULTS_DIR_BASE/calc-sarSummary.prl ../
+ #../calc-sarSummary.prl
- rm -f 20*/*.bin
+ #rm -f 20*/*.bin
- cd ../
- tar zcvf $RUBBOS_RESULTS_DIR_NAME.tgz $RUBBOS_RESULTS_DIR_NAME
- scp $RUBBOS_RESULTS_DIR_NAME.tgz $RUBBOS_RESULTS_HOST:$RUBBOS_RESULTS_DIR_BASE/
+ #cd ../
+ tar zcf $RUBBOS_RESULTS_DIR_NAME.tgz $RUBBOS_RESULTS_DIR_NAME
+ scp $scp_options $RUBBOS_RESULTS_DIR_NAME.tgz $RUBBOS_RESULTS_HOST:$RUBBOS_RESULTS_DIR_BASE/
"
+echo "Push the results to DB..."
+cd $RUBBOS_RESULTS_DIR_BASE
+
+ls $RUBBOS_RESULTS_DIR_NAME.tgz
+tar zxf $RUBBOS_RESULTS_DIR_NAME.tgz
+ls $RUBBOS_RESULTS_DIR_NAME
+
+python $BOTTLENECKS_TOP/utils/dashboard/process_data.py \
+ $RUBBOS_RESULTS_DIR_BASE/$RUBBOS_RESULTS_DIR_NAME \
+ $BOTTLENECKS_TOP/utils/dashboard/dashboard.yaml
+cd -
+
echo "Finish RUBBoS"
+touch /tmp/rubbos_finished
set +x
# apache
tar zxf $SOFTWARE_HOME/$HTTPD_TARBALL --directory=$RUBBOS_APP
cd $HTTPD_INSTALL_FILES
-./configure --prefix=$HTTPD_HOME --enable-module=so --enable-so --with-mpm=worker
-make
-make install
+./configure --prefix=$HTTPD_HOME --enable-module=so --enable-so --with-mpm=worker >/dev/null
+make >/dev/null
+make install >/dev/null
# mod jk
tar zxf $SOFTWARE_HOME/$MOD_JK_TARBALL --directory=$RUBBOS_APP
tar zxf $SOFTWARE_HOME/$JAVA_TARBALL --directory=$RUBBOS_APP
cd $MOD_JK_INSTALL_CONFIGURE
-./configure --with-apxs=$HTTPD_HOME/bin/apxs --enable-jni --with-java-home=$JAVA_HOME
-make
-make install
+./configure --with-apxs=$HTTPD_HOME/bin/apxs --enable-jni --with-java-home=$JAVA_HOME >/dev/null
+make >/dev/null
+make install >/dev/null
echo "APACHE IS INSTALLED on $HOSTNAME"
tar xzf $SOFTWARE_HOME/$SYSSTAT_TARBALL --directory=$RUBBOS_APP
cd $SYSSTAT_HOME
-./configure --prefix=$SYSSTAT_HOME
-make
-sudo make install
+./configure --prefix=$SYSSTAT_HOME >/dev/null
+make >/dev/null 2>&1
+sudo make install >/dev/null
# install a script to collect statistics data
cp $OUTPUT_HOME/rubbos_conf/cpu_mem.sh $RUBBOS_APP/.
# install sysstat
tar xzf $SOFTWARE_HOME/$SYSSTAT_TARBALL --directory=$RUBBOS_APP
cd $SYSSTAT_HOME
-./configure --prefix=$SYSSTAT_HOME
-make
-sudo make install
+./configure --prefix=$SYSSTAT_HOME >/dev/null
+make >/dev/null 2>&1
+sudo make install >/dev/null
# install a script to collect statistics data
cp $OUTPUT_HOME/rubbos_conf/cpu_mem.sh $RUBBOS_APP/.
mv Config.java.tmp Config.java
cd $RUBBOS_HOME/Servlets
-/bottlenecks/rubbos/app/apache-ant-1.6.5/bin/ant clean
-/bottlenecks/rubbos/app/apache-ant-1.6.5/bin/ant dist
-make
+/bottlenecks/rubbos/app/apache-ant-1.6.5/bin/ant clean >/dev/null
+/bottlenecks/rubbos/app/apache-ant-1.6.5/bin/ant dist >/dev/null
+make >/dev/null 2>&1
cp rubbos.war $CATALINA_HOME/webapps/
echo "DONE CONFIGURING RUBBOS SERVLET on $HOSTNAME"
tar xzf $SOFTWARE_HOME/$SYSSTAT_TARBALL --directory=$RUBBOS_APP
cd $SYSSTAT_HOME
-./configure --prefix=$SYSSTAT_HOME
-make
-sudo make install
+./configure --prefix=$SYSSTAT_HOME >/dev/null
+make >/dev/null 2>&1
+sudo make install >/dev/null
# install a script to collect statistics data
cp $OUTPUT_HOME/rubbos_conf/cpu_mem.sh $RUBBOS_APP/.
-P "image=$IMAGE_NAME;key_name=$KEY_NAME;public_net=$PUBLIC_NET_NAME;flavor=$FLAVOR_NAME"
}
+bottlenecks_rubbos_wait_finish()
+{
+ echo "Start checking rubbos running status..."
+ retry=0
+ while true
+ do
+ ssh $ssh_args ec2-user@$control_ip "
+ FILE=/tmp/rubbos_finished
+ if [ -f \$FILE ]; then
+ exit 0
+ else
+ exit 1
+ fi
+ "
+ if [ $? = 0 ]; then
+ echo "Rubbos test case successfully finished :)"
+ return 0
+ fi
+ echo "Rubbos running $retry ..."
+ sleep 30
+ let retry+=1
+ if [[ $retry -ge $1 ]]; then
+ echo "Rubbos test case timeout :("
+ return 1
+ fi
+ done
+}
+
bottlenecks_rubbos_run()
{
echo "Run Rubbos"
$BOTTLENECKS_REPO_DIR/utils/infra_setup/vm_dev_setup \
ec2-user@$control_ip:/tmp
ssh $ssh_args \
- ec2-user@$control_ip "bash /tmp/vm_dev_setup/setup_env.sh"
+ ec2-user@$control_ip "bash /tmp/vm_dev_setup/setup_env.sh" &
+
+ bottlenecks_rubbos_wait_finish 240
rm -rf $BOTTLENECKS_REPO_DIR/utils/infra_setup/vm_dev_setup/hosts.conf
}
cd $RUBBOS_RUN_DIR
sudo ./run.sh
- cd $RUBBOS_EXE_DIR
- sudo ./CONTROL_rubbos_exec.sh
}
main()