Merge "Fix anteater issues of baro_tests"
authorMatthias Runge <mrunge@redhat.com>
Tue, 15 Jan 2019 09:56:56 +0000 (09:56 +0000)
committerGerrit Code Review <gerrit@opnfv.org>
Tue, 15 Jan 2019 09:56:56 +0000 (09:56 +0000)
docker/ansible/roles/config_files/tasks/dpdk.yml [new file with mode: 0644]
docker/ansible/roles/config_files/tasks/main.yml
docker/ansible/roles/config_files/tasks/make_mcelog.yml [new file with mode: 0644]
docker/ansible/roles/config_files/tasks/mcelog.yml
docker/ansible/roles/config_files/templates/dpdkevents.conf.j2 [new file with mode: 0644]
docker/ansible/roles/config_files/templates/dpdkstat.conf.j2 [new file with mode: 0644]
docs/release/userguide/docker.userguide.rst

diff --git a/docker/ansible/roles/config_files/tasks/dpdk.yml b/docker/ansible/roles/config_files/tasks/dpdk.yml
new file mode 100644 (file)
index 0000000..7809c56
--- /dev/null
@@ -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
index 9ba9cbb..1bf6698 100644 (file)
@@ -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 (file)
index 0000000..d05b943
--- /dev/null
@@ -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
index 794db98..be18509 100644 (file)
   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 (file)
index 0000000..60bdb3e
--- /dev/null
@@ -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 (file)
index 0000000..738fb4d
--- /dev/null
@@ -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>
+
index 2b559f8..6064de2 100644 (file)
@@ -170,7 +170,7 @@ To install Ansible 2.6.3 on Ubuntu:
 
     $ sudo apt-get install python
     $ sudo apt-get install python-pip
-    $ sudo pip install 'ansible==2.6.3'
+    $ sudo -H pip install 'ansible==2.6.3'
 
 The following steps have been verified with Ansible 2.6.3 on Centos 7.5.
 To install Ansible 2.6.3 on Centos:
@@ -180,7 +180,13 @@ To install Ansible 2.6.3 on Centos:
     $ sudo yum install python
     $ sudo yum install epel-release
     $ sudo yum install python-pip
-    $ sudo pip install 'ansible==2.6.3'
+    $ sudo -H pip install 'ansible==2.6.3'
+
+.. note::
+   When using multi-node-setup, please make sure that 'python' package is
+   installed on all of the target nodes (ansible during 'Gathering facts'
+   phase is using python2 and it may not be installed by default on some
+   distributions - e.g. on Ubuntu 16.04 it has to be installed manually)
 
 Clone barometer repo
 ^^^^^^^^^^^^^^^^^^^^
@@ -282,7 +288,7 @@ through more details.
 
 .. code:: bash
 
-    $ sudo ansible-playbook -i default.inv collectd_service.yml
+    $ sudo -H ansible-playbook -i default.inv collectd_service.yml
 
 Check the three containers are running, the output of docker ps should be similar to:
 
@@ -342,11 +348,14 @@ To make some changes when a container is running run:
 
 List of default plugins for collectd container
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+.. note::
+   The dpdk plugins dpdkevents and dpdkstat were tested with DPDK v16.11.
 
 By default the collectd is started with default configuration which includes the followin plugins:
    * csv, contextswitch, cpu, cpufreq, df, disk, ethstat, ipc, irq, load, memory, numa, processes,
      swap, turbostat, uuid, uptime, exec, hugepages, intel_pmu, ipmi, write_kafka, logfile, mcelog,
-     network, intel_rdt, rrdtool, snmp_agent, syslog, virt, ovs_stats, ovs_events
+     network, intel_rdt, rrdtool, snmp_agent, syslog, virt, ovs_stats, ovs_events, dpdkevents,
+     dpdkstat
 
 Some of the plugins are loaded depending on specific system requirements and can be omitted if
 dependency is not met, this is the case for:
@@ -391,7 +400,7 @@ plugins tags
   The following tags can be used to enable/disable plugins: csv, contextswitch, cpu,
   cpufreq, df, disk, ethstat, ipc, irq, load, memory, numa, processes, swap, turbostat,
   uptime, exec, hugepages, ipmi, kafka, logfile, mcelogs, network, pmu, rdt, rrdtool,
-  snmp, syslog, virt, ovs_stats, ovs_events, uuid.
+  snmp, syslog, virt, ovs_stats, ovs_events, uuid, dpdkevents, dpdkstat.
 
 Installing Docker
 -----------------