ansible: install mcelog from sources on Ubuntu 18.04 23/66323/1
authorKamil Wiatrowski <kamilx.wiatrowski@intel.com>
Thu, 10 Jan 2019 14:47:50 +0000 (15:47 +0100)
committerKamil Wiatrowski <kamilx.wiatrowski@intel.com>
Thu, 10 Jan 2019 14:49:16 +0000 (15:49 +0100)
On Ubuntu 18 mcelog is no longer available through apt from
standard repositories. It can be downloaded directly, and make
on target machine. Mcelog version 161 is used.

Change-Id: Ie24990869190f86efa26994081d4f887f879c867
Signed-off-by: Kamil Wiatrowski <kamilx.wiatrowski@intel.com>
docker/ansible/roles/config_files/tasks/make_mcelog.yml [new file with mode: 0644]
docker/ansible/roles/config_files/tasks/mcelog.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