apt-get install -y unzip
ADD . /service
-RUN cd /service
+WORKDIR /service
# get binary zip from nexus
RUN wget -q -O vfc-gvnfm-vnflcm-lcm.zip 'https://nexus.onap.org/service/local/artifact/maven/redirect?r=snapshots&g=org.onap.vfc.gvnfm.vnflcm&a=vfc-gvnfm-vnflcm-lcm&v=LATEST&e=zip' && \
EXPOSE 8801
EXPOSE 3306
-WORKDIR /service/vfc/gvnfm/vnflcm/
-
-CMD lcm/docker/instance_init.sh
+WORKDIR /service
+ENTRYPOINT vfc/gvnfm/vnflcm/lcm/docker/docker-entrypoint.sh
fi
function build_vnflcm {
- docker build ${PROXY_ARGS} --build-arg MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD} -t ${ORG}/${PROJECT}/${IMAGE}:${VERSION} -t ${ORG}/${PROJECT}/${IMAGE}:latest .
+ docker build ${PROXY_ARGS} -t ${ORG}/${PROJECT}/${IMAGE}:${VERSION} -t ${ORG}/${PROJECT}/${IMAGE}:latest .
}
function push_vnflcm {
--- /dev/null
+#!/bin/bash
+
+if [ -z "$SERVICE_IP" ]; then
+ export SERVICE_IP=`hostname -i`
+fi
+echo "SERVICE_IP=$SERVICE_IP"
+
+if [ -z "$MYSQL_ROOT_PASSWORD" ]; then
+ export MYSQL_ROOT_PASSWORD="root"
+fi
+echo "MYSQL_ROOT_PASSWORD=$MYSQL_ROOT_PASSWORD"
+
+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"
+
+# Wait for MSB initialization
+echo "Wait for MSB initialization"
+for i in {1..20}; do
+ curl -sS -m 1 $MSB_ADDR > /dev/null && break
+ sleep $i
+done
+
+# Configure service based on docker environment variables
+./instance-config.sh
+
+# microservice-specific one-time initialization
+./instance-init.sh
+
+date > init.log
+
+# Start the microservice
+./instance-run.sh
}
function start_mysql {
+ su mysql -c /usr/bin/mysqld_safe &
service mysql start
# Wait for mysql to initialize; Set mysql root password
for i in {1..10}; do
bash initDB.sh root $MYSQL_ROOT_PASSWORD 3306 127.0.0.1
}
-function edit_configs {
- cd /service/vfc/gvnfm/vnflcm/lcm/docker
- bash instance_config.sh
-}
-
-function start_server {
- cd /service/vfc/gvnfm/vnflcm/lcm
- bash run.sh
-}
-
-if [ $MYSQL_ROOT_PASSWORD ]; then
- install_python_libs
- start_redis_server
- start_mysql
- create_database
- edit_configs
- start_server
-else
- echo "MYSQL_ROOT_PASSWORD environment variable not set."
-fi
+install_python_libs
+start_redis_server
+start_mysql
+create_database