5b45de45732dbf7fe74c0842d4489168978342b9
[bottlenecks.git] / utils / infra_setup / vm_dev_setup / setup_env.sh
1 #!/bin/bash
2
3 set -ex
4
5 bottlenecks_prepare_env()
6 {
7     echo "Bottlenecks: install preinstall packages in VM"
8
9     for i in $PreInstall_Packages; do
10         if ! apt --installed list 2>/dev/null |grep "\<$i\>"
11         then
12             sudo apt-get install  -y --force-yes  $i
13         fi
14     done
15 }
16
17 bottlenecks_download_repo()
18 {
19     echo "Bottlenecks: download bottlenecks repo"
20
21     if [ -d $BOTTELENECKS_REPO_DIR/.git ]; then
22         cd $BOTTLENECKS_REPO_DIR
23         git pull origin master
24         cd -
25     else
26         rm -rf $BOTTLENECKS_REPO_DIR
27         git clone $BOTTLENECKS_REPO $BOTTLENECKS_REPO_DIR
28     fi
29 }
30
31 bottlenecks_config_hosts_ip()
32 {
33     sed -i -e "s/REPLACE_CONTROL_HOST/$rubbos_control/g" \
34            -e "s/REPLACE_HTTPD_HOST/$rubbos_httpd/g" \
35            -e "s/REPLACE_MYSQL1_HOST/$rubbos_mysql1/g" \
36            -e "s/REPLACE_TOMCAT1_HOST/$rubbos_tomcat1/g" \
37            -e "s/REPLACE_CLIENT1_HOST/$rubbos_client1/g" \
38            -e "s/REPLACE_CLIENT2_HOST/$rubbos_client2/g" \
39            -e "s/REPLACE_CLIENT3_HOST/$rubbos_client3/g" \
40            -e "s/REPLACE_CLIENT4_HOST/$rubbos_client4/g" \
41            -e "s/REPLACE_BENCHMARK_HOST/$rubbos_benchmark/g" \
42            $BOTTELENECKS_REPO_DIR/rubbos/rubbos_scripts/1-1-1/set_bottlenecks_rubbos_env.sh
43 }
44
45 bottlenecks_download_packages()
46 {
47     echo "Bottlenecks: download rubbos dependent packages from artifacts"
48
49     curl --connect-timeout 10 -o /tmp/app_tools.tar.gz $RUBBOS_APP_TOOLS_URL 2>/dev/null
50     tar zxvf /tmp/app_tools.tar.gz -C $RUBBOS_DIR
51     rm -rf /tmp/app_tools.tar.gz
52     curl --connect-timeout 10 -o /tmp/rubbosMulini6.tar.gz $RUBBOS_MULINI6_URL 2>/dev/null
53     tar zxvf /tmp/rubbosMulini6.tar.gz -C $RUBBOS_MULINI6_DIR
54     rm -rf /tmp/rubbosMulini6.tar.gz
55 }
56
57 bottlenecks_rubbos_install_exe()
58 {
59     echo "Bottlenecks: install and run rubbos"
60
61     cd $RUBBOS_RUN_DIR
62     ./run.sh
63     cd $RUBBOS_EXE_DIR
64     ./CONTROL_rubbos_exec.sh
65 }
66
67 main()
68 {
69     PreInstall_Packages="git gcc gettext g++ libaio1 libaio-dev make"
70     SCRIPT_DIR=`cd ${BASH_SOURCE[0]%/*};pwd`
71
72     source $SCRIPT_DIR/package.conf
73     source $SCRIPT_DIR/hosts.conf
74
75     bottlenecks_prepare_env
76     bottlenecks_download_repo
77     bottlenecks_download_packages
78     bottlenecks_rubbos_install_exe
79 }
80
81 main
82 set +ex