From e421c353810f3d3f105d478b88c5d9a6b23886d6 Mon Sep 17 00:00:00 2001
From: Chris Hines <chris.hines@monash.edu>
Date: Tue, 16 Aug 2016 15:57:12 +1000
Subject: [PATCH] reboot after upgrading the kernel

Former-commit-id: 453cecfb5441cba662e542f729cea766e48f3d8c
---
 roles/upgrade/tasks/main.yml | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/roles/upgrade/tasks/main.yml b/roles/upgrade/tasks/main.yml
index 535141fb..68967867 100644
--- a/roles/upgrade/tasks/main.yml
+++ b/roles/upgrade/tasks/main.yml
@@ -16,3 +16,32 @@
   become: true
   become_user: root
   when: ansible_os_family=="RedHat"
+
+- name: get kernel-devel version
+  shell: rpm -q kernel-devel | cut -f 3,4 -d "-"
+  register: rpm_q_output
+
+- name: get kernel version
+  shell: uname -r
+  register: uname_r_output
+
+- name: default dont reboot
+  set_fact: reboot_now=False
+
+- name: set reboot when kernel has changed
+  set_fact: reboot_now=True
+  when: not rpm_q_output.stdout in uname_r_output.stdout
+
+- name: restart machine
+  shell: "sleep 5; sudo shutdown -r now"
+  async: 2
+  poll: 1
+  ignore_errors: true
+  sudo: true
+  when: reboot_now
+
+- name: waiting for server to come back
+  local_action: wait_for host={{ ansible_host }} state=started port=22 delay=30 timeout=600 search_regex=OpenSSH
+  sudo: false
+  when: reboot_now
+
-- 
GitLab