summaryrefslogtreecommitdiffstats
path: root/docker/ansible/roles/config_files/tasks
diff options
context:
space:
mode:
authorAaron Smith <aasmith@redhat.com>2018-02-23 22:02:03 +0000
committerGerrit Code Review <gerrit@opnfv.org>2018-02-23 22:02:03 +0000
commit7effd9e1e84dd7fa2a189a0815b5be1c0fcb165a (patch)
treea56fb047101287f68374e781f4a1efd0bf5f20d9 /docker/ansible/roles/config_files/tasks
parentb26034d05aa81f624e9bcee2c8e82a1cacfe44c4 (diff)
parentd80cfa2391f97998eb33a06baf5a6489934919e7 (diff)
Merge "ansible: add ansible scripts to configure .conf file on collectd nodes"
Diffstat (limited to 'docker/ansible/roles/config_files/tasks')
-rw-r--r--docker/ansible/roles/config_files/tasks/csv.yml22
-rw-r--r--docker/ansible/roles/config_files/tasks/default_read_import.yml143
-rw-r--r--docker/ansible/roles/config_files/tasks/default_read_plugins.yml34
-rw-r--r--docker/ansible/roles/config_files/tasks/exec.yml21
-rw-r--r--docker/ansible/roles/config_files/tasks/hugepages.yml33
-rw-r--r--docker/ansible/roles/config_files/tasks/kafka.yml21
-rw-r--r--docker/ansible/roles/config_files/tasks/logfile.yml25
-rw-r--r--docker/ansible/roles/config_files/tasks/main.yml72
-rw-r--r--docker/ansible/roles/config_files/tasks/mcelog.yml44
-rw-r--r--docker/ansible/roles/config_files/tasks/network.yml21
-rw-r--r--docker/ansible/roles/config_files/tasks/pmu.yml21
-rw-r--r--docker/ansible/roles/config_files/tasks/rdt.yml39
-rw-r--r--docker/ansible/roles/config_files/tasks/rrdtool.yml22
-rw-r--r--docker/ansible/roles/config_files/tasks/snmp_agent.yml21
-rw-r--r--docker/ansible/roles/config_files/tasks/syslog.yml22
-rw-r--r--docker/ansible/roles/config_files/tasks/virt.yml36
-rw-r--r--docker/ansible/roles/config_files/tasks/vswitch.yml49
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
+
+