From fddabfadabcdfc8a0fa428b5a7688a74877ee60b Mon Sep 17 00:00:00 2001
From: Gordon Kelly <gordon.kelly@intel.com>
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 <gordon.kelly@intel.com>
---
 docker/barometer-grafana/Dockerfile           | 13 +++++++++----
 docker/barometer-grafana/configure_grafana.sh | 19 +++++++++++++------
 2 files changed, 22 insertions(+), 10 deletions(-)

(limited to 'docker')

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