aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--docker/ansible/roles/config_files/tasks/make_mcelog.yml35
-rw-r--r--docker/ansible/roles/config_files/tasks/mcelog.yml14
2 files changed, 49 insertions, 0 deletions
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