summaryrefslogtreecommitdiffstats
path: root/api
diff options
context:
space:
mode:
authorchenjiankun <chenjiankun1@huawei.com>2017-02-21 07:26:51 +0000
committerchenjiankun <chenjiankun1@huawei.com>2017-02-22 01:32:33 +0000
commiteaabfd1623008b2a16fcf1c2ade1e120e2fe3a0f (patch)
tree56ed2833b0842e6fe0e96d95dfc594ab6d68dc5f /api
parenta207ca9c170ce6cfd1c1cb198170ac7c93307d64 (diff)
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 <chenjiankun1@huawei.com>
Diffstat (limited to 'api')
-rw-r--r--api/resources/env_action.py13
1 files changed, 9 insertions, 4 deletions
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():