diff --git a/grafana/client/init.sls b/grafana/client/init.sls index f8825bf..60482b9 100644 --- a/grafana/client/init.sls +++ b/grafana/client/init.sls @@ -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 %} diff --git a/grafana/meta/grafana.yml b/grafana/meta/grafana.yml index 31c55ed..89395b2 100644 --- a/grafana/meta/grafana.yml +++ b/grafana/meta/grafana.yml @@ -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']