From b865bada8cf567a0b1a4d039c50808fcfa27c574 Mon Sep 17 00:00:00 2001 From: Doug Szumski Date: Fri, 23 Feb 2018 11:26:44 +0000 Subject: [PATCH] Support accessing InfluxDB via HAProxy This change allows access to InfluxDB via HAProxy on the internal network. If HA is required the Enterprise version of InfluxDB will need to be installed. This could be implemented by customising the InfluxDB Docker file. There are other alternatives to HA, such as the InfluxDB Relay [1]. Support for this is considered to be outside of the scope of this bugfix. [1] https://docs.openstack.org/developer/performance-docs/ methodologies/monitoring/influxha.html Closes-Bug: #1751283 Change-Id: I4624efbd99c0cddd1361f2438866ad3a82e5557b --- ansible/roles/grafana/defaults/main.yml | 2 +- ansible/roles/haproxy/templates/haproxy.cfg.j2 | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/ansible/roles/grafana/defaults/main.yml b/ansible/roles/grafana/defaults/main.yml index 738189fb45..4a91446812 100644 --- a/ansible/roles/grafana/defaults/main.yml +++ b/ansible/roles/grafana/defaults/main.yml @@ -31,7 +31,7 @@ grafana_data_sources: database: "telegraf" name: "telegraf" type: "influxdb" - url: "{{ internal_protocol }}://{{ api_interface_address }}:{{ influxdb_http_port }}" + url: "{{ internal_protocol }}://{{ kolla_internal_vip_address }}:{{ influxdb_http_port }}" access: "proxy" basicAuth: false elasticsearch: diff --git a/ansible/roles/haproxy/templates/haproxy.cfg.j2 b/ansible/roles/haproxy/templates/haproxy.cfg.j2 index cdc33a7bc9..1eefd9d0fa 100644 --- a/ansible/roles/haproxy/templates/haproxy.cfg.j2 +++ b/ansible/roles/haproxy/templates/haproxy.cfg.j2 @@ -153,6 +153,20 @@ listen glance_api_external {% endif %} {% endif %} +{% if enable_influxdb | bool %} +listen influxdb_admin + bind {{ kolla_internal_vip_address }}:{{ influxdb_admin_port }} +{% for host in groups['influxdb'] %} + server {{ hostvars[host]['ansible_hostname'] }} {{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ influxdb_admin_port }} check inter 2000 rise 2 fall 5 +{% endfor %} + +listen influxdb_http + bind {{ kolla_internal_vip_address }}:{{ influxdb_http_port }} +{% for host in groups['influxdb'] %} + server {{ hostvars[host]['ansible_hostname'] }} {{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ influxdb_http_port }} check inter 2000 rise 2 fall 5 +{% endfor %} +{% endif %} + {% if enable_nova | bool %} listen nova_api bind {{ kolla_internal_vip_address }}:{{ nova_api_port }}