From: ac2550 Date: Thu, 11 Oct 2018 07:27:15 +0000 (+0200) Subject: Docker-compose for heat integration lab X-Git-Tag: 3.0.1~10^2 X-Git-Url: https://gerrit.onap.org/r/gitweb?a=commitdiff_plain;ds=sidebyside;h=5a23e6aa072db54ad2651b01284536327269279b;p=clamp.git Docker-compose for heat integration lab Issue-ID: CLAMP-230 Change-Id: If825138e82f814e4c4804001f99da807d87f27c9 Signed-off-by: ac2550 --- diff --git a/extra/docker/heat/clamp.env b/extra/docker/heat/clamp.env new file mode 100644 index 00000000..abca2676 --- /dev/null +++ b/extra/docker/heat/clamp.env @@ -0,0 +1,2 @@ +### Be careful, this must be in one line only ### +SPRING_APPLICATION_JSON={"spring.datasource.cldsdb.url":"jdbc:mariadb:sequential://db:3306/cldsdb4?autoReconnect=true&connectTimeout=10000&socketTimeout=10000&retriesAllDown=3","clamp.config.policy.pdpUrl1":"https://policy.api.simpledemo.onap.org:8081/pdp/ , testpdp, alpha123","clamp.config.policy.pdpUrl2":"https://policy.api.simpledemo.onap.org:8081/pdp/ , testpdp, alpha123","clamp.config.policy.papUrl":"https://policy.api.simpledemo.onap.org:9091/pap/ , testpap, alpha123"} diff --git a/extra/docker/heat/docker-compose.yml b/extra/docker/heat/docker-compose.yml new file mode 100644 index 00000000..109a036b --- /dev/null +++ b/extra/docker/heat/docker-compose.yml @@ -0,0 +1,84 @@ +version: '2' + +services: + db: + image: mariadb:10.1.11 + volumes: + - "/var/lib/mysql" + - "../mariadb/conf1:/etc/mysql/conf.d:ro" + - "../../sql/:/docker-entrypoint-initdb.d:ro" + environment: + - MYSQL_ROOT_PASSWORD=strong_pitchou + ports: + - "3306:3306" + networks: + clamp_net: + + clamp: + image: onap/clamp:latest + volumes: + - "./config/:/opt/clamp/config:rw" + depends_on: + - db + env_file: + - clamp.env + ports: + - "8080:8080" + - "8443:8443" + networks: + clamp_net: + + elasticsearch: + image: docker.elastic.co/elasticsearch/elasticsearch-oss:6.1.3 + ports: + - 9200:9200 + networks: + cldash_net: + aliases: + - elasticsearch + environment: + - cluster.name=docker-cluster + - bootstrap.memory_lock=false + - "ES_JAVA_OPTS=-Xms512m -Xmx512m" + + logstash: + image: onap/clamp-dashboard-logstash:latest + build: + context: ../../../src/main/docker/logstash + dockerfile: Dockerfile.logstash + # volumes: + # - ../../../src/main/docker/logstash/pipeline:/usr/share/logstash/pipeline + # - ./logstash-input:/log-input + depends_on: + - elasticsearch + networks: + cldash_net: + environment: + - elasticsearch_host=https://elasticsearch:9200/ + - dmaap_base_url=https://ueb.api.simpledemo.onap.org:3905/ + # - dmaap_user=user + # - dmaap_password=password + - dmaap_consumer_group=clampdashboard + - dmaap_consumer_id=clampdashboard + - event_topic=DCAE-CL-EVENT + - notification_topic=POLICY-CL-MGT + - request_topic=APPC-CL + - elasticsearch_base_url=elasticsearch + + kibana: + image: onap/clamp-dashboard-kibana:latest + build: + context: ../../../src/main/docker/kibana + dockerfile: Dockerfile.kibana + ports: + - 5601:5601 + depends_on: + - elasticsearch + # volumes: + # - ../../../src/main/docker/kibana/saved-objects/:/saved-objects/ + networks: + cldash_net: + +networks: + cldash_net: + clamp_net: diff --git a/src/main/docker/kibana/Dockerfile.kibana b/src/main/docker/kibana/Dockerfile.kibana index 993edd4a..6df02042 100644 --- a/src/main/docker/kibana/Dockerfile.kibana +++ b/src/main/docker/kibana/Dockerfile.kibana @@ -47,7 +47,7 @@ RUN yum install -y python-requests && yum clean all # ├── visualization-cb896270-c190-11e8-a550-27f2e3138fee.json # └── visualization-d837b120-c190-11e8-a550-27f2e3138fee.json -RUN mkdir /saved-objects/ +RUN mkdir /saved-objects/ && chown kibana:kibana /saved-objects/ USER kibana diff --git a/src/main/docker/kibana/startup.sh b/src/main/docker/kibana/startup.sh index bbd9d45d..a232706e 100755 --- a/src/main/docker/kibana/startup.sh +++ b/src/main/docker/kibana/startup.sh @@ -30,9 +30,25 @@ LOG_FILE="/tmp/load.kibana.log" KIBANA_LOAD_CMD="/usr/local/bin/kibana-docker -H 127.0.0.1 -l $LOG_FILE" TIMEOUT=60 WAIT_TIME=2 +LOADED_FLAG=$SAVED_OBJECTS_ROOT/.loaded -if [ -n "$(ls -A ${SAVED_OBJECTS_PATH})" ]; +if [ -f $LOADED_FLAG ]; then + echo "---- Kibana saved objects already restored. Remove $LOADED_FLAG if you want to restore them again." +elif [ -n "$(ls -A ${SAVED_OBJECTS_PATH})" ]; +then + echo "---- Waiting for elasticsearch to be up..." + RES=-1 + PING_TIMEOUT=60 + elastic_url=$(grep elasticsearch.url /usr/share/kibana/config/kibana.yml | cut -d\ -f2) + while [ ! "$RES" -eq "0" ] && [ "$PING_TIMEOUT" -gt "0" ]; + do + curl $elastic_url + RES=$? + sleep $WAIT_TIME + let PING_TIMEOUT=$PING_TIMEOUT-$WAIT_TIME + done + echo "---- Saved objects found, restoring files." $KIBANA_LOAD_CMD & @@ -62,10 +78,19 @@ then # restore files for saved_objects_path in $SAVED_OBJECTS_ROOT/* do + # skip files as we only need directories + [ -f $saved_objects_path ] && continue + echo "Restoring content of $saved_objects_path" $RESTORE_CMD -C $saved_objects_path sleep 1 done + + touch $LOADED_FLAG + if [ "$?" != "0" ]; + then + echo "WARNING: Could not save $LOADED_FLAG, saved objects will be restored on next startup." >&2 + fi # cleanup kill $KIB_PID