From fddabfadabcdfc8a0fa428b5a7688a74877ee60b Mon Sep 17 00:00:00 2001 From: Gordon Kelly Date: Sun, 14 Jan 2018 15:15:55 +0000 Subject: docker: updated grafana image to continue to send API request to grafana Updated grafana image to continue to send API request to grafana server at 1 sec intervals at start time until grafana server is up and listening on port. Dashboards folder has been moved to /opt/grafana/dashboards. Documentation updated accordingly for all changes Change-Id: I748b05372f0aa0890d3befa5645834fb217db784 Signed-off-by: gordonkelly --- docker/barometer-grafana/Dockerfile | 13 +++++++++---- docker/barometer-grafana/configure_grafana.sh | 19 +++++++++++++------ 2 files changed, 22 insertions(+), 10 deletions(-) (limited to 'docker/barometer-grafana') diff --git a/docker/barometer-grafana/Dockerfile b/docker/barometer-grafana/Dockerfile index 32a78862..610e8086 100644 --- a/docker/barometer-grafana/Dockerfile +++ b/docker/barometer-grafana/Dockerfile @@ -1,6 +1,11 @@ -FROM grafana/grafana:latest +FROM grafana/grafana:4.6.3 -COPY ./configure_grafana.sh / +ENV grafana_folder /opt/grafana +RUN mkdir -p ${grafana_folder}/dashboards/ + +COPY ./configure_grafana.sh ${grafana_folder} COPY ./run.sh / -COPY ./dashboards/ /var/lib/grafana/dashboards/ -RUN chmod 755 run.sh configure_grafana.sh +COPY ./dashboards/ ${grafana_folder}/dashboards/ + +WORKDIR $grafana_folder +RUN chmod 755 /run.sh configure_grafana.sh diff --git a/docker/barometer-grafana/configure_grafana.sh b/docker/barometer-grafana/configure_grafana.sh index 0b185297..abe85824 100755 --- a/docker/barometer-grafana/configure_grafana.sh +++ b/docker/barometer-grafana/configure_grafana.sh @@ -1,4 +1,4 @@ -# Copyright 2017 OPNFV +# Copyright 2017-2018 OPNFV, Intel Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -12,14 +12,21 @@ # See the License for the specific language governing permissions and # limitations under the License. +if [ -z "${influxdb_host}" ] +then + influxdb_host=localhost +fi -sleep 20 #allow 20 seconds for grafana complete initilization -curl -u admin:admin -X POST -H 'content-type: application/json'\ - http://127.0.0.1:3000/api/datasources -d \ - '{"name":"collectd","type":"influxdb","url":"http://localhost:8086","access":"proxy","isDefault":true,"database":"collectd","user":"admin","password":"admin","basicAuth":false}' +while [ -z "$RETURN" ] +do + sleep 1 + RETURN=$(curl -u admin:admin -X POST -H 'content-type: application/json'\ + http://127.0.0.1:3000/api/datasources -d \ + '{"name":"collectd","type":"influxdb","url":"http://'"${influxdb_host}"':8086","access":"proxy","isDefault":true,"database":"collectd","user":"admin","password":"admin","basicAuth":false}') +done -FILES=/var/lib/grafana/dashboards/*.json +FILES=/opt/grafana/dashboards/*.json for f in $FILES do curl -u admin:admin -X POST -H 'content-type: application/json' \ -- cgit 1.2.3-korg