Manage dashboards only for the current datasource

This change adds a new 'datasource' parameter to the dashboard metadata.
This way, the Grafana client state will manage only the dashboards that
match with the deployed datasource (either InfluxDB or Prometheus). For
backward compatibility, the client will always manage the dashboards
that don't set this new parameter.

Change-Id: Iac323d756aff6ca4180f4b648a1d02692ebf292b
pull/28/head
Simon Pasquier 6 years ago
parent 2127f4e493
commit f6e5544264
  1. 4
      grafana/client/init.sls
  2. 3
      grafana/meta/grafana.yml

@ -1,8 +1,10 @@
{%- from "grafana/map.jinja" import client with context %}
{%- if client.get('enabled', False) %}
{%- set datasources = [] %}
{%- for datasource_name, datasource in client.datasource.iteritems() %}
{%- do datasources.append(datasource.type) %}
grafana_client_datasource_{{ datasource_name }}:
grafana3_datasource.present:
- name: {{ datasource.name|default(datasource_name) }}
@ -63,6 +65,7 @@ grafana_client_datasource_{{ datasource_name }}:
{%- endfor %}
{%- for dashboard_name, dashboard in final_dict.iteritems() %}
{%- if dashboard.datasource is not defined or dashboard.datasource in datasources %}
{%- if dashboard.get('enabled', True) %}
grafana_client_dashboard_{{ dashboard_name }}:
grafana3_dashboard.present:
@ -88,6 +91,7 @@ grafana_client_dashboard_{{ dashboard_name }}:
grafana3_dashboard.absent:
- name: {{ dashboard_name }}
{%- endif %}
{%- endif %}
{%- endfor %}
{%- endif %}

@ -1,13 +1,16 @@
dashboard:
grafana:
datasource: influxdb
format: json
template: grafana/files/grafana_dashboards/grafana_influxdb.json
main:
datasource: influxdb
format: yaml
base_dashboards: ['grafana:client:base_templates:main_dashboard']
base_rows: ['grafana:client:base_templates:service_row']
base_panels: ['grafana:client:base_templates:cluster_status_singlestat']
service_level:
datasource: influxdb
format: yaml
base_dashboards: ['grafana:client:base_templates:service_level_dashboard']
base_rows: ['grafana:client:base_templates:service_level_row']

Loading…
Cancel
Save