From dc515e5ac58bea44919a6ab52277d4251e429fdb Mon Sep 17 00:00:00 2001
From: Matthew Mosesohn <matthew.mosesohn@gmail.com>
Date: Fri, 13 Oct 2017 15:36:21 +0100
Subject: [PATCH] Remove kernel-upgrade role (#1798)

This role only support Red Hat type distros and is not maintained
or used by many users. It should be removed because it creates
feature disparity between supported OSes and is not maintained.
---
 cluster.yml                             |  1 -
 inventory/group_vars/all.yml            |  3 --
 roles/kernel-upgrade/defaults/main.yml  |  8 -----
 roles/kernel-upgrade/tasks/centos-7.yml | 33 --------------------
 roles/kernel-upgrade/tasks/main.yml     |  5 ----
 roles/kernel-upgrade/tasks/reboot.yml   | 40 -------------------------
 scale.yml                               |  1 -
 upgrade-cluster.yml                     |  1 -
 8 files changed, 92 deletions(-)
 delete mode 100644 roles/kernel-upgrade/defaults/main.yml
 delete mode 100644 roles/kernel-upgrade/tasks/centos-7.yml
 delete mode 100644 roles/kernel-upgrade/tasks/main.yml
 delete mode 100644 roles/kernel-upgrade/tasks/reboot.yml

diff --git a/cluster.yml b/cluster.yml
index bbb6813da..98bafe978 100644
--- a/cluster.yml
+++ b/cluster.yml
@@ -26,7 +26,6 @@
   any_errors_fatal: "{{ any_errors_fatal | default(true) }}"
   roles:
     - { role: kubespray-defaults}
-    - { role: kernel-upgrade, tags: kernel-upgrade, when: kernel_upgrade is defined and kernel_upgrade }
     - { role: kubernetes/preinstall, tags: preinstall }
     - { role: docker, tags: docker }
     - role: rkt
diff --git a/inventory/group_vars/all.yml b/inventory/group_vars/all.yml
index 74b738e16..dd67969bd 100644
--- a/inventory/group_vars/all.yml
+++ b/inventory/group_vars/all.yml
@@ -114,9 +114,6 @@ bin_dir: /usr/local/bin
 ## as a backend). Options are "script" or "vault"
 #cert_management: script
 
-## Please specify true if you want to perform a kernel upgrade
-kernel_upgrade: false
-
 # Set to true to allow pre-checks to fail and continue deployment
 #ignore_assert_errors: false
 
diff --git a/roles/kernel-upgrade/defaults/main.yml b/roles/kernel-upgrade/defaults/main.yml
deleted file mode 100644
index 688e6e018..000000000
--- a/roles/kernel-upgrade/defaults/main.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-elrepo_key_url: 'https://www.elrepo.org/RPM-GPG-KEY-elrepo.org'
-elrepo_rpm: elrepo-release-7.0-3.el7.elrepo.noarch.rpm
-elrepo_mirror: http://www.elrepo.org
-
-elrepo_url: '{{elrepo_mirror}}/{{elrepo_rpm}}'
-
-elrepo_kernel_package: "kernel-lt"
diff --git a/roles/kernel-upgrade/tasks/centos-7.yml b/roles/kernel-upgrade/tasks/centos-7.yml
deleted file mode 100644
index a9de6b56f..000000000
--- a/roles/kernel-upgrade/tasks/centos-7.yml
+++ /dev/null
@@ -1,33 +0,0 @@
----
-
-- name: install ELRepo key
-  rpm_key:
-    state: present
-    key: '{{ elrepo_key_url }}'
-
-- name: install elrepo repository
-  yum:
-    name: '{{elrepo_url}}'
-    state: present
-
-- name: upgrade kernel
-  yum:
-    name: "{{elrepo_kernel_package}}"
-    state: present
-    enablerepo: elrepo-kernel
-  register: upgrade
-
-- name: change default grub entry
-  lineinfile:
-    dest: '/etc/default/grub'
-    regexp: '^GRUB_DEFAULT=.*'
-    line: 'GRUB_DEFAULT=0'
-  when: upgrade.changed
-  register: grub_entry
-
-- name: re-generate grub-config
-  command: grub2-mkconfig -o /boot/grub2/grub.cfg
-  when: upgrade.changed and grub_entry.changed
-
-- include: reboot.yml
-  when: upgrade.changed
\ No newline at end of file
diff --git a/roles/kernel-upgrade/tasks/main.yml b/roles/kernel-upgrade/tasks/main.yml
deleted file mode 100644
index a16f0f37b..000000000
--- a/roles/kernel-upgrade/tasks/main.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-
-- include: centos-7.yml
-  when: ansible_distribution in ["CentOS","RedHat"] and
-        ansible_distribution_major_version >= 7 and not is_atomic
\ No newline at end of file
diff --git a/roles/kernel-upgrade/tasks/reboot.yml b/roles/kernel-upgrade/tasks/reboot.yml
deleted file mode 100644
index 87748f3f6..000000000
--- a/roles/kernel-upgrade/tasks/reboot.yml
+++ /dev/null
@@ -1,40 +0,0 @@
----
-
-# Reboot the machine gets more complicated as we want to support bastion hosts. A simple wait_for task would not work
-# as we can not directly reach the hosts (except the bastion). In case a basion is used, we first check for it to come
-# back. After it is back, we check for all the hosts by delegating to the bastion.
-
-- name: Rebooting server
-  shell: nohup bash -c "sleep 5 && shutdown -r now 'Reboot required for updated kernel'" &
-
-- name: Wait for some seconds
-  pause:
-    seconds: 10
-
-- set_fact:
-    is_bastion: "{{ inventory_hostname == 'bastion' }}"
-    wait_for_delegate: "localhost"
-
-- set_fact:
-    wait_for_delegate: "{{hostvars['bastion']['ansible_ssh_host']}}"
-  when: "'bastion' in groups['all']"
-
-- name: wait for bastion to come back
-  wait_for:
-    host: "{{ ansible_ssh_host }}"
-    port: 22
-    delay: 10
-    timeout: 300
-  become: false
-  delegate_to: localhost
-  when: is_bastion
-
-- name: waiting for server to come back (using bastion if necessary)
-  wait_for:
-    host: "{{ ansible_ssh_host }}"
-    port: 22
-    delay: 10
-    timeout: 300
-  become: false
-  delegate_to: "{{ wait_for_delegate }}"
-  when: not is_bastion
diff --git a/scale.yml b/scale.yml
index 49445cabc..6a6096bb1 100644
--- a/scale.yml
+++ b/scale.yml
@@ -22,7 +22,6 @@
   any_errors_fatal: "{{ any_errors_fatal | default(true) }}"
   roles:
     - { role: kubespray-defaults}
-    - { role: kernel-upgrade, tags: kernel-upgrade, when: kernel_upgrade is defined and kernel_upgrade }
     - { role: kubernetes/preinstall, tags: preinstall }
     - { role: docker, tags: docker }
     - role: rkt
diff --git a/upgrade-cluster.yml b/upgrade-cluster.yml
index 28261027f..50a856ac0 100644
--- a/upgrade-cluster.yml
+++ b/upgrade-cluster.yml
@@ -26,7 +26,6 @@
   any_errors_fatal: "{{ any_errors_fatal | default(true) }}"
   roles:
     - { role: kubespray-defaults}
-    - { role: kernel-upgrade, tags: kernel-upgrade, when: kernel_upgrade is defined and kernel_upgrade }
     - { role: kubernetes/preinstall, tags: preinstall }
     - { role: docker, tags: docker }
     - role: rkt
-- 
GitLab