summaryrefslogtreecommitdiff
diff options
authorCory Johns <johnsca@gmail.com>2019-08-09 16:03:21 -0400
committerCory Johns <johnsca@gmail.com>2019-08-09 16:03:21 -0400
commit781d72730b8709066cd5d6c9c148956fdaaa9e0f (patch)
tree246a9e75e2124c3e01f76fb6f5c26e5135330055
parent540850235677f0ede7fb252a4d34f6a24c8d04df (diff)
Refactor import_dashboard name logic per review
-rwxr-xr-xactions/import-dashboard6
-rw-r--r--lib/charms/layer/grafana.py4
-rw-r--r--reactive/grafana.py2
3 files changed, 6 insertions, 6 deletions
diff --git a/actions/import-dashboard b/actions/import-dashboard
index 2633b64..62c28c5 100755
--- a/actions/import-dashboard
+++ b/actions/import-dashboard
@@ -24,8 +24,7 @@ def import_file(path):
except json.JSONDecodeError as e:
action_fail('Fail to json decode the dashboard: {}'.format(e.msg))
return False
- title = j['dashboard']['title']
- return import_dashboard(title, j)
+ return import_dashboard(j)
if action_get('dashboard'):
@@ -38,8 +37,7 @@ if action_get('dashboard'):
except Exception:
action_fail('Unhandled exception, check logs')
log(traceback.format_exc())
- title = d['dashboard']['title']
- import_dashboard(title, d)
+ import_dashboard(d)
if action_get('location'):
path = action_get('location')
diff --git a/lib/charms/layer/grafana.py b/lib/charms/layer/grafana.py
index 1385edf..b482203 100644
--- a/lib/charms/layer/grafana.py
+++ b/lib/charms/layer/grafana.py
@@ -25,7 +25,9 @@ def get_admin_password():
return passwd
-def import_dashboard(name, dashboard):
+def import_dashboard(dashboard, name=None):
+ if name is None:
+ name = dashboard['dashboard'].get('title') or 'Untitled'
headers = {'Content-Type': 'application/json'}
import_url = 'http://localhost:{}/api/dashboards/db'.format(
config('port'))
diff --git a/reactive/grafana.py b/reactive/grafana.py
index eddfc85..ba40c2f 100644
--- a/reactive/grafana.py
+++ b/reactive/grafana.py
@@ -719,5 +719,5 @@ def hpwgen(passwd, salt):
'endpoint.dashboards.requests')
def import_dashboards(dashboards):
for request in dashboards.new_requests:
- success, reason = import_dashboard(request.name, request.dashboard)
+ success, reason = import_dashboard(request.dashboard, request.name)
request.respond(success, reason)