aboutsummaryrefslogtreecommitdiffstats
path: root/docker/ansible/roles
diff options
context:
space:
mode:
Diffstat (limited to 'docker/ansible/roles')
-rw-r--r--docker/ansible/roles/config_files/tasks/dpdk.yml28
-rw-r--r--docker/ansible/roles/config_files/tasks/main.yml3
-rw-r--r--docker/ansible/roles/config_files/tasks/make_mcelog.yml35
-rw-r--r--docker/ansible/roles/config_files/tasks/mcelog.yml14
-rw-r--r--docker/ansible/roles/config_files/templates/dpdkevents.conf.j236
-rw-r--r--docker/ansible/roles/config_files/templates/dpdkstat.conf.j225
6 files changed, 141 insertions, 0 deletions
diff --git a/docker/ansible/roles/config_files/tasks/dpdk.yml b/docker/ansible/roles/config_files/tasks/dpdk.yml
new file mode 100644
index 00000000..7809c56a
--- /dev/null
+++ b/docker/ansible/roles/config_files/tasks/dpdk.yml
@@ -0,0 +1,28 @@
+#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 dpdkstat plugin
+ template:
+ src: dpdkstat.conf.j2
+ dest: "{{ config_file_dir }}/dpdkstat.conf"
+ tags:
+ - dpdkstat
+
+- name: enable dpdkevents plugin
+ template:
+ src: dpdkevents.conf.j2
+ dest: "{{ config_file_dir }}/dpdkevents.conf"
+ tags:
+ - dpdkevents
diff --git a/docker/ansible/roles/config_files/tasks/main.yml b/docker/ansible/roles/config_files/tasks/main.yml
index 9ba9cbb2..1bf66985 100644
--- a/docker/ansible/roles/config_files/tasks/main.yml
+++ b/docker/ansible/roles/config_files/tasks/main.yml
@@ -35,6 +35,9 @@
- name: enable default plugins
import_tasks: default_read_plugins.yml
+- name: enable dpdk plugins
+ import_tasks: dpdk.yml
+
- name: enable exec plugin
import_tasks: exec.yml
diff --git a/docker/ansible/roles/config_files/tasks/make_mcelog.yml b/docker/ansible/roles/config_files/tasks/make_mcelog.yml
new file mode 100644
index 00000000..d05b9433
--- /dev/null
+++ b/docker/ansible/roles/config_files/tasks/make_mcelog.yml
@@ -0,0 +1,35 @@
+#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: extract mcelog from online archive
+ unarchive:
+ src: https://git.kernel.org/pub/scm/utils/cpu/mce/mcelog.git/snapshot/mcelog-161.tar.gz
+ dest: /tmp
+ remote_src: yes
+
+- name: make mcelog
+ make:
+ chdir: /tmp/mcelog-161
+
+- name: make install mcelog
+ make:
+ chdir: /tmp/mcelog-161
+ target: install
+
+- name: copy mcelog service
+ copy:
+ src: /tmp/mcelog-161/mcelog.service
+ dest: /etc/systemd/system/mcelog.service
+ remote_src: yes
diff --git a/docker/ansible/roles/config_files/tasks/mcelog.yml b/docker/ansible/roles/config_files/tasks/mcelog.yml
index 794db98c..be185092 100644
--- a/docker/ansible/roles/config_files/tasks/mcelog.yml
+++ b/docker/ansible/roles/config_files/tasks/mcelog.yml
@@ -22,6 +22,20 @@
tags:
- mcelogs
+- name: check if mcelog present
+ shell: which mcelog > /dev/null
+ register: mcelog_present
+ ignore_errors: "true"
+ when: install_mcelog|default(false)|bool
+ tags:
+ - mcelogs
+
+- name: build mcelog from sources if not in package
+ import_tasks: make_mcelog.yml
+ when: mcelog_present|failed and install_mcelog|default(false)|bool
+ tags:
+ - mcelogs
+
- name: start mcelog daemon if not running
service:
name: mcelog
diff --git a/docker/ansible/roles/config_files/templates/dpdkevents.conf.j2 b/docker/ansible/roles/config_files/templates/dpdkevents.conf.j2
new file mode 100644
index 00000000..60bdb3e2
--- /dev/null
+++ b/docker/ansible/roles/config_files/templates/dpdkevents.conf.j2
@@ -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.
+
+<LoadPlugin dpdkevents>
+ Interval 1
+</LoadPlugin>
+
+<Plugin "dpdkevents">
+# <EAL>
+# Coremask "0x1"
+# MemoryChannels "4"
+# FilePrefix "rte"
+# </EAL>
+ <Event "link_status">
+ SendEventsOnUpdate false
+ EnabledPortMask 0xffff
+ SendNotification true
+ </Event>
+# <Event "keep_alive">
+# SendEventsOnUpdate false
+# LCoreMask "0xf"
+# KeepAliveShmName "/dpdk_keepalive_shm_name"
+# SendNotification true
+# </Event>
+</Plugin>
diff --git a/docker/ansible/roles/config_files/templates/dpdkstat.conf.j2 b/docker/ansible/roles/config_files/templates/dpdkstat.conf.j2
new file mode 100644
index 00000000..738fb4d0
--- /dev/null
+++ b/docker/ansible/roles/config_files/templates/dpdkstat.conf.j2
@@ -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.
+
+LoadPlugin dpdkstat
+
+<Plugin dpdkstat>
+# Coremask "0xf"
+# ProcessType "secondary"
+# FilePrefix "rte"
+ EnabledPortMask 0xffff
+# PortName "interface1"
+# PortName "interface2"
+</Plugin>
+