From f47bd2019a95c665ace84a879b024a6c93aff031 Mon Sep 17 00:00:00 2001 From: Emma Foley Date: Wed, 9 Jun 2021 20:22:28 +0100 Subject: [ansible] Use collectd_config in config_files role * Add tasks to use collectd_config * Move generated configs to combine with existing and additional configs * Move vars to defaults dir Some of the vars are needed for the collectd_config role, and need to be set before the other values are set. JIRA: BAROMETER-180 Signed-off-by: Emma Foley Change-Id: Id5a8b8289c5e120eae7eb5bcf946c5d4dd9fdd48 --- .../ansible/roles/config_files/defaults/main.yml | 60 ++++++++++++++++++++++ docker/ansible/roles/config_files/tasks/main.yml | 29 ++++++++++- docker/ansible/roles/config_files/vars/main.yml | 53 ++----------------- docker/ansible/roles/run_collectd/tasks/main.yml | 6 +-- 4 files changed, 95 insertions(+), 53 deletions(-) create mode 100644 docker/ansible/roles/config_files/defaults/main.yml diff --git a/docker/ansible/roles/config_files/defaults/main.yml b/docker/ansible/roles/config_files/defaults/main.yml new file mode 100644 index 00000000..c2004ae1 --- /dev/null +++ b/docker/ansible/roles/config_files/defaults/main.yml @@ -0,0 +1,60 @@ +# Copyright 2018-21 Anuket, Intel Corporation and others +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +--- +config_file_dir: "/opt/collectd/etc/collectd.conf.d/" +csv_log_dir: "/var/lib/collectd/csv" +logfile_dir: "/var/log/" + +#global default interval +interval_value: 10 + +#influx network port +influx_network_port: 25826 + +#network plugin vars +network_port: 25826 +network_ip_addr: localhost + +#prometheus plugin vars +prometheus_port: 9103 + +#ovs event and stats plugin vars +ovs_events_interval: 1 +ovs_events_ip_addr: localhost +ovs_events_port: 6640 +ovs_stats_interval: 1 +ovs_stats_ip_addr: localhost +ovs_stats_port: 6640 + +#rdt plugin vars +rdt_interval: 1 + +#kafka plugin vars +kafka_ip_addr: localhost +kafka_port: 9092 +kafka_topic: collectd + +#logfile plugin vars +logfile_log_level: info + +#syslog plugin vars +syslog_log_level: info + +#rrd plugin vars +rrdtool_db_dir: "/var/lib/collectd/rrd" +cache_flush: 120 +write_per_sec: 50 + +#additional configuration files path +additional_configs_path: "" diff --git a/docker/ansible/roles/config_files/tasks/main.yml b/docker/ansible/roles/config_files/tasks/main.yml index b3e93765..4a25e4eb 100644 --- a/docker/ansible/roles/config_files/tasks/main.yml +++ b/docker/ansible/roles/config_files/tasks/main.yml @@ -1,4 +1,5 @@ -# Copyright 2018-2019 Intel Corporation and OPNFV. All rights reserved. +# Copyright 2018-2021 Intel Corporation, Anuket and others. +# All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -91,5 +92,31 @@ - name: enable uuid plugin include: uuid.yml +- name: configure plugins + include_role: + name: collectd_config + vars: + collectd_conf_output_dir: /tmp/collectd.conf.d + tags: + - always + - en_default_all + +- name: "Copy the generated plugin configs" + shell: + sudo cp /tmp/collectd.conf.d/*.conf {{ config_file_dir }} && sudo cp /tmp/collectd.conf {{ config_file_dir }}/../collectd.conf + tags: + - always + - en_default_all + +- name: Update config file location + lineinfile: + path: "{{ config_file_dir }}../collectd.conf" + regexp: "^(.*)/tmp/collectd.conf.d(.*)$" + line: '\1{{ config_file_dir }}\2' + backrefs: yes + tags: + - always + - en_default_all + - name: copy additional config files include: additional_configs.yml diff --git a/docker/ansible/roles/config_files/vars/main.yml b/docker/ansible/roles/config_files/vars/main.yml index f12492a3..5af4d7a0 100644 --- a/docker/ansible/roles/config_files/vars/main.yml +++ b/docker/ansible/roles/config_files/vars/main.yml @@ -1,4 +1,4 @@ -#Copyright 2018 OPNFV and Intel Corporation +# Copyright 2018-21 Anuket, Intel Corporation and others # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -12,51 +12,6 @@ # See the License for the specific language governing permissions and # limitations under the License. --- - -#directory paths -config_file_dir: "/opt/collectd/etc/collectd.conf.d/" -csv_log_dir: "/var/lib/collectd/csv" -logfile_dir: "/var/log/" - -#global default interval -interval_value: 10 - -#influx network port -influx_network_port: 25826 - -#network plugin vars -#network_port: 25826 -#network_ip_addr: localhost - -#prometheus plugin vars -prometheus_port: 9103 - -#ovs event and stats plugin vars -ovs_event_interval: 1 -ovs_event_ip_addr: localhost -ovs_event_port: 6640 -ovs_stats_interval: 1 -ovs_stats_ip_addr: localhost -ovs_stats_port: 6640 - -#rdt plugin vars -rdt_interval: 1 - -#kafka plugin vars -kafka_ip_addr: localhost -kafka_port: 9092 -kafka_topic: collectd - -#logfile plugin vars -logfile_log_level: info - -#syslog plugin vars -syslog_log_level: info - -#rrd plugin vars -rrdtool_db_dir: "/var/lib/collectd/rrd" -cache_flush: 120 -write_per_sec: 50 - -#additional configuration files path -additional_configs_path: "" +collectd_plugins: [] +collectd_interval: "{{ interval_value }}" +collectd_hostname: "{{ inventory_hostname }}" diff --git a/docker/ansible/roles/run_collectd/tasks/main.yml b/docker/ansible/roles/run_collectd/tasks/main.yml index 8fc27342..2c5d0e67 100644 --- a/docker/ansible/roles/run_collectd/tasks/main.yml +++ b/docker/ansible/roles/run_collectd/tasks/main.yml @@ -1,4 +1,4 @@ -#Copyright 2018-2019 OPNFV and Intel Corporation +# Copyright 2018-21 Anuket, Intel Corporation and others # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -40,7 +40,7 @@ set_fact: volumes_list: - - /opt/collectd/etc/collectd.conf.d/:/opt/collectd/etc/collectd.conf.d + - /opt/collectd/etc/:/opt/collectd/etc/ - /var/run:/var/run - /tmp:/tmp - /var/lib/collectd:/var/lib/collectd @@ -55,7 +55,7 @@ name: bar-collectd image: "{{ collectd_image_name }}" volumes: "{{ volumes_list }}" - command: "/run_collectd.sh" + entrypoint: "/run_collectd.sh" detach: yes state: started restart: yes -- cgit 1.2.3-korg