diff options
author | dengyh <dengyuanhong @chinamobile.com> | 2020-07-24 10:28:00 +0800 |
---|---|---|
committer | Yuanhong Deng <dengyuanhong@chinamobile.com> | 2020-07-28 02:26:03 +0000 |
commit | 7a0c2aa47bc5297a7977e7b7d1a362768efa1e17 (patch) | |
tree | b964611c4f6b2365b75f94cfba19f01f2d02247e /docker | |
parent | 18e83bdb36453f4fe09bc0395597125302ad47f7 (diff) |
Cancel modifying the config file in the docker entrypoint
script with sed
Issue-ID: MODELING-391
Change-Id: Ia40e85d03cdb29660536576576453cbfc135eaf2
Signed-off-by: dengyh <dengyuanhong @chinamobile.com>
Diffstat (limited to 'docker')
-rwxr-xr-x | docker/docker-entrypoint.sh | 51 | ||||
-rwxr-xr-x | docker/instance_config.sh | 44 | ||||
-rwxr-xr-x | docker/instance_init.sh | 27 |
3 files changed, 29 insertions, 93 deletions
diff --git a/docker/docker-entrypoint.sh b/docker/docker-entrypoint.sh index b6b09a5..05b094a 100755 --- a/docker/docker-entrypoint.sh +++ b/docker/docker-entrypoint.sh @@ -11,33 +11,40 @@ if [ -z "$MSB_ADDR" ]; then fi echo "MSB_ADDR=$MSB_ADDR" -if [ -z "$MYSQL_ADDR" ]; then - echo "Missing required variable MYSQL_ADDR: <ip>:<port>" - exit 1 +# Configure config file based on environment variables + +python modeling/etsicatalog/catalog/pub/config/config.py +cat modeling/etsicatalog/catalog/pub/config/config.py + +# microservice-specific one-time initialization + +MYSQL_IP=`echo $MYSQL_ADDR | cut -d: -f 1` +MYSQL_PORT=`echo $MYSQL_ADDR | cut -d: -f 2` + +if [ $MYSQL_ROOT_USER ] && [ $MYSQL_ROOT_PASSWORD ]; then + MYSQL_ROOT_USER=$MYSQL_ROOT_USER + MYSQL_ROOT_PASSWORD=$MYSQL_ROOT_PASSWORD +else + MYSQL_ROOT_USER="root" + MYSQL_ROOT_PASSWORD="root" fi -echo "MYSQL_ADDR=$MYSQL_ADDR" -# Wait for MSB initialization -echo "Wait for MSB initialization" -for i in {1..5}; do - curl -sS -m 1 $MSB_ADDR > /dev/null && break - sleep $i -done +function create_database { -# Wait for DB initialization -echo "Wait for DB initialization" -for i in {1..5}; do - curl -sS -m 1 $MYSQL_ADDR > /dev/null && break - sleep $i -done + cd /service/modeling/etsicatalog/resources/bin + bash initDB.sh $MYSQL_ROOT_USER $MYSQL_ROOT_PASSWORD $MYSQL_PORT $MYSQL_IP -# Configure service based on docker environment variables -modeling/etsicatalog/docker/instance_config.sh + } -# microservice-specific one-time initialization -modeling/etsicatalog/docker/instance_init.sh +function migrate_database { + cd /service/modeling/etsicatalog + python manage.py migrate +} + +create_database +migrate_database -date > init.log +date > /service/init.log # Start the microservice -modeling/etsicatalog/docker/instance_run.sh +/service/modeling/etsicatalog/docker/instance_run.sh diff --git a/docker/instance_config.sh b/docker/instance_config.sh deleted file mode 100755 index f4abef0..0000000 --- a/docker/instance_config.sh +++ /dev/null @@ -1,44 +0,0 @@ -#!/bin/bash - -MSB_PROTO=`echo $MSB_PROTO` -MSB_IP=`echo $MSB_ADDR | cut -d: -f 1` -MSB_PORT=`echo $MSB_ADDR | cut -d: -f 2` -# modeling/etsicatalog - -if [ $MSB_PROTO ]; then - sed -i "s|MSB_SERVICE_PROTOCOL = .*|MSB_SERVICE_PROTOCOL = '$MSB_PROTO'|" modeling/etsicatalog/catalog/pub/config/config.py -fi - -if [ $MSB_IP ]; then - sed -i "s|MSB_SERVICE_IP = .*|MSB_SERVICE_IP = '$MSB_IP'|" modeling/etsicatalog/catalog/pub/config/config.py -fi - -if [ $MSB_PORT ]; then - sed -i "s|MSB_SERVICE_PORT = .*|MSB_SERVICE_PORT = '$MSB_PORT'|" modeling/etsicatalog/catalog/pub/config/config.py -fi - -if [ $SERVICE_IP ]; then - sed -i "s|\"ip\": \".*\"|\"ip\": \"$SERVICE_IP\"|" modeling/etsicatalog/catalog/pub/config/config.py -fi - - -if [ $SSL_ENABLED ]; then - sed -i "s|SSL_ENABLED = .*|SSL_ENABLED = '$SSL_ENABLED'|" modeling/etsicatalog/catalog/pub/config/config.py -fi - -MYSQL_IP=`echo $MYSQL_ADDR | cut -d: -f 1` -MYSQL_PORT=`echo $MYSQL_ADDR | cut -d: -f 2` -echo "MYSQL_ADDR=$MYSQL_ADDR" - -# if [ $REDIS_ADDR ]; then -# REDIS_IP=`echo $REDIS_ADDR | cut -d: -f 1` -# else -# REDIS_IP="$MYSQL_ADDR" -# fi - - -sed -i "s|DB_IP.*|DB_IP = '$MYSQL_IP'|" modeling/etsicatalog/catalog/pub/config/config.py -sed -i "s|DB_PORT.*|DB_PORT = $MYSQL_PORT|" modeling/etsicatalog/catalog/pub/config/config.py -# sed -i "s|REDIS_HOST.*|REDIS_HOST = '$REDIS_IP'|"modeling/etsicatalog/catalog/pub/config/config.py - -cat modeling/etsicatalog/catalog/pub/config/config.py diff --git a/docker/instance_init.sh b/docker/instance_init.sh deleted file mode 100755 index d545d67..0000000 --- a/docker/instance_init.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/bash - -MYSQL_IP=`echo $MYSQL_ADDR | cut -d: -f 1` -MYSQL_PORT=`echo $MYSQL_ADDR | cut -d: -f 2` - -if [ $MYSQL_AUTH ]; then - MYSQL_ROOT_USER=`echo $MYSQL_AUTH | cut -d: -f 1` - MYSQL_ROOT_PASSWORD=`echo $MYSQL_AUTH | cut -d: -f 2` -else - MYSQL_ROOT_USER="root" - MYSQL_ROOT_PASSWORD="root" -fi - -function create_database { - - cd /service/modeling/etsicatalog/resources/bin - bash initDB.sh $MYSQL_ROOT_USER $MYSQL_ROOT_PASSWORD $MYSQL_PORT $MYSQL_IP - - } - -function migrate_database { - cd /service/modeling/etsicatalog - python manage.py migrate -} - -create_database -migrate_database |