From a794cd8db8f02df91eed25098aa4f0444f731d6e Mon Sep 17 00:00:00 2001
From: handreas <andreas.hamacher@monash.edu>
Date: Wed, 3 Jun 2020 07:50:13 +0000
Subject: [PATCH] working on version pinning of kernel,lustre,mlnx and cleaning
 up some roles. changing upgrade to NO_CHANGED

---
 roles/upgrade/tasks/main.yml | 57 +++++++++++++++++++++---------------
 1 file changed, 33 insertions(+), 24 deletions(-)

diff --git a/roles/upgrade/tasks/main.yml b/roles/upgrade/tasks/main.yml
index 20afe1a2..a5cf2d64 100644
--- a/roles/upgrade/tasks/main.yml
+++ b/roles/upgrade/tasks/main.yml
@@ -18,36 +18,44 @@
   when: ansible_os_family=="RedHat"
 
 - name: yum upgrade
-  yum: name=* state=latest disablerepo={{ yumdisablerepo|join(',') }} enablerepo={{ yumenablerepo|join(',') }}
+  yum:
+    update_only: yes
+    state: latest
+    update_cache: yes
+    exclude: kernel*,mlnx-ofa_kernel*,kmod-lustre-client*
+    disablerepo: "{{ yumdisablerepo|join(',') }}"
+    enablerepo: "{{ yumenablerepo|join(',') }}"
   become: true
   become_user: root
   when: ansible_os_family=="RedHat" and yumdisablerepo is defined
 
-- name: Clear yum pending transaction
-  command: yum-complete-transaction --cleanup-only
-  become: true
-  become_user: root
-  when: ansible_os_family == 'RedHat'
-  register: yumtransactioncleanup
-  changed_when: "'No unfinished transactions left.' not in yumtransactioncleanup.stdout"
-
 - name: yum upgrade
-  yum: name=* state=latest
+  yum:
+    update_only: yes
+    state: latest
+    update_cache: yes
+    exclude: kernel*,mlnx-ofa_kernel*,kmod-lustre-client*
   become: true
   become_user: root
   when: ansible_os_family=="RedHat" and yumdisablerepo is undefined
 
-- name: install kernel-devel
-  yum: name=kernel-devel state=latest disablerepo={{ yumdisablerepo|join(',') }} enablerepo={{ yumenablerepo|join(',') }}
+- name: Clear yum pending transaction
+  command: yum-complete-transaction --cleanup-only
   become: true
   become_user: root
-  when: ansible_os_family=="RedHat" and yumdisablerepo is defined
+  when: ansible_os_family=="RedHat"
+  register: yumtransactioncleanup
+  changed_when: '"No unfinished transactions left." not in yumtransactioncleanup.stdout'
 
 - name: install kernel-devel
-  yum: name=kernel-devel state=latest
+  yum: 
+    name:
+      - kernel-devel-{{ KERNEL_VERSION }}
+      - kernel-{{ KERNEL_VERSION }}
+    state: present
   become: true
-  become_user: root
-  when: ansible_os_family=="RedHat" and yumdisablerepo is undefined
+  when: ansible_os_family=="RedHat"
+
 
 - name: get kernel-devel version
   shell: rpm -q kernel-devel | cut -f 3,4 -d "-" | sort | tail -n 1
@@ -95,15 +103,16 @@
   debug: var=reboot_now
 
 - name: restart machine
-  shell: "sleep 5; sudo shutdown -r now"
-  async: 2
-  poll: 1
-  ignore_errors: true
+#  shell: "sleep 5; sudo shutdown -r now"
+#  async: 2
+#  poll: 1
+#  ignore_errors: true
+  reboot:
   become: true
-  become_user: root
+#  become_user: root
   when: reboot_now
 
-- name: waiting for server to come back
-  wait_for_connection: sleep=60 timeout=600 delay=60
-  when: reboot_now
+#- name: waiting for server to come back
+#  wait_for_connection: sleep=60 timeout=600 delay=60
+#  when: reboot_now
 
-- 
GitLab