summaryrefslogtreecommitdiffstats
path: root/dovetail/utils/local_db/launch_db.sh
blob: 956ccfe86199d6d4ff4c9cffd901b6c5569984d1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
#!/bin/bash
##############################################################################
# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others.
#
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Apache License, Version 2.0
# which accompanies this distribution, and is available at
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################

if [ "$#" -ne 2 ]; then
    echo "Error: missing parameter! try again like this:"
    echo ""
    echo "./launch_db.sh 192.168.115.2 http://116.66.187.136:9999"
    echo ""
    echo "parameters:"
    echo "  host_ip: your localhost ip address "
    echo "  base_url: your public url for website"
    echo ""
    exit 1
fi

export mongodb_port=${mongodb_port:-"27017"}
export testapi_port=${testapi_port:-"8010"}
export db_host_ip=${db_host_ip:-"$1"}
export base_url=${base_url:-"$2"}


set -e

echo "==================="
echo "Create the mongodb."
echo "==================="

set +e
# pull image mongo:3.2.1
mongodb_img="mongo:3.2.1"
echo "Step1: pull the image $mongodb_img."
sudo docker pull $mongodb_img
set -e

container_name='mongodb'

echo "Step2: remove the exist container with the same name '$container_name' if exists."
sudo docker ps -a -f "name=${container_name}"

if [[ ! -z $(sudo docker ps -aq -f "name=${container_name}") ]]; then
    sudo docker ps -aq -f "name=${container_name}" | xargs sudo docker rm -f
fi

# run mongodb container
echo "Step3: run ${container_name} container."
cmd="sudo docker run -itd -p ${mongodb_port}:27017 -v /home/testapi/mongo:/data/db --name ${container_name} ${mongodb_img}"
echo $cmd
${cmd}

echo "Successfully create mongo DB."


echo "=========================="
echo "Create the testapi service."
echo "=========================="

set +e
testapi_img="opnfv/testapi:cvp.0.5.0"
echo "Step1: pull the image $testapi_img."
sudo docker pull $testapi_img
set -e

container_name='testapi'

echo "Step2: remove the exist container with the same name '$container_name' if exists."
sudo docker ps -a -f "name=${container_name}"

if [[ ! -z $(sudo docker ps -aq -f "name=${container_name}") ]]; then
    sudo docker ps -aq -f "name=${container_name}" | xargs sudo docker rm -f
fi

# run testapi container
echo "Step3: run ${container_name} container."
cmd="sudo docker run -itd -p 8010:8010 --name ${container_name} -v /home/testapi/logs:/home/testapi/logs -e mongodb_url=mongodb://${db_host_ip}:${mongodb_port}/ -e base_url=${base_url} ${testapi_img}"
echo $cmd
${cmd}

echo "Wait for testapi to work..."
sleep 10

set +e
nginx_img="opnfv/dovetail:nginx.cvp.0.5.0"
echo "Step1: pull the image $nginx_img."
sudo docker pull $nginx_img
set -e

container_name='nginx_cvp'

echo "Step2: remove the exist container with the same name '$container_name' if exists."
sudo docker ps -a -f "name=${container_name}"

if [[ ! -z $(sudo docker ps -aq -f "name=${container_name}") ]]; then
    sudo docker ps -aq -f "name=${container_name}" | xargs sudo docker rm -f
fi

# run nginx container
echo "Step3: run ${container_name} container."
cmd="sudo docker run -itd -p 8000:8000 -v /home/testapi/logs:/home/testapi/logs --name ${container_name} -e testapi_url=${db_host_ip}:8010 ${nginx_img}"
echo $cmd
${cmd}

echo "================================="
echo "Upload default project info to DB"
echo "================================="

echo "Init DB info..."
cmd="python ./init_db.py ${db_host_ip} 8010"
echo $cmd
${cmd}

echo "Init dovetail testcase"
cmd="python ./init_dovetail.py ${base_url}/api/v1"
echo $cmd
${cmd}

echo "Successfully load DB info."