9 until timeout 10s ssh $ssh_args ec2-user@$ip "exit" >/dev/null 2>&1
11 echo "retry connect rubbos vm ip $ip $retry"
14 if [[ $retry -ge $2 ]];then
15 echo "rubbos control start timeout !!!"
21 bottlenecks_prepare_env()
23 echo "Bottlenecks prepare env in VMs"
25 # configue rubbos control ssh key
28 # wait all other VMs ok
29 for i in $rubbos_benchmark $rubbos_client1 $rubbos_client2 \
30 $rubbos_client3 $rubbos_client4 $rubbos_httpd $rubbos_mysql1 $rubbos_tomcat1
36 for i in $rubbos_benchmark $rubbos_client1 $rubbos_client2 \
37 $rubbos_client3 $rubbos_client4 $rubbos_httpd $rubbos_mysql1 $rubbos_tomcat1
39 scp $ssh_args -r $SCRIPT_DIR ec2-user@$i:/tmp
40 ssh $ssh_args ec2-user@$i "sudo bash $SCRIPT_DIR/vm_prepare_setup.sh" &
43 # ugly use ssh execute script to fix ec2-user previlege issue
44 ssh $ssh_args ec2-user@$rubbos_control "sudo bash $SCRIPT_DIR/vm_prepare_setup.sh"
47 for i in $rubbos_control $rubbos_benchmark $rubbos_client1 $rubbos_client2 \
48 $rubbos_client3 $rubbos_client4 $rubbos_httpd $rubbos_mysql1 $rubbos_tomcat1
50 ssh $ssh_args root@$i "uname -a"
54 bottlenecks_download_repo()
56 echo "Bottlenecks: download bottlenecks repo"
58 if [ -d $BOTTLENECKS_REPO_DIR/.git ]; then
59 cd $BOTTLENECKS_REPO_DIR
60 sudo git pull origin master
61 if [ x"$GERRIT_REFSPEC_DEBUG" != x ]; then
62 sudo git fetch $BOTTLENECKS_REPO $GERRIT_REFSPEC_DEBUG && git checkout FETCH_HEAD
66 sudo rm -rf $BOTTLENECKS_REPO_DIR
67 sudo git clone $BOTTLENECKS_REPO $BOTTLENECKS_REPO_DIR
68 if [ x"$GERRIT_REFSPEC_DEBUG" != x ]; then
69 sudo git fetch $BOTTLENECKS_REPO $GERRIT_REFSPEC_DEBUG && git checkout FETCH_HEAD
75 bottlenecks_config_hosts_ip()
77 sudo sed -i -e "s/REPLACE_CONTROL_HOST/$rubbos_control/g" \
78 -e "s/REPLACE_HTTPD_HOST/$rubbos_httpd/g" \
79 -e "s/REPLACE_MYSQL1_HOST/$rubbos_mysql1/g" \
80 -e "s/REPLACE_TOMCAT1_HOST/$rubbos_tomcat1/g" \
81 -e "s/REPLACE_CLIENT1_HOST/$rubbos_client1/g" \
82 -e "s/REPLACE_CLIENT2_HOST/$rubbos_client2/g" \
83 -e "s/REPLACE_CLIENT3_HOST/$rubbos_client3/g" \
84 -e "s/REPLACE_CLIENT4_HOST/$rubbos_client4/g" \
85 -e "s/REPLACE_BENCHMARK_HOST/$rubbos_benchmark/g" \
86 $BOTTLENECKS_REPO_DIR/rubbos/rubbos_scripts/1-1-1/set_bottlenecks_rubbos_env.sh
89 bottlenecks_download_packages()
91 echo "Bottlenecks: download rubbos dependent packages from artifacts"
93 curl --connect-timeout 10 -o /tmp/app_tools.tar.gz $RUBBOS_APP_TOOLS_URL 2>/dev/null
94 sudo tar zxf /tmp/app_tools.tar.gz -C $RUBBOS_DIR
95 rm -rf /tmp/app_tools.tar.gz
96 curl --connect-timeout 10 -o /tmp/rubbosMulini6.tar.gz $RUBBOS_MULINI6_URL 2>/dev/null
97 sudo tar zxf /tmp/rubbosMulini6.tar.gz -C $RUBBOS_MULINI6_DIR
98 rm -rf /tmp/rubbosMulini6.tar.gz
101 bottlenecks_rubbos_install_exe()
103 echo "Bottlenecks: install and run rubbos"
108 sudo ./CONTROL_rubbos_exec.sh
113 SCRIPT_DIR=`cd ${BASH_SOURCE[0]%/*};pwd`
115 ssh_args="-o StrictHostKeyChecking=no -o BatchMode=yes"
116 source $SCRIPT_DIR/package.conf
117 source $SCRIPT_DIR/hosts.conf
118 source $SCRIPT_DIR/common.sh
120 bottlenecks_prepare_env
121 bottlenecks_download_repo
122 bottlenecks_config_hosts_ip
123 bottlenecks_download_packages
124 bottlenecks_rubbos_install_exe