Fix the docker build error for vfc-nfvo-wfengine
[vfc/nfvo/wfengine.git] / activiti-extension / src / main / docker / bin / entrypoint.sh
index 703b059..eb384d9 100644 (file)
@@ -3,13 +3,45 @@
 # $1, $2, $3 etc are passed arguments
 # $1 is our command
 CMD=$1
+
+if [ -z "$SERVICE_IP" ]; then
+    export SERVICE_IP=`hostname -i`
+fi
+echo "SERVICE_IP=$SERVICE_IP"
+
+if [ -z "$SERVICE_PORT" ]; then
+    export SERVICE_PORT=8080
+fi
+echo "SERVICE_PORT=$SERVICE_PORT"
+
+if [ -z "$OPENPALETTE_MSB_IP" ]; then
+    echo "Missing required variable OPENPALETTE_MSB_IP: Microservices Service Bus address <ip>:<port>"
+    exit 1
+fi
+if [ -z "$OPENPALETTE_MSB_PORT" ]; then
+    echo "Missing required variable OPENPALETTE_MSB_PORT: Microservices Service Bus address <ip>:<port>"
+    exit 1
+fi
+echo "MSB_ADDR=${OPENPALETTE_MSB_IP}:${OPENPALETTE_MSB_PORT}"
+
+# Wait for MSB initialization
+echo "Wait for MSB initialization"
+for i in {1..5}; do
+    curl -sS -m 1 $OPENPALETTE_MSB_IP:$OPENPALETTE_MSB_PORT > /dev/null && break
+    sleep $i
+done
+
+curldata='{"serviceName": "activiti-rest", "version": "v1", "url": "/activiti-rest","protocol": "REST", "visualRange": "1", "path": "/activiti-rest", "nodes": [ {"ip": "'$SERVICE_IP'","port": "'$SERVICE_PORT'","ttl": 0}]}'
+
+curl -v -X POST -H "Accept: Application/json" -H "Content-Type: application/json" -d "${curldata}" http://$OPENPALETTE_MSB_IP:$OPENPALETTE_MSB_PORT/api/microservices/v1/services
+
 case "$CMD" in  
   "dev" )
     ;;
   "start" )
     # we can modify files here, using ENV variables passed in 
     # "docker create" command. It can't be done during build process.
-    exec ./startup.sh
+    exec ./bin/catalina.sh run
     ;;
    * )
     # Run custom command. Thanks to this line we can still use