summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn O Loughlin <john.oloughlin@intel.com>2018-10-23 11:57:19 +0100
committerAaron Smith <aasmith@redhat.com>2018-11-12 14:10:15 +0000
commite05a6c32169af41d0e38485a069c1752792a2db7 (patch)
treee5786de0cb87b5b654b77725085d6d04139f99ab
parentd7f0ff1638a59afc7779a4aa763636695468ad38 (diff)
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 <john.oloughlin@intel.com> (cherry picked from commit d9c7551a005494c025c03b3fd363acb0e5c74f9f)
-rw-r--r--docker/ansible/default.inv10
-rw-r--r--docker/ansible/roles/config_files/tasks/network.yml21
-rw-r--r--docker/ansible/roles/config_files/templates/network.conf.j22
-rw-r--r--docker/ansible/roles/config_files/vars/main.yml10
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
<Plugin network>
- Server "{{ network_ip_addr }}" "{{ network_port }}"
</Plugin>
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