Add result handler & fix test run hanging bug
[bottlenecks.git] / utils / infra_setup / vm_dev_setup / setup_env.sh
index 52579e0..f1572e0 100755 (executable)
@@ -1,19 +1,19 @@
 #!/bin/bash
 
-set -ex
+set -x
 
 wait_vm_ok() {
     ip=$1
 
     retry=0
-    until timeout 1s ssh $ssh_args ec2-user@$ip "exit" >/dev/null 2>&1
+    until timeout 10s ssh $ssh_args ec2-user@$ip "exit" >/dev/null 2>&1
     do
         echo "retry connect rubbos vm ip $ip $retry"
         sleep 1
         let retry+=1
         if [[ $retry -ge $2 ]];then
             echo "rubbos control start timeout !!!"
-            exit 1
+            #exit 1
         fi
     done
 }
@@ -29,38 +29,52 @@ bottlenecks_prepare_env()
     for i in $rubbos_benchmark $rubbos_client1 $rubbos_client2 \
              $rubbos_client3 $rubbos_client4 $rubbos_httpd $rubbos_mysql1 $rubbos_tomcat1
     do
-        wait_vm_ok $i 120
+        wait_vm_ok $i 360
     done
 
-    # asynchronous configue other VMs
+    # configue other VMs
     for i in $rubbos_benchmark $rubbos_client1 $rubbos_client2 \
              $rubbos_client3 $rubbos_client4 $rubbos_httpd $rubbos_mysql1 $rubbos_tomcat1
     do
-          scp $ssh_args -r $SCRIPT_DIR ec2-user@$i:$SCRIPT_DIR
+          scp $ssh_args -r $SCRIPT_DIR ec2-user@$i:/tmp
           ssh $ssh_args ec2-user@$i "sudo bash $SCRIPT_DIR/vm_prepare_setup.sh" &
     done
 
     # ugly use ssh execute script to fix ec2-user previlege issue
     ssh $ssh_args ec2-user@$rubbos_control "sudo bash $SCRIPT_DIR/vm_prepare_setup.sh"
+
+    # test root access
+    for i in $rubbos_control $rubbos_benchmark $rubbos_client1 $rubbos_client2 \
+             $rubbos_client3 $rubbos_client4 $rubbos_httpd $rubbos_mysql1 $rubbos_tomcat1
+    do
+          ssh $ssh_args root@$i "uname -a"
+    done
 }
 
 bottlenecks_download_repo()
 {
     echo "Bottlenecks: download bottlenecks repo"
 
-    if [ -d $BOTTELENECKS_REPO_DIR/.git ]; then
+    if [ -d $BOTTLENECKS_REPO_DIR/.git ]; then
         cd $BOTTLENECKS_REPO_DIR
         sudo git pull origin master
+        if [ x"$GERRIT_REFSPEC_DEBUG" != x ]; then
+            sudo git fetch $BOTTLENECKS_REPO $GERRIT_REFSPEC_DEBUG && git checkout FETCH_HEAD
+        fi
         cd -
     else
         sudo rm -rf $BOTTLENECKS_REPO_DIR
         sudo git clone $BOTTLENECKS_REPO $BOTTLENECKS_REPO_DIR
+        if [ x"$GERRIT_REFSPEC_DEBUG" != x ]; then
+            sudo git fetch $BOTTLENECKS_REPO $GERRIT_REFSPEC_DEBUG && git checkout FETCH_HEAD
+        fi
+
     fi
 }
 
 bottlenecks_config_hosts_ip()
 {
-    sed -i -e "s/REPLACE_CONTROL_HOST/$rubbos_control/g" \
+    sudo sed -i -e "s/REPLACE_CONTROL_HOST/$rubbos_control/g" \
            -e "s/REPLACE_HTTPD_HOST/$rubbos_httpd/g" \
            -e "s/REPLACE_MYSQL1_HOST/$rubbos_mysql1/g" \
            -e "s/REPLACE_TOMCAT1_HOST/$rubbos_tomcat1/g" \
@@ -69,7 +83,7 @@ bottlenecks_config_hosts_ip()
            -e "s/REPLACE_CLIENT3_HOST/$rubbos_client3/g" \
            -e "s/REPLACE_CLIENT4_HOST/$rubbos_client4/g" \
            -e "s/REPLACE_BENCHMARK_HOST/$rubbos_benchmark/g" \
-           $BOTTELENECKS_REPO_DIR/rubbos/rubbos_scripts/1-1-1/set_bottlenecks_rubbos_env.sh
+           $BOTTLENECKS_REPO_DIR/rubbos/rubbos_scripts/1-1-1/set_bottlenecks_rubbos_env.sh
 }
 
 bottlenecks_download_packages()
@@ -77,10 +91,10 @@ bottlenecks_download_packages()
     echo "Bottlenecks: download rubbos dependent packages from artifacts"
 
     curl --connect-timeout 10 -o /tmp/app_tools.tar.gz $RUBBOS_APP_TOOLS_URL 2>/dev/null
-    sudo tar zxvf /tmp/app_tools.tar.gz -C $RUBBOS_DIR
+    sudo tar zxf /tmp/app_tools.tar.gz -C $RUBBOS_DIR
     rm -rf /tmp/app_tools.tar.gz
     curl --connect-timeout 10 -o /tmp/rubbosMulini6.tar.gz $RUBBOS_MULINI6_URL 2>/dev/null
-    sudo tar zxvf /tmp/rubbosMulini6.tar.gz -C $RUBBOS_MULINI6_DIR
+    sudo tar zxf /tmp/rubbosMulini6.tar.gz -C $RUBBOS_MULINI6_DIR
     rm -rf /tmp/rubbosMulini6.tar.gz
 }
 
@@ -90,8 +104,6 @@ bottlenecks_rubbos_install_exe()
 
     cd $RUBBOS_RUN_DIR
     sudo ./run.sh
-    cd $RUBBOS_EXE_DIR
-    sudo ./CONTROL_rubbos_exec.sh
 }
 
 main()
@@ -105,9 +117,10 @@ main()
 
     bottlenecks_prepare_env
     bottlenecks_download_repo
+    bottlenecks_config_hosts_ip
     bottlenecks_download_packages
     bottlenecks_rubbos_install_exe
 }
 
 main
-set +ex
+set +x