Scripts update to run rubbos on compass4nfv env
[bottlenecks.git] / rubbos / rubbos_scripts / 1-1-1 / scripts / CONTROL_rubbos_exec.sh
1 #!/bin/bash
2
3 set -x
4
5 cd /bottlenecks/rubbos/rubbos_scripts/1-1-1
6 source set_bottlenecks_rubbos_env.sh
7 export scp_options='-o StrictHostKeyChecking=no -o BatchMode=yes'
8
9 scp $WORK_HOME/monitors_files/oprofile_start.sh $MYSQL1_HOST:/tmp/
10
11 echo "Starting RUBBoS"
12
13 ssh $RUBBOS_RESULTS_HOST "
14   mkdir -p $RUBBOS_RESULTS_DIR_BASE
15 "
16 ssh $BENCHMARK_HOST "
17   mkdir -p $TMP_RESULTS_DIR_BASE/$RUBBOS_RESULTS_DIR_NAME
18 "
19
20 # run test rubbos.properties from 200 to 3200
21 for i in {2..7..5}
22 do
23   echo "Start Browsing Only with rubbos.properties_$((100*i)) $(date)"
24
25   ssh $BENCHMARK_HOST "
26     source /bottlenecks/rubbos/rubbos_scripts/1-1-1/set_bottlenecks_rubbos_env.sh
27     rm -f $RUBBOS_HOME/Client/rubbos.properties
28   "
29
30   sed -e "s/REPLACE_HTTPD_HOST/$HTTPD_HOST/g" \
31       -e "s/REPLACE_TOMCAT1_HOST/$TOMCAT1_HOST/g" \
32       -e "s/REPLACE_MYSQL1_HOST/$MYSQL1_HOST/g" \
33       -e "s#REPLACE_CLIENT1_HOST#$CLIENT1_HOST#g" \
34       -e "s#REPLACE_CLIENT2_HOST#$CLIENT2_HOST#g" \
35       -e "s#REPLACE_CLIENT3_HOST#$CLIENT3_HOST#g" \
36       -e "s#REPLACE_CLIENT4_HOST#$CLIENT4_HOST#g" \
37       -e "s/REPLACE_NUMBER_OF_CLIENTS_PER_NODE/$((20*i))/g" \
38       $OUTPUT_HOME/rubbos_conf/rubbos.properties_template \
39       > $OUTPUT_HOME/rubbos_conf/rubbos.properties
40   scp $OUTPUT_HOME/rubbos_conf/rubbos.properties $BENCHMARK_HOST:$RUBBOS_HOME/Client/rubbos.properties
41   rm -rf $OUTPUT_HOME/rubbos_conf/rubbos.properties
42
43   echo "Resetting all data"
44   $OUTPUT_HOME/scripts/reset_all.sh
45
46   # Browsing Only
47   echo "Start Browsing Only with rubbos.properties_$((100*i))"
48   echo "Removing previous logs..."
49   ssh $HTTPD_HOST "rm -f $HTTPD_HOME/logs/*log"
50   ssh $TOMCAT1_HOST "rm -f $CATALINA_HOME/logs/*"
51   ssh $MYSQL1_HOST "rm -f $MYSQL_HOME/run/*.log $RUBBOS_APP/mysql_mon-*"
52
53   $OUTPUT_HOME/scripts/start_all.sh
54   sleep 15
55
56   for host in $BENCHMARK_HOST $CLIENT1_HOST $CLIENT2_HOST $CLIENT3_HOST \
57               $CLIENT4_HOST $HTTPD_HOST $TOMCAT1_HOST $MYSQL1_HOST
58   do
59     ssh $host "rm -f $RUBBOS_APP/sar-* $RUBBOS_APP/ps-* $RUBBOS_APP/iostat-*"
60   done
61   ssh $MYSQL1_HOST "rm -f /tmp/*.log"
62   ssh $MYSQL1_HOST chmod 777 /tmp/oprofile_start.sh
63   #ssh $MYSQL1_HOST "
64   #  cd /tmp
65   #  ./oprofile_start.sh
66   #" &
67
68   ssh $BENCHMARK_HOST "
69     set -x
70     source /bottlenecks/rubbos/rubbos_scripts/1-1-1/set_bottlenecks_rubbos_env.sh
71
72     cd $RUBBOS_HOME/bench
73     \rm -r 20*
74
75     # Execute benchmark
76     echo "execute benchmark"
77     ./rubbos-servletsBO.sh
78
79     # Collect results
80     echo "The benchmark has finished. Now, collecting results..."
81     cd 20*
82     for host in $BENCHMARK_HOST $CLIENT1_HOST $CLIENT2_HOST $CLIENT3_HOST \
83                 $CLIENT4_HOST $HTTPD_HOST $TOMCAT1_HOST $MYSQL1_HOST
84     do
85       for f in 'sar-*' 'ps-*' 'iostat-*' 'mysql_mon-*' 'postgres_lock-*'
86       do
87         scp $scp_options \$host:$RUBBOS_APP/\$f ./
88       done
89     done
90     cd ..
91     find -type f
92     find -type f | grep stat_client | xargs grep throughput
93     mv 20* $TMP_RESULTS_DIR_BASE/$RUBBOS_RESULTS_DIR_NAME/
94   "
95
96   $OUTPUT_HOME/scripts/stop_all.sh
97   $OUTPUT_HOME/scripts/kill_all.sh
98   sleep 15
99
100   echo "End Browsing Only with rubbos.properties_$((100*i)) $(date)"
101 done
102
103 echo "Processing the results..."
104 ssh $BENCHMARK_HOST "
105   cd $TMP_RESULTS_DIR_BASE
106   #cd $RUBBOS_RESULTS_DIR_NAME
107   #scp $RUBBOS_RESULTS_HOST:$RUBBOS_RESULTS_DIR_BASE/calc-sarSummary.prl ../
108   #../calc-sarSummary.prl
109
110   #rm -f 20*/*.bin
111
112   #cd ../
113   tar zcf $RUBBOS_RESULTS_DIR_NAME.tgz $RUBBOS_RESULTS_DIR_NAME
114   scp $scp_options $RUBBOS_RESULTS_DIR_NAME.tgz $RUBBOS_RESULTS_HOST:$RUBBOS_RESULTS_DIR_BASE/
115 "
116
117 echo "Push the results to DB..."
118 cd $RUBBOS_RESULTS_DIR_BASE
119
120 ls $RUBBOS_RESULTS_DIR_NAME.tgz
121 tar zxf $RUBBOS_RESULTS_DIR_NAME.tgz
122 ls $RUBBOS_RESULTS_DIR_NAME
123
124 echo "Fetch POD env parameters"
125 source /tmp/vm_dev_setup/hosts.conf
126 sed -i -e "s/REPLACE_NODE_NAME/$NODE_NAME/g" \
127        -e "s/REPLACE_INSTALLER_TYPE/$INSTALLER_TYPE/g" \
128        -e "s/REPLACE_VERSION/$BOTTLENECKS_VERSION/g" \
129        -e "s#REPLACE_BOTTLENECKS_DB_TARGET#$BOTTLENECKS_DB_TARGET#g" \
130           $BOTTLENECKS_TOP/utils/dashboard/dashboard.yaml
131
132 cat $BOTTLENECKS_TOP/utils/dashboard/dashboard.yaml
133
134 python $BOTTLENECKS_TOP/utils/dashboard/process_data.py \
135            $RUBBOS_RESULTS_DIR_BASE/$RUBBOS_RESULTS_DIR_NAME \
136            $BOTTLENECKS_TOP/utils/dashboard/dashboard.yaml
137 cd -
138
139 echo "Finish RUBBoS"
140 touch /tmp/rubbos_finished
141
142 set +x
143