add vm env setup and run script after instance creation
[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_download_packages()
32 {
33     echo "Bottlenecks: download rubbos dependent packages from artifacts"
34
35     curl --connect-timeout 10 -o /tmp/app_tools.tar.gz $RUBBOS_APP_TOOLS_URL 2>/dev/null
36     tar zxvf /tmp/app_tools.tar.gz -C $RUBBOS_DIR
37     rm -rf /tmp/app_tools.tar.gz
38     curl --connect-timeout 10 -o /tmp/rubbosMulini6.tar.gz $RUBBOS_MULINI6_URL 2>/dev/null
39     tar zxvf /tmp/rubbosMulini6.tar.gz -C $RUBBOS_MULINI6_DIR
40     rm -rf /tmp/rubbosMulini6.tar.gz
41 }
42
43 bottlenecks_rubbos_install_exe()
44 {
45     echo "Bottlenecks: install and run rubbos"
46
47     cd $RUBBOS_RUN_DIR
48     ./run.sh
49     cd $RUBBOS_EXE_DIR
50     ./CONTROL_rubbos_exec.sh
51 }
52
53 main()
54 {
55     PreInstall_Packages="git gcc gettext g++ libaio1 libaio-dev make"
56     SCRIPT_DIR=`cd ${BASH_SOURCE[0]%/*};pwd`
57
58     source $SCRIPT_DIR/package.conf
59
60     bottlenecks_prepare_env
61     bottlenecks_download_repo
62     bottlenecks_download_packages
63     bottlenecks_rubbos_install_exe
64 }
65
66 main
67 set +ex