summaryrefslogtreecommitdiffstats
path: root/dovetail/utils/local_db/launch_db.sh
diff options
context:
space:
mode:
authorxudan <xudan16@huawei.com>2017-11-02 02:17:10 -0400
committerLeo wang <grakiss.wanglei@huawei.com>2017-11-06 01:28:29 +0000
commit2866e0b3a9f028eee262b65db1e377b50b3f9594 (patch)
tree16b8f79511b85493203bc88951798b5b2d79ec6e /dovetail/utils/local_db/launch_db.sh
parent0df52c2b1fe801b0f282c4f44aed7891a389d833 (diff)
Bugfix: Failed to build local DB on Centos
1. The scripts for building local DB and testapi service just work on Ubuntu. 2. For Centos, they fails to do that. 3. This is mainly because of that Centos can't use the IP of the JumpHost to connect the DB and testapi. It needs to use the internal IPs of the DB container and the testapi container. 4. Change the IPs in the scripts to be the containers' internal IPs. JIRA: DOVETAIL-548 Change-Id: I71aed82cb620b58bcd43ace61497db65c5bd7ecc Signed-off-by: xudan <xudan16@huawei.com>
Diffstat (limited to 'dovetail/utils/local_db/launch_db.sh')
-rwxr-xr-xdovetail/utils/local_db/launch_db.sh26
1 files changed, 12 insertions, 14 deletions
diff --git a/dovetail/utils/local_db/launch_db.sh b/dovetail/utils/local_db/launch_db.sh
index dbc0d003..cad0f365 100755
--- a/dovetail/utils/local_db/launch_db.sh
+++ b/dovetail/utils/local_db/launch_db.sh
@@ -8,20 +8,8 @@
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
-if [ "$#" -ne 1 ]; then
- echo "Error: missing parameter! try again like this:"
- echo ""
- echo "./launch_db.sh 192.168.115.2"
- echo ""
- echo "parameters:"
- echo " host_ip: your localhost ip address "
- echo ""
- exit 1
-fi
-
export mongodb_port=${mongodb_port:-"27017"}
export testapi_port=${testapi_port:-"8000"}
-export db_host_ip=${db_host_ip:-"$1"}
set -e
@@ -53,6 +41,11 @@ ${cmd}
echo "Successfully create mongo DB."
+echo "Step4: get the internal IP of ${container_name} container..."
+get_ip_cmd="ip a | grep eth0 | grep inet | awk '{print \$2}' | cut -d'/' -f 1"
+mongo_ip=$(sudo docker exec ${container_name} /bin/bash -c "${get_ip_cmd}")
+echo "The internal IP of container ${container_name} is ${mongo_ip}"
+
echo "=========================="
echo "Create the testapi service."
@@ -75,10 +68,15 @@ fi
# run testapi container
echo "Step3: run ${container_name} container."
-cmd="sudo docker run -itd -p ${testapi_port}:8000 --name ${container_name} -v ${DOVETAIL_HOME}/testapi/logs:/home/testapi/logs -e mongodb_url=mongodb://${db_host_ip}:${mongodb_port}/ ${testapi_img}"
+cmd="sudo docker run -itd -p ${testapi_port}:8000 --name ${container_name} -v ${DOVETAIL_HOME}/testapi/logs:/home/testapi/logs -e mongodb_url=mongodb://${mongo_ip}:27017/ ${testapi_img}"
echo $cmd
${cmd}
+echo "Step4: get the internal IP of ${container_name} container..."
+get_ip_cmd="ip a | grep eth0 | grep inet | awk '{print \$2}' | cut -d'/' -f 1"
+testapi_ip=$(sudo docker exec ${container_name} /bin/bash -c "${get_ip_cmd}")
+echo "The internal IP of container ${container_name} is ${testapi_ip}"
+
echo "Wait for testapi to work..."
sleep 10
@@ -87,7 +85,7 @@ echo "Upload default project info to DB"
echo "================================="
echo "Init DB info..."
-cmd="python ./init_db.py ${db_host_ip} ${testapi_port}"
+cmd="python /home/opnfv/dovetail/dovetail/utils/local_db/init_db.py ${testapi_ip} 8000"
echo $cmd
${cmd}