63 lines
1.4 KiB
YAML
63 lines
1.4 KiB
YAML
---
|
|
- name: Disable kernel installation from base repository
|
|
become: true
|
|
lineinfile:
|
|
path: /etc/yum.repos.d/CentOS-Base.repo
|
|
line: exclude=kernel*
|
|
|
|
- name: Enable Centos-plus repository
|
|
become: true
|
|
lineinfile:
|
|
path: /etc/yum.repos.d/CentOS-centosplus.repo
|
|
regexp: "#?enabled=(0|1)"
|
|
line: enabled=1
|
|
|
|
- name: Enable kernel installation from plus repository
|
|
become: true
|
|
lineinfile:
|
|
path: /etc/yum.repos.d/CentOS-centosplus.repo
|
|
line: includepkgs=kernel*
|
|
|
|
# Note that the order of the next four tasks is very specific and intentional
|
|
# See this wiki page: https://plone.lucidsolutions.co.nz/linux/centos/7/install-centos-plus-kernel-kernel-plus/view
|
|
- name: Install kernel-plus
|
|
become: true
|
|
dnf:
|
|
name:
|
|
- kernel-plus
|
|
- kernel-plus-devel
|
|
state: latest
|
|
register: _dnf_kernel_plus
|
|
|
|
- name: Uninstall kernel-tools
|
|
become: true
|
|
dnf:
|
|
name:
|
|
- kernel-tools
|
|
- kernel-tools-libs
|
|
state: absent
|
|
|
|
- name: Install kernel-plus-tools
|
|
become: true
|
|
dnf:
|
|
name:
|
|
- kernel-plus-tools
|
|
- kernel-plus-tools-libs
|
|
state: latest
|
|
|
|
- name: Reboot into new kernel
|
|
become: true
|
|
when: _dnf_kernel_plus.changed is true and "centos.plus" not in ansible_kernel
|
|
reboot:
|
|
reboot_timeout: 3600
|
|
|
|
- name: Uninstall kernel
|
|
become: true
|
|
dnf:
|
|
name:
|
|
- kernel
|
|
- kernel-devel
|
|
- kernel-core
|
|
- kernel-modules
|
|
state: absent
|