65 lines
2.0 KiB
YAML
65 lines
2.0 KiB
YAML
---
|
|
- name: add epel repo
|
|
yum_repository:
|
|
name: epel
|
|
description: EPEL YUM repo
|
|
baseurl: "{{ nvidia_driver_rhel_epel_repo_baseurl }}"
|
|
gpgkey: "{{ nvidia_driver_rhel_epel_repo_gpgkey }}"
|
|
environment: "{{proxy_env if proxy_env is defined else {}}}"
|
|
|
|
- name: install dependencies
|
|
yum: name=dkms
|
|
|
|
- name: add repo
|
|
yum_repository:
|
|
name: cuda
|
|
description: NVIDIA CUDA YUM Repo
|
|
baseurl: "{{ nvidia_driver_rhel_cuda_repo_baseurl }}"
|
|
gpgkey: "{{ nvidia_driver_rhel_cuda_repo_gpgkey }}"
|
|
environment: "{{proxy_env if proxy_env is defined else {}}}"
|
|
|
|
- name: install driver packages
|
|
yum:
|
|
name: "{{ nvidia_driver_package_version | ternary('nvidia-driver-latest-dkms-'+nvidia_driver_package_version, 'nvidia-driver-latest-dkms') }}"
|
|
state: "{{ nvidia_driver_package_state }}"
|
|
autoremove: "{{ nvidia_driver_package_state == 'absent' }}"
|
|
register: install_driver
|
|
environment: "{{proxy_env if proxy_env is defined else {}}}"
|
|
|
|
# The driver package pulls in the latest kernel-headers package, but not the
|
|
# latest kernel. Check to see if there is a mismatch.
|
|
|
|
- name: check kernel versions
|
|
yum:
|
|
list: kernel
|
|
register: yum_list
|
|
|
|
- name: register installed kernel version
|
|
debug:
|
|
msg: "{{ yum_list.results | selectattr('yumstate', 'equalto', 'installed') | list }}"
|
|
register: kernel_version
|
|
|
|
- name: check kernel-headers versions
|
|
yum:
|
|
list: kernel-headers
|
|
register: yum_list
|
|
|
|
- name: register installed kernel-headers version
|
|
debug:
|
|
msg: "{{ yum_list.results | selectattr('yumstate', 'equalto', 'installed') | list }}"
|
|
register: kernel_headers_version
|
|
|
|
- name: update kernel if headers don't match
|
|
yum:
|
|
name:
|
|
- kernel
|
|
- kernel-tools
|
|
- kernel-tools-libs
|
|
- kernel-devel
|
|
- kernel-debug-devel
|
|
- kernel-headers
|
|
state: latest
|
|
register: kernel_update
|
|
when: kernel_version.msg[0].release != kernel_headers_version.msg[0].release
|
|
environment: "{{proxy_env if proxy_env is defined else {}}}"
|