From b0fd9b96bd7743814fdf913907f62108383bd566 Mon Sep 17 00:00:00 2001
From: handreas <andreas.hamacher@monash.edu>
Date: Wed, 3 Jun 2020 04:43:28 +0000
Subject: [PATCH] role refactoring. quite a few changes!

---
 roles/mellanox_drivers/tasks/main.yml | 71 ++++++++++++++-------------
 1 file changed, 36 insertions(+), 35 deletions(-)

diff --git a/roles/mellanox_drivers/tasks/main.yml b/roles/mellanox_drivers/tasks/main.yml
index 036e93ad..faa3388e 100644
--- a/roles/mellanox_drivers/tasks/main.yml
+++ b/roles/mellanox_drivers/tasks/main.yml
@@ -11,17 +11,13 @@
   yum:  name=perl,pciutils,gtk2,atk,cairo,gcc-gfortran,libxml2-python,tcsh,libnl,lsof,tcl,tk,kernel-devel,python-devel,createrepo,rpm-build
   become: true
   become_user: root
-  ignore_errors: true
   when: ansible_os_family == "RedHat"
 
 - name: test for existing installation of drivers
-  shell: '/bin/ibv_devinfo'
+  stat:
+    path: /bin/ibv_devinfo
   become: true
-  become_user: root
   register: drivers_installed
-  ignore_errors: true
-  check_mode: no
-  changed_when: False
 
 - name: debug - print out installed driver
   debug: var=drivers_installed
@@ -34,7 +30,6 @@
 - name: get driver version
   shell: '/bin/ofed_info -l | head -n 1 | cut -f 1 -d " "'
   register: driver_version
-  ignore_errors: true
   check_mode: no
   changed_when: False
 
@@ -48,7 +43,7 @@
   set_fact:
     install_now: true
     reboot_now: true
-  when: drivers_installed.failed
+  when: not drivers_installed.stat.exists
 
 - name: debug
   debug: var=driver_version
@@ -76,44 +71,47 @@
   service: name=lustre-client state=stopped
   become: true
   become_user: root
-  ignore_errors: true
-  when: install_now
+  when: install_now and drivers_installed.stat.exists
 
 - name: remove ipa stuff
-  yum: name={{ item }} state=absent
+  package:
+    state: absent
+    name:
+      - ipa-common
+      - ipa-python-compat
+      - python2-ipalib
   become: true
-  become_user: root
-  ignore_errors: true
-  with_items:
-  - ipa-common
-  - ipa-python-compat
-  - python2-ipalib
   when: install_now
 
 - name: remove unnecessary packages that break stuff
-  yum: name={{ item }} state=absent
+  package:
+    state: absent
+    name:
+      - libgpod
+      - usbmuxd
+      - libmlx5
+      - libmlx4
+      - libibverbs
   become: true
-  become_user: root
-  ignore_errors: true
-  with_items:
-  - libgpod
-  - usbmuxd
-  - libmlx5
-  - libmlx4
-  - libibverbs
   when: install_now
 
 - name: remove mellanox rpms
-  yum: name={{ item }} state=absent
+  yum:
+    state: absent
+    name:
+      - mlnx-ofa_kernel
+      - mlnx-ofa_kernel-devel
+      - mlnx-ofa_kernel-modules
   become: true
-  become_user: root
-  ignore_errors: true
-  with_items:
-  - mlnx-ofa_kernel
-  - mlnx-ofa_kernel-devel
-  - mlnx-ofa_kernel-modules
   when: install_now
 
+- name: install ofa_kernel 
+  yum:
+    name: kmod-mlnx-ofa_kernel-{{ MELLANOX_VERSION }}
+    state: present
+    allow_downgrade: yes
+  become: true
+
 - name: install drivers
   shell: ./mlnxofedinstall -q --add-kernel-support --force --skip-repo
   args:
@@ -136,9 +134,8 @@
   register: reload_service
 
 - name: enable roce_mode setting
-  service: name=roce_mode state=started enabled=yes
+  service: name=roce_mode enabled=yes
   become: true
-  ignore_errors: yes
 #
 # A REBOOT IS NEEDED AFTER SUCCESSFUL INSTALL
 #
@@ -154,3 +151,7 @@
 - name: waiting for server to come back
   wait_for_connection: sleep=60 timeout=600 delay=60
   when: reboot_now
+
+- name: enable roce_mode setting
+  service: name=roce_mode state=started enabled=yes
+  become: true
\ No newline at end of file
-- 
GitLab