aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordyh <dengyuanhong@chinamobile.com>2020-08-07 11:30:10 +0800
committerdyh <dengyuanhong@chinamobile.com>2020-08-10 10:14:07 +0800
commit7250a283491694e08aa9e9cfb283e59b62833721 (patch)
tree4b8f7c2616e5fc081567d8623210a7fe8d7681d8
parent902574c0dadd7b1720044d03ec3d70aa06678c8e (diff)
Don't modify the config file with sed in the docker entrypoint script
Issue-ID: VFC-1623 Change-Id: I5fe44e016bfa451bc257d51e634d302c11641360 Signed-off-by: dyh <dengyuanhong@chinamobile.com>
-rwxr-xr-xdocker/docker-entrypoint.sh40
-rwxr-xr-xdocker/instance_config.sh59
-rw-r--r--lcm/pub/config/config.py32
3 files changed, 16 insertions, 115 deletions
diff --git a/docker/docker-entrypoint.sh b/docker/docker-entrypoint.sh
index 3d9b7949..8f4ea9b5 100755
--- a/docker/docker-entrypoint.sh
+++ b/docker/docker-entrypoint.sh
@@ -1,42 +1,8 @@
#!/bin/bash
-if [ -z "$SERVICE_IP" ]; then
- export SERVICE_IP=`hostname -i`
-fi
-echo "SERVICE_IP=$SERVICE_IP"
-
-if [ -z "$MSB_ADDR" ]; then
- echo "Missing required variable MSB_ADDR: Microservices Service Bus address <ip>:<port>"
- exit 1
-fi
-echo "MSB_ADDR=$MSB_ADDR"
-
-if [ -z "$MYSQL_ADDR" ]; then
- echo "Missing required variable MYSQL_ADDR: <ip>:<port>"
- exit 1
-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_PROTO://$MSB_ADDR/msb -k > /dev/null
- res=$?
- if [ $res -ne 0 ]; then
- break
- fi
- sleep $i
-done
-
-# Wait for DB initialization
-echo "Wait for DB initialization"
-for i in {1..5}; do
- mysql -u$MYSQL_ROOT_USER -p$MYSQL_ROOT_PASSWORD -h`echo $MYSQL_ADDR | cut -d: -f 1` -P`echo $MYSQL_ADDR | cut -d: -f 2` -e "show databases;" > /dev/null && echo "DB initialization completed" && break
- sleep $i && echo "`echo $MYSQL_ADDR | cut -d: -f 1` connection failed"
-done
-
-# Configure service based on docker environment variables
-vfc/nfvo/lcm/docker/instance_config.sh
+# Configure config file based on environment variables
+python vfc/nfvo/lcm/lcm/pub/config/config.py
+cat vfc/nfvo/lcm/lcm/pub/config/config.py
# microservice-specific one-time initialization
vfc/nfvo/lcm/docker/instance_init.sh
diff --git a/docker/instance_config.sh b/docker/instance_config.sh
deleted file mode 100755
index 19b814ac..00000000
--- a/docker/instance_config.sh
+++ /dev/null
@@ -1,59 +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`
-
-MR_IP=`echo $MR_ADDR | cut -d: -f 1`
-MR_PORT=`echo $MR_ADDR | cut -d: -f 2`
-
-REG_TO_MSB_WHEN_START=$REG_TO_MSB_WHEN_START
-
-if [ $REG_TO_MSB_WHEN_START ]; then
- sed -i "s|REG_TO_MSB_WHEN_START = .*|REG_TO_MSB_WHEN_START = '$REG_TO_MSB_WHEN_START'|" vfc/nfvo/lcm/lcm/pub/config/config.py
-fi
-
-if [ $MSB_PROTO ]; then
- sed -i "s|MSB_SERVICE_PROTOCOL = .*|MSB_SERVICE_PROTOCOL = '$MSB_PROTO'|" vfc/nfvo/lcm/lcm/pub/config/config.py
-fi
-
-if [ $MSB_IP ]; then
- sed -i "s|MSB_SERVICE_IP = .*|MSB_SERVICE_IP = '$MSB_IP'|" vfc/nfvo/lcm/lcm/pub/config/config.py
-fi
-
-if [ $MSB_PORT ]; then
- sed -i "s|MSB_SERVICE_PORT = .*|MSB_SERVICE_PORT = '$MSB_PORT'|" vfc/nfvo/lcm/lcm/pub/config/config.py
-fi
-
-if [ $MR_IP ]; then
- sed -i "s|MR_IP.*|MR_IP = '$MR_IP'|" vfc/nfvo/lcm/lcm/pub/config/config.py
-fi
-
-if [ $MR_PORT ]; then
- sed -i "s|MR_PORT.*|MR_PORT = '$MR_PORT'|" vfc/nfvo/lcm/lcm/pub/config/config.py
-fi
-
-if [ $SERVICE_IP ]; then
- sed -i "s|\"ip\": \".*\"|\"ip\": \"$SERVICE_IP\"|" vfc/nfvo/lcm/lcm/pub/config/config.py
-fi
-
-if [ $SSL_ENABLED ]; then
- sed -i "s|SSL_ENABLED = .*|SSL_ENABLED = '$SSL_ENABLED'|" vfc/nfvo/lcm/lcm/pub/config/config.py
-fi
-
-# Configure MYSQL
-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'|" vfc/nfvo/lcm/lcm/pub/config/config.py
-sed -i "s|DB_PORT.*|DB_PORT = $MYSQL_PORT|" vfc/nfvo/lcm/lcm/pub/config/config.py
-sed -i "s|REDIS_HOST.*|REDIS_HOST = '$REDIS_IP'|" vfc/nfvo/lcm/lcm/pub/config/config.py
-
-cat vfc/nfvo/lcm/lcm/pub/config/config.py
diff --git a/lcm/pub/config/config.py b/lcm/pub/config/config.py
index 5b3fecbb..b8dfeea5 100644
--- a/lcm/pub/config/config.py
+++ b/lcm/pub/config/config.py
@@ -11,42 +11,37 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
+import os
# [MSB]
-MSB_SERVICE_PROTOCOL = 'http'
-MSB_SERVICE_IP = '10.0.14.1'
-MSB_SERVICE_PORT = '443'
-MSB_BASE_URL = "%s://%s:%s" % (MSB_SERVICE_PROTOCOL, MSB_SERVICE_IP, MSB_SERVICE_PORT)
-
-# [REDIS]
-REDIS_HOST = '127.0.0.1'
-REDIS_PORT = '6379'
-REDIS_PASSWD = ''
+MSB_BASE_URL = os.getenv("MSB_HOST", "http://127.0.0.1:80")
+MSB_ENABLED = os.getenv("MSB_ENABLED", True)
# [mysql]
-DB_IP = "127.0.0.1"
-DB_PORT = 3306
+DB_IP = os.getenv("MYSQL_ADDR", "127.0.0.1:3306").split(':')[0]
+DB_PORT = os.getenv("MYSQL_ADDR", "127.0.0.1:3306").split(':')[1]
DB_NAME = "vfcnfvolcm"
DB_USER = "vfcnfvolcm"
DB_PASSWD = "vfcnfvolcm"
+# [REDIS]
+REDIS_HOST = os.getenv("REDIS_HOST", DB_IP)
+REDIS_PORT = '6379'
+REDIS_PASSWD = ''
+
# [MDC]
SERVICE_NAME = "nslcm"
FORWARDED_FOR_FIELDS = ["HTTP_X_FORWARDED_FOR", "HTTP_X_FORWARDED_HOST",
"HTTP_X_FORWARDED_SERVER"]
# [register]
-REG_TO_MSB_WHEN_START = True
-SSL_ENABLED = "true"
+REG_TO_MSB_WHEN_START = os.getenv("REG_TO_MSB_WHEN_START", "false")
+SSL_ENABLED = os.getenv("SSL_ENABLED", "false")
REG_TO_MSB_REG_URL = "/api/microservices/v1/services"
-if SSL_ENABLED == "true":
- enable_ssl = "true"
-else:
- enable_ssl = "false"
REG_TO_MSB_REG_PARAM = {
"serviceName": "nslcm",
"version": "v1",
- "enable_ssl": enable_ssl,
+ "enable_ssl": SSL_ENABLED,
"url": "/api/nslcm/v1",
"protocol": "REST",
"visualRange": "1",
@@ -58,7 +53,6 @@ REG_TO_MSB_REG_PARAM = {
}
MSB_SVC_URL = "/api/microservices/v1/services/nslcm/version/%s"
-
# [aai config]
AAI_BASE_URL = "http://10.0.14.1:80/aai/v11"
AAI_USER = "AAI"