From d9c7551a005494c025c03b3fd363acb0e5c74f9f Mon Sep 17 00:00:00 2001 From: John O Loughlin Date: Tue, 23 Oct 2018 11:57:19 +0100 Subject: Add support for multi influx hosts Added support for multiple influx hosts. Fix issue where ansible crashes when influx_host is not defined Change-Id: I348e53c9b6147b0fafffdebcd80037acb72d67ce Signed-off-by: John O Loughlin --- docker/ansible/default.inv | 10 ++++++---- docker/ansible/roles/config_files/tasks/network.yml | 21 ++++++++++++++++++++- .../roles/config_files/templates/network.conf.j2 | 2 +- docker/ansible/roles/config_files/vars/main.yml | 10 +++++----- 4 files changed, 32 insertions(+), 11 deletions(-) diff --git a/docker/ansible/default.inv b/docker/ansible/default.inv index b3b21c35..85ffdfde 100644 --- a/docker/ansible/default.inv +++ b/docker/ansible/default.inv @@ -6,13 +6,15 @@ install_mcelog=true insert_ipmi_modules=true [influxdb_hosts] -#localhost +#hostname or ip must be used. +#using localhost will cause issues with collectd network plugin. +#hostname [grafana_hosts] -#localhost +#hostname [kafka_hosts] -#localhost +#hostname [ves_hosts] -#localhost +#hostname diff --git a/docker/ansible/roles/config_files/tasks/network.yml b/docker/ansible/roles/config_files/tasks/network.yml index dca0c235..52902d4c 100644 --- a/docker/ansible/roles/config_files/tasks/network.yml +++ b/docker/ansible/roles/config_files/tasks/network.yml @@ -13,9 +13,28 @@ # limitations under the License. --- -- name: enable network plugin +- name: Enable network plugin template: src: network.conf.j2 dest: "{{ config_file_dir }}/network.conf" tags: - network + +- name: Add network port if defined + lineinfile: + dest: "{{ config_file_dir }}/network.conf" + insertafter: Plugin network + line: " Server \"{{ network_ip_addr }}\" \"{{ network_port }}\"" + when: network_ip_addr is defined + tags: + - network + +- name: Modify network.conf to add influxdb_hosts + lineinfile: + dest: "{{ config_file_dir }}/network.conf" + insertafter: Plugin network + line: " Server \"{{ item }}\" \"{{ influx_network_port }}\"" + with_items: "{{ groups['influxdb_hosts'] }}" + tags: + - network + diff --git a/docker/ansible/roles/config_files/templates/network.conf.j2 b/docker/ansible/roles/config_files/templates/network.conf.j2 index 3d940e85..c89a18eb 100644 --- a/docker/ansible/roles/config_files/templates/network.conf.j2 +++ b/docker/ansible/roles/config_files/templates/network.conf.j2 @@ -14,7 +14,7 @@ LoadPlugin network +#this is auto-filled using ansible script - Server "{{ network_ip_addr }}" "{{ network_port }}" diff --git a/docker/ansible/roles/config_files/vars/main.yml b/docker/ansible/roles/config_files/vars/main.yml index cbe64b3c..f12492a3 100644 --- a/docker/ansible/roles/config_files/vars/main.yml +++ b/docker/ansible/roles/config_files/vars/main.yml @@ -21,12 +21,12 @@ logfile_dir: "/var/log/" #global default interval interval_value: 10 +#influx network port +influx_network_port: 25826 + #network plugin vars -network_port: 25826 -#get influxdb name as defined in inventory -influxdb_hostname: "{{ (groups['influxdb_hosts']|default({}))[0] | default('localhost') }}" -#get hostname as used by ansible -network_ip_addr: "{{ hostvars[influxdb_hostname].ansible_hostname }}" +#network_port: 25826 +#network_ip_addr: localhost #prometheus plugin vars prometheus_port: 9103 -- cgit 1.2.3-korg