Newer
Older
- name: get kernel version
shell: uname -r
register: uname_r_output
check_mode: no
changed_when: False
- name: remove conflicting packages if kernel is going to changed
block:
- name: see if we have a lustre-client service or not
shell: systemctl status lustre-client
register: lustreStatus
changed_when: False
failed_when: '"could not" in lustreStatus.stderr'
ignore_errors: yes
- name: stop lustre
service: name=lustre-client state=stopped
become: true
- name: remove conflicting packages if kernel is going to changed
package:
state: absent
- kmod-lustre-client
- kernel-devel
become: true
- name: remove mellanox rpms
yum:
state: absent
name:
- mlnx-ofa_kernel
- mlnx-ofa_kernel-devel
- mlnx-ofa_kernel-modules
- libibverbs
- libgpod
- usbmuxd
- libmlx5
- libmlx4
become: true
when: uname_r_output.stdout != KERNEL_VERSION
apt: name=aptitude state=present
become: true
become_user: root
when: ansible_os_family=="Debian"
#- name: apt-get upgrade
# apt: upgrade=safe
# become: true
# when: ansible_os_family=="Debian"
yum:
name:
- ipa-client-common
- kmod-kvdo # found on some older monarch nodes
- iwl*firmware # intel wireless Lan
become: true
become_user: root
when: ansible_os_family=="RedHat"
- name: yum upgrade

Andreas Hamacher
committed
yum:

Andreas Hamacher
committed
state: latest
update_cache: yes
exclude: kernel*,mlnx-ofa_kernel*,kmod-lustre-client*,kmod-mlnx-ofa_kernel*,kmod-lustre-client*,lustre-client*,centos-release*,glusterfs*
become: true
become_user: root
when: ( inventory_hostname in groups.ManagementNodes ) or ( inventory_hostname in groups.SQLNodes )
- name: yum upgrade

Andreas Hamacher
committed
yum:

Andreas Hamacher
committed
state: latest
update_cache: yes
exclude: kernel*,mlnx-ofa_kernel*,kmod-lustre-client*,kmod-mlnx-ofa_kernel*,kmod-lustre-client*,lustre-client*,centos-release*
become: true
become_user: root
when: ( inventory_hostname not in groups.ManagementNodes ) and ( inventory_hostname not in groups.SQLNodes )

Andreas Hamacher
committed
- name: Clear yum pending transaction
command: yum-complete-transaction --cleanup-only
become: true
become_user: root

Andreas Hamacher
committed
when: ansible_os_family=="RedHat"
register: yumtransactioncleanup
changed_when: '"No unfinished transactions left." not in yumtransactioncleanup.stdout'
- name: install centos-release
yum:
name:
- centos-release-{{ CENTOS_VERSION }}
state: present
allow_downgrade: true
become: true
when: ansible_os_family=="RedHat"

Andreas Hamacher
committed
name:
- kernel-devel-{{ KERNEL_VERSION }}
- kernel-{{ KERNEL_VERSION }}
- kernel-headers-{{ KERNEL_VERSION }}
- kernel-tools-{{ KERNEL_VERSION }}
- kernel-tools-libs-{{ KERNEL_VERSION }}

Andreas Hamacher
committed
state: present

Andreas Hamacher
committed
when: ansible_os_family=="RedHat"
shell: rpm -q kernel-devel | cut -f 3,4 -d "-" | sort | tail -n 1
when: ansible_os_family=="RedHat"
Chris Hines
committed
check_mode: no
- name: get kernel-devel version
shell: dpkg -l linux-image* | grep "^ii" | grep "linux-image-[0-9]" | sed 's/\ \ */ /g' | cut -f 2 -d " " | cut -f 3-5 -d "-"
register: dpkg_l_output
when: ansible_os_family=="Debian"
check_mode: no
changed_when: False
- name: get kernel version
shell: uname -r
register: uname_r_output
Chris Hines
committed
check_mode: no
changed_when: False
reboot_now: false
- name: debug1
debug: var=rpm_q_output
- name: debug2
debug: var=uname_r_output
- name: set reboot when kernel has changed
when: ansible_os_family=="RedHat" and not uname_r_output.stdout in rpm_q_output.stdout
- name: set reboot when kernel has changed
set_fact:
reboot_now: true
when: ansible_os_family=="Debian" and not uname_r_output.stdout in dpkg_l_output.stdout
- name: debug3
debug: var=reboot_now

Andreas Hamacher
committed
# shell: "sleep 5; sudo shutdown -r now"
# async: 2
# poll: 1
# ignore_errors: true
reboot:

Andreas Hamacher
committed
# become_user: root

Andreas Hamacher
committed
#- name: waiting for server to come back
# wait_for_connection: sleep=60 timeout=600 delay=60
# when: reboot_now