From eaabfd1623008b2a16fcf1c2ade1e120e2fe3a0f Mon Sep 17 00:00:00 2001 From: chenjiankun Date: Tue, 21 Feb 2017 07:26:51 +0000 Subject: Create Grafana dashboards according config file under root_path/dashboard JIRA: YARDSTICK-570 Currently we only create ping Grafana dashboard when create Grafana docker container. Actually we need to create some default dashboards. Change-Id: Icee975ad8c1c960b27625274c775f1716edfa03e Signed-off-by: chenjiankun --- api/resources/env_action.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'api/resources') diff --git a/api/resources/env_action.py b/api/resources/env_action.py index 917681c37..2d3496cbc 100644 --- a/api/resources/env_action.py +++ b/api/resources/env_action.py @@ -9,15 +9,16 @@ from __future__ import absolute_import import errno -import json import logging import os import subprocess import threading import time import uuid +import glob from six.moves import configparser +from oslo_serialization import jsonutils from api import conf as api_conf from api.database.handler import AsyncTaskHandler @@ -67,9 +68,13 @@ def _create_grafana(task_id): def _create_dashboard(): url = 'http://admin:admin@%s:3000/api/dashboards/db' % api_conf.GATEWAY_IP - with open('../dashboard/ping_dashboard.json') as dashboard_json: - data = json.load(dashboard_json) - HttpClient().post(url, data) + path = os.path.join(config.YARDSTICK_REPOS_DIR, 'dashboard', + '*dashboard.json') + + for i in sorted(glob.iglob(path)): + with open(i) as f: + data = jsonutils.load(f) + HttpClient().post(url, data) def _create_data_source(): -- cgit 1.2.3-korg