diff options
author | Aaron Smith <aasmith@redhat.com> | 2018-02-23 22:02:03 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@opnfv.org> | 2018-02-23 22:02:03 +0000 |
commit | 7effd9e1e84dd7fa2a189a0815b5be1c0fcb165a (patch) | |
tree | a56fb047101287f68374e781f4a1efd0bf5f20d9 /docker/ansible/roles/config_files/tasks | |
parent | b26034d05aa81f624e9bcee2c8e82a1cacfe44c4 (diff) | |
parent | d80cfa2391f97998eb33a06baf5a6489934919e7 (diff) |
Merge "ansible: add ansible scripts to configure .conf file on collectd nodes"
Diffstat (limited to 'docker/ansible/roles/config_files/tasks')
17 files changed, 646 insertions, 0 deletions
diff --git a/docker/ansible/roles/config_files/tasks/csv.yml b/docker/ansible/roles/config_files/tasks/csv.yml new file mode 100644 index 00000000..0be4ec8f --- /dev/null +++ b/docker/ansible/roles/config_files/tasks/csv.yml @@ -0,0 +1,22 @@ +#Copyright 2018 OPNFV and Intel Corporation +# +# 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. +--- + +- name: enable csv plugin + template: + src: csv.conf.j2 + dest: "{{ config_file_dir }}/csv.conf" + tags: + - csv + diff --git a/docker/ansible/roles/config_files/tasks/default_read_import.yml b/docker/ansible/roles/config_files/tasks/default_read_import.yml new file mode 100644 index 00000000..f11b8b80 --- /dev/null +++ b/docker/ansible/roles/config_files/tasks/default_read_import.yml @@ -0,0 +1,143 @@ +#Copyright 2018 OPNFV and Intel Corporation +# +# 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. +--- + +- name: enable cpu plugin + replace: + path: "{{ config_file_dir }}/default_read_plugins.conf" + regexp: '(\s+)#LoadPlugin cpu(\s+.*)?$' + replace: '\1LoadPlugin cpu\2' + tags: + - cpu + +- name: enable cpufreq plugin + replace: + path: "{{ config_file_dir }}/default_read_plugins.conf" + regexp: '(\s+)#LoadPlugin cpufreq(\s+.*)?$' + replace: '\1LoadPlugin cpufreq\2' + tags: + - cpufreq + +- name: enable disk plugin + replace: + path: "{{ config_file_dir }}/default_read_plugins.conf" + regexp: '(\s+)#LoadPlugin disk(\s+.*)?$' + replace: '\1LoadPlugin disk\2' + tags: + - disk + +- name: enable load plugin + replace: + path: "{{ config_file_dir }}/default_read_plugins.conf" + regexp: '(\s+)#LoadPlugin load(\s+.*)?$' + replace: '\1LoadPlugin load\2' + tags: + - load + +- name: enable memory plugin + replace: + path: "{{ config_file_dir }}/default_read_plugins.conf" + regexp: '(\s+)#LoadPlugin memory(\s+.*)?$' + replace: '\1LoadPlugin memory\2' + tags: + - memory + +- name: enable numa plugin + replace: + path: "{{ config_file_dir }}/default_read_plugins.conf" + regexp: '(\s+)#LoadPlugin numa(\s+.*)?$' + replace: '\1LoadPlugin numa\2' + tags: + - numa + +- name: enable processes plugin + replace: + path: "{{ config_file_dir }}/default_read_plugins.conf" + regexp: '(\s+)#LoadPlugin processes(\s+.*)?$' + replace: '\1LoadPlugin processes\2' + tags: + - processes + +- name: enable irq plugin + replace: + path: "{{ config_file_dir }}/default_read_plugins.conf" + regexp: '(\s+)#LoadPlugin irq(\s+.*)?$' + replace: '\1LoadPlugin irq\2' + tags: + - irq + +- name: enable swap plugin + replace: + path: "{{ config_file_dir }}/default_plugins.conf" + regexp: '(\s+)#LoadPlugin swap(\s+.*)?$' + replace: '\1LoadPlugin swap\2' + tags: + - swap + +- name: enable ethstat plugin + replace: + path: "{{ config_file_dir }}/default_read_plugins.conf" + regexp: '(\s+)#LoadPlugin ethstat(\s+.*)?$' + replace: '\1LoadPlugin ethstat\2' + tags: + - ethstat + +- name: enable ipc plugin + replace: + path: "{{ config_file_dir }}/default_read_plugins.conf" + regexp: '(\s+)#LoadPlugin ipc(\s+.*)?$' + replace: '\1LoadPlugin ipc\2' + tags: + - ipc + +- name: enable ipmi plugin + replace: + path: "{{ config_file_dir }}/default_read_plugins.conf" + regexp: '(\s+)#LoadPlugin ipmi(\s+.*)?$' + replace: '\1LoadPlugin ipmi\2' + tags: + - ipmi + +- name: enable df plugin + replace: + path: "{{ config_file_dir }}/default_read_plugins.conf" + regexp: '(\s+)#LoadPlugin df(\s+.*)?$' + replace: '\1LoadPlugin df\2' + tags: + - df + +- name: enable turbostat plugin + replace: + path: "{{ config_file_dir }}/default_read_plugins.conf" + regexp: '(\s+)#LoadPlugin turbostat(\s+.*)?$' + replace: '\1LoadPlugin turbostat\2' + tags: + - turbostat + +- name: enable uptime plugin + replace: + path: "{{ config_file_dir }}/default_read_plugins.conf" + regexp: '(\s+)#LoadPlugin uptime(\s+.*)?$' + replace: '\1LoadPlugin uptime\2' + tags: + - uptime + +- name: enable contextswitch plugin + replace: + path: "{{ config_file_dir }}/default_read_plugins.conf" + regexp: '(\s+)#LoadPlugin contextswitch(\s+.*)?$' + replace: '\1LoadPlugin contextswitch\2' + tags: + - contextswitch + diff --git a/docker/ansible/roles/config_files/tasks/default_read_plugins.yml b/docker/ansible/roles/config_files/tasks/default_read_plugins.yml new file mode 100644 index 00000000..95b942c2 --- /dev/null +++ b/docker/ansible/roles/config_files/tasks/default_read_plugins.yml @@ -0,0 +1,34 @@ +#Copyright 2018 OPNFV and Intel Corporation +# +# 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. +--- + +- name: copy default template to system + template: + src: default_read_plugins.conf.j2 + dest: "{{ config_file_dir }}/default_read_plugins.conf" + tags: + - always + +- name: enable all default plugins + replace: + path: "{{ config_file_dir }}/default_read_plugins.conf" + regexp: '(\s+)#LoadPlugin(\s+.*)?$' + replace: '\1LoadPlugin\2' + register: en_default_all + tags: + - en_default_all + +- name: include per default plugin tasks + include: default_read_import.yml + when: en_default_all is not defined
\ No newline at end of file diff --git a/docker/ansible/roles/config_files/tasks/exec.yml b/docker/ansible/roles/config_files/tasks/exec.yml new file mode 100644 index 00000000..b7389703 --- /dev/null +++ b/docker/ansible/roles/config_files/tasks/exec.yml @@ -0,0 +1,21 @@ +#Copyright 2018 OPNFV and Intel Corporation +# +# 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. +--- + +- name: enable exec plugin + template: + src: exec.conf.j2 + dest: "{{ config_file_dir }}/exec.conf" + tags: + - exec diff --git a/docker/ansible/roles/config_files/tasks/hugepages.yml b/docker/ansible/roles/config_files/tasks/hugepages.yml new file mode 100644 index 00000000..bf49035c --- /dev/null +++ b/docker/ansible/roles/config_files/tasks/hugepages.yml @@ -0,0 +1,33 @@ +#Copyright 2018 OPNFV and Intel Corporation +# +# 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. +--- + +- name: check if hugepages folders exist on host + stat: + path: "{{ item }}" + register: hugepages_result + ignore_errors: "true" + with_items: + /sys/devices/system/node + /sys/kernel/mm/hugepages + tags: + - hugepages + +- name: enable hugepages plugin + template: + src: hugepages.conf.j2 + dest: "{{ config_file_dir }}//hugepages.conf" + when: hugepages_result|succeeded + tags: + - hugepages diff --git a/docker/ansible/roles/config_files/tasks/kafka.yml b/docker/ansible/roles/config_files/tasks/kafka.yml new file mode 100644 index 00000000..d7639cbf --- /dev/null +++ b/docker/ansible/roles/config_files/tasks/kafka.yml @@ -0,0 +1,21 @@ +#Copyright 2018 OPNFV and Intel Corporation +# +# 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. +--- + +- name: enable kafka plugin + template: + src: kafka.conf.j2 + dest: "{{ config_file_dir }}/kafka.conf" + tags: + - kafka diff --git a/docker/ansible/roles/config_files/tasks/logfile.yml b/docker/ansible/roles/config_files/tasks/logfile.yml new file mode 100644 index 00000000..b2700594 --- /dev/null +++ b/docker/ansible/roles/config_files/tasks/logfile.yml @@ -0,0 +1,25 @@ +#Copyright 2018 OPNFV and Intel Corporation +# +# 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. +--- + +- name: enable logfile plugin + template: + src: logfile.conf.j2 + dest: "{{ config_file_dir }}/logfile.conf" + tags: + - logfile + + + + diff --git a/docker/ansible/roles/config_files/tasks/main.yml b/docker/ansible/roles/config_files/tasks/main.yml new file mode 100644 index 00000000..2f0938c0 --- /dev/null +++ b/docker/ansible/roles/config_files/tasks/main.yml @@ -0,0 +1,72 @@ +#Copyright 2018 OPNFV and Intel Corporation +# +# 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. +--- + +- name: Clean collectd config dir path + file: + state: absent + path: "{{ config_file_dir }}" + tags: + - rm_config_dir + - always + +- name: Create collectd.d folder on remote host + file: + path: "{{ config_file_dir }}" + force: yes + state: directory + tags: + - always + +- name: enable csv plugin + import_tasks: csv.yml + +- name: enable default plugins + import_tasks: default_read_plugins.yml + +- name: enable exec plugin + import_tasks: exec.yml + +- name: enable hugepages plugin + import_tasks: hugepages.yml + +- name: enable kafka plugin + import_tasks: kafka.yml + +- name: enable logfile plugin + import_tasks: logfile.yml + +- name: enable mcelog plugin + import_tasks: mcelog.yml + +- name: enable network plugin + import_tasks: network.yml + +- name: enable pmu plugin + import_tasks: pmu.yml + +- name: enable rdt plugin + import_tasks: rdt.yml + +- name: enable rddtool plugin + import_tasks: rrdtool.yml + +- name: enable snmp_agent plugin + import_tasks: snmp_agent.yml + +- name: enable syslog plugin + import_tasks: syslog.yml + +- name: enable virt plugin + import_tasks: virt.yml diff --git a/docker/ansible/roles/config_files/tasks/mcelog.yml b/docker/ansible/roles/config_files/tasks/mcelog.yml new file mode 100644 index 00000000..9c935e3e --- /dev/null +++ b/docker/ansible/roles/config_files/tasks/mcelog.yml @@ -0,0 +1,44 @@ +#Copyright 2018 OPNFV and Intel Corporation +# +# 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. +--- + +- name: check if mcelog running on host + shell: ps -ef | grep mcelog | grep -v grep > /dev/null + register: mcelog_running + ignore_errors: "true" + tags: + - mcelogs + +- name: check if mcelog exists + shell: which mcelog > /dev/null + register: mcelog_exists + ignore_errors: "true" + tags: + - mcelogs + +- name: check if mcelog-client exists + stat: + path: /var/run/mcelog-client + register: mcelog_client_exists + ignore_errors: "true" + tags: + - mcelogs + +- name: enable mcelog plugin + template: + src: mcelog.conf.j2 + dest: "{{ config_file_dir }}/mcelog.conf" + when: mcelog_running|succeeded and mcelog_exists|succeeded and mcelog_client_exists|succeeded + tags: + - mcelogs diff --git a/docker/ansible/roles/config_files/tasks/network.yml b/docker/ansible/roles/config_files/tasks/network.yml new file mode 100644 index 00000000..dca0c235 --- /dev/null +++ b/docker/ansible/roles/config_files/tasks/network.yml @@ -0,0 +1,21 @@ +#Copyright 2018 OPNFV and Intel Corporation +# +# 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. +--- + +- name: enable network plugin + template: + src: network.conf.j2 + dest: "{{ config_file_dir }}/network.conf" + tags: + - network diff --git a/docker/ansible/roles/config_files/tasks/pmu.yml b/docker/ansible/roles/config_files/tasks/pmu.yml new file mode 100644 index 00000000..20e3034c --- /dev/null +++ b/docker/ansible/roles/config_files/tasks/pmu.yml @@ -0,0 +1,21 @@ +#Copyright 2018 OPNFV and Intel Corporation +# +# 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. +--- + +- name: enable intel_pmu plugin + template: + src: intel_pmu.conf.j2 + dest: "{{ config_file_dir }}/intel_pmu.conf" + tags: + - pmu diff --git a/docker/ansible/roles/config_files/tasks/rdt.yml b/docker/ansible/roles/config_files/tasks/rdt.yml new file mode 100644 index 00000000..cbfa7de5 --- /dev/null +++ b/docker/ansible/roles/config_files/tasks/rdt.yml @@ -0,0 +1,39 @@ +#Copyright 2018 OPNFV and Intel Corporation +# +# 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. +--- + +- name: check if rdt on host + shell: | + grep -q cqm* "/proc/cpuinfo" + register: rdt_result + ignore_errors: "true" + tags: + - rdt + +- name: (rdt) check if virt is enabled + stat: + path: "{{ config_file_dir }}/virt.conf" + register: virt_file + tags: + - rdt + +- name: enable rdt plugin + template: + src: rdt.conf.j2 + dest: "{{ config_file_dir }}/rdt.conf" + when: rdt_result|succeeded and virt_file.stat.exists == False + tags: + - rdt + + diff --git a/docker/ansible/roles/config_files/tasks/rrdtool.yml b/docker/ansible/roles/config_files/tasks/rrdtool.yml new file mode 100644 index 00000000..4c681dc6 --- /dev/null +++ b/docker/ansible/roles/config_files/tasks/rrdtool.yml @@ -0,0 +1,22 @@ +#Copyright 2018 OPNFV and Intel Corporation +# +# 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. +--- + +- name: enable rrdtool plugin + template: + src: rrdtool.conf.j2 + dest: "{{ config_file_dir }}/rrdtool.conf" + tags: + - rrdtool + diff --git a/docker/ansible/roles/config_files/tasks/snmp_agent.yml b/docker/ansible/roles/config_files/tasks/snmp_agent.yml new file mode 100644 index 00000000..603dc122 --- /dev/null +++ b/docker/ansible/roles/config_files/tasks/snmp_agent.yml @@ -0,0 +1,21 @@ +#Copyright 2018 OPNFV and Intel Corporation +# +# 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. +--- + +- name: enable snmp agent + template: + src: snmp_agent.conf.j2 + dest: "{{ config_file_dir }}/snmp_agent.conf" + tags: + - snmp diff --git a/docker/ansible/roles/config_files/tasks/syslog.yml b/docker/ansible/roles/config_files/tasks/syslog.yml new file mode 100644 index 00000000..97864a5d --- /dev/null +++ b/docker/ansible/roles/config_files/tasks/syslog.yml @@ -0,0 +1,22 @@ +#Copyright 2018 OPNFV and Intel Corporation +# +# 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. +--- + +- name: enable syslog plugin + template: + src: syslog.conf.j2 + dest: "{{ config_file_dir }}/syslog.conf" + tags: + - syslog + diff --git a/docker/ansible/roles/config_files/tasks/virt.yml b/docker/ansible/roles/config_files/tasks/virt.yml new file mode 100644 index 00000000..9db10e8c --- /dev/null +++ b/docker/ansible/roles/config_files/tasks/virt.yml @@ -0,0 +1,36 @@ +#Copyright 2018 OPNFV and Intel Corporation +# +# 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. +--- + +- name: check if libvirtd on host + shell: ps -ef | grep libvirtd | grep -v grep > /dev/null + register: libvirt_result + ignore_errors: "true" + tags: + - virt + +- name: (virt) check if rdt is enabled + stat: + path: "{{ config_file_dir }}/rdt.conf" + register: rdt_file + tags: + - virt + +- name: enable virt plugin + template: + src: virt.conf.j2 + dest: "{{ config_file_dir }}/virt.conf" + when: libvirt_result|succeeded and rdt_file.stat.exists == False + tags: + - virt diff --git a/docker/ansible/roles/config_files/tasks/vswitch.yml b/docker/ansible/roles/config_files/tasks/vswitch.yml new file mode 100644 index 00000000..baffc4bd --- /dev/null +++ b/docker/ansible/roles/config_files/tasks/vswitch.yml @@ -0,0 +1,49 @@ +#Copyright 2018 OPNFV and Intel Corporation +# +# 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. +--- + +- name: Check if vswitchd is running + shell: ps -ef | grep vswitchd | grep -v grep > /dev/null + register: vswitchd_running + ignore_errors: True + tags: + - ovs_stats + - ovs_events + +- name: Check if db.sock exists + stat: + path: /var/run/openvswitch/db.sock + register: dbsock_exists + ignore_errors: True + tags: + - ovs_stats + - ovs_events + +- name: enable ovs_stats plugin + template: + src: "ovs_stats.conf.j2" + dest: "{{ config_file_dir }}/ovs_stats.conf" + when: vswitchd_running|succeeded and dbsock_exists|succeeded + tags: + - ovs_stats + +- name: enable ovs_events plugin + template: + src: "ovs_events.conf.j2" + dest: "{{ config_file_dir }}/ovs_events.conf" + when: vswitchd_running|succeeded and dbsock_exists|succeeded + tags: + - ovs_events + + |