CentOS7のカーネルをyumでバージョンアップするAnsibleレシピ

CentOS7のカーネルをyumでバージョンアップさせたときの、Ansibleレシピの例です。

- name: "import ELRepo key"
   rpm_key:
      key: "https://www.elrepo.org/RPM-GPG-KEY-elrepo.org"  

- name: "install ELRepo"
   yum:
      name: "http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm"  

- name: "install kernel"
   yum:
      name: "{{ item }}"
      enablerepo: "elrepo-kernel"
   with_items:
     - "kernel-ml"
     - "kernel-ml-devel"

- name: "get new kernel name"
   shell: awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg | head -1
   register: kernel_name  

- name: set default kernel
   lineinfile:
      dest: /etc/default/grub
      regexp: "^GRUB_DEFAULT"
      line: 'GRUB_DEFAULT="{{ kernel_name.stdout}}"'  

- name: rebuild gurb.cfg
   command: grub2-mkconfig -o /boot/grub2/grub.cfg

 
gbrub.cfgのリビルドが毎回動いてしまう部分は、後ほど修正したい。。。
2017年9月4日時点では、Kernel4.12.10にバージョンアップされました。

$ uname -a 
Linux local-test 4.12.10-1.el7.elrepo.x86_64 #1 SMP Wed Aug 30 13:00:07 EDT 2017 x86_64 x86_64 x86_64 GNU/Linux

 
以上、CentOS7のカーネルをyumでバージョンアップするAnsibleレシピの紹介でした。