From: chenjiankun Date: Tue, 21 Feb 2017 07:26:51 +0000 (+0000) Subject: Create Grafana dashboards according config file under root_path/dashboard X-Git-Tag: danube.1.0~62 X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=commitdiff_plain;h=eaabfd1623008b2a16fcf1c2ade1e120e2fe3a0f;p=yardstick.git 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 --- 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():