X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=utils%2Finfra_setup%2Fvm_dev_setup%2Fsetup_env.sh;h=bfc8f724729e5bbb2ac734744f452a6c6279d693;hb=caa7ed3cf693e4ab499e9562116e73a212ac665f;hp=8ba76600cabc4a0b73b7d9682442e18aa3343803;hpb=4307f8d1d2653ea5ba2029bd7720c1ea6a8cdb76;p=bottlenecks.git diff --git a/utils/infra_setup/vm_dev_setup/setup_env.sh b/utils/infra_setup/vm_dev_setup/setup_env.sh index 8ba76600..bfc8f724 100755 --- a/utils/infra_setup/vm_dev_setup/setup_env.sh +++ b/utils/infra_setup/vm_dev_setup/setup_env.sh @@ -1,26 +1,26 @@ #!/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 ubuntu@$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 } bottlenecks_prepare_env() { - echo "Bottlenecks prepare env in VMs" + echo "Bottlenecks prepare env" # configue rubbos control ssh key generate_ssh_key @@ -29,45 +29,57 @@ 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 - ssh $ssh_args ec2-user@$i "sudo bash $SCRIPT_DIR/vm_prepare_setup.sh" & + scp $ssh_args -r $SCRIPT_DIR ubuntu@$i:/tmp + ssh $ssh_args ubuntu@$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" + # ugly use ssh execute script to fix ubuntu previlege issue + ssh $ssh_args ubuntu@$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 +} + +git_checkout() +{ + if sudo git cat-file -e $1^{commit} 2>/dev/null; then + # branch, tag or sha1 object + sudo git checkout $1 + else + # refspec / changeset + sudo git fetch --tags --progress $2 $1 + sudo git checkout FETCH_HEAD + fi } bottlenecks_download_repo() { echo "Bottlenecks: download bottlenecks repo" - if [ -d $BOTTELENECKS_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 config --global http.sslVerify false + if [ ! -d $BOTTLENECKS_REPO_DIR ]; then 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 + sudo cd $BOTTLENECKS_REPO_DIR + sudo git checkout master && sudo git pull + git_checkout $BOTTLENECKS_BRANCH $BOTTLENECKS_REPO + sudo cd - } 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" \ @@ -76,7 +88,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() @@ -84,10 +96,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 } @@ -97,8 +109,6 @@ bottlenecks_rubbos_install_exe() cd $RUBBOS_RUN_DIR sudo ./run.sh - cd $RUBBOS_EXE_DIR - sudo ./CONTROL_rubbos_exec.sh } main() @@ -106,15 +116,17 @@ main() SCRIPT_DIR=`cd ${BASH_SOURCE[0]%/*};pwd` ssh_args="-o StrictHostKeyChecking=no -o BatchMode=yes" - source $SCRIPT_DIR/package.conf source $SCRIPT_DIR/hosts.conf + source $SCRIPT_DIR/package.conf source $SCRIPT_DIR/common.sh bottlenecks_prepare_env + set -x bottlenecks_download_repo + bottlenecks_config_hosts_ip bottlenecks_download_packages bottlenecks_rubbos_install_exe } main -set +ex +set +x