Grafana: automatically set InfuxDB datasource

In order to automate Grafana configuration, this fix automatically
set the InfluxDB datasource. This avoid doing a annoying manual
configuration after Kolla-ansible deployment.

Change-Id: I2b1a63fd371966192f1df0a82cee4711c6324710
This commit is contained in:
Bertrand Lallau 2017-04-15 09:31:46 +02:00
parent 60b5b495a2
commit 29844253c1
3 changed files with 38 additions and 0 deletions

View File

@ -20,6 +20,20 @@ grafana_database_name: "grafana"
grafana_database_user: "grafana"
grafana_database_address: "{{ kolla_internal_fqdn }}:{{ database_port }}"
####################
# Datasource
####################
grafana_data_source:
isDefault: yes
database: "telegraf"
user: admin
password: "{{ grafana_admin_password }}"
name: "telegraf"
type: "influxdb"
url: "{{ internal_protocol }}://{{ api_interface_address }}:{{ influxdb_http_port }}"
access: "proxy"
basicAuth: false
##########
# Grafana
##########

View File

@ -7,3 +7,6 @@
- name: Flush handlers
meta: flush_handlers
- include: post_config.yml
when: inventory_hostname in groups['grafana']

View File

@ -0,0 +1,21 @@
---
- name: Wait for grafana port
wait_for:
host: "{{ api_interface_address }}"
port: "{{ grafana_server_port }}"
- name: Enable influxdb datasource
uri:
url: "{{ internal_protocol }}://{{ api_interface_address }}:{{ grafana_server_port }}/api/datasources"
method: POST
user: admin
password: "{{ grafana_admin_password }}"
body: "{{ grafana_data_source | to_json }}"
body_format: json
force_basic_auth: yes
status_code: 200, 409
register: response
when: grafana_data_source is defined
changed_when: response.status == 200
failed_when: response.status not in [200, 409] or
response.status == 409 and ("Data source with same name already exists" not in response.json.message|default(""))