Skip to content
Snippets Groups Projects
main.yml 4.44 KiB
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
      when: not lustreStatus.failed

    - 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
Chris Hines's avatar
Chris Hines committed

- name: install aptitude
Chris Hines's avatar
Chris Hines committed
  become: true
  become_user: root
  when: ansible_os_family=="Debian"

#- name: apt-get upgrade
#  apt: upgrade=safe
#  become: true
#  when: ansible_os_family=="Debian"
- name: yum remove
Andreas Hamacher's avatar
Andreas Hamacher committed
  yum:
    name:
      - ipa-client-common
      - kmod-kvdo # found on some older monarch nodes
      - iwl*firmware # intel wireless Lan
Andreas Hamacher's avatar
Andreas Hamacher committed
    state: absent
  become: true
  become_user: root
  when: ansible_os_family=="RedHat"

Andreas Hamacher's avatar
Andreas Hamacher committed
    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
Andreas Hamacher's avatar
Andreas Hamacher committed
  when: ( inventory_hostname in groups.ManagementNodes ) or ( inventory_hostname in groups.SQLNodes )
Andreas Hamacher's avatar
Andreas Hamacher committed
    exclude: kernel*,mlnx-ofa_kernel*,kmod-lustre-client*,kmod-mlnx-ofa_kernel*,kmod-lustre-client*,lustre-client*,centos-release*
  become: true
  become_user: root
Andreas Hamacher's avatar
Andreas Hamacher committed
  when: ( inventory_hostname not in groups.ManagementNodes ) and ( inventory_hostname not in groups.SQLNodes )
- name: Clear yum pending transaction
  command: yum-complete-transaction --cleanup-only
  become: true
  become_user: root
  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"

- name: install kernel-devel
    name:
      - kernel-devel-{{ KERNEL_VERSION }}
      - kernel-{{ KERNEL_VERSION }}
      - kernel-headers-{{ KERNEL_VERSION }}
      - kernel-tools-{{ KERNEL_VERSION }}
      - kernel-tools-libs-{{ KERNEL_VERSION }}
Andreas Hamacher's avatar
Andreas Hamacher committed
    allow_downgrade: true
- name: get kernel-devel version
  shell: rpm -q kernel-devel | cut -f 3,4 -d "-" | sort | tail -n 1
  register: rpm_q_output
Trung Nguyen's avatar
Trung Nguyen committed
  changed_when: False
Trung Nguyen's avatar
Trung Nguyen committed
    warn: False
- 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

- name: get kernel version
  shell: uname -r
  register: uname_r_output

- name: default dont reboot
    reboot_now: false

- name: debug1
  debug: var=rpm_q_output

- name: debug2
  debug: var=uname_r_output

- name: set reboot when kernel has changed
  set_fact:
    reboot_now: true
  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

- name: restart machine
#  shell: "sleep 5; sudo shutdown -r now"
#  async: 2
#  poll: 1
#  ignore_errors: true
  reboot:
  when: reboot_now

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