Fork of NVIDIA/ansible-role-nvidia-driver with support for Debian
Go to file
nvhans e351331026
Update main.yml
remove static location for epel repo for more flexible 'yum epel repo install' with RHEL/CentOS 7 & 8
2020-11-25 19:45:19 -05:00
defaults Update main.yml 2020-11-25 19:45:19 -05:00
files Add CUDA repo package pin file to files 2020-01-07 23:17:26 +00:00
meta Updates to role metadata 2019-04-30 13:17:34 -07:00
tasks reboot after kernel update 2020-09-11 18:42:45 +00:00
templates Add method for setting driver module parameters 2019-07-15 14:39:29 -07:00
tests Add README to tests/ 2019-04-29 10:12:42 -07:00
vars Update var names; allow state=absent in tasks 2019-04-29 10:08:05 -07:00
.gitignore Add gitignore 2019-04-29 10:08:05 -07:00
LICENSE Add nvidia license 2019-04-25 10:50:56 -07:00
README.md fix table formatting 2020-09-11 19:55:08 +00:00

ansible-role-nvidia-driver

An Ansible role to install the NVIDIA driver from the NVIDIA CUDA repositories.

Requirements

In the process of installing the NVIDIA driver, this role will reboot the nodes where it runs. Because of this, we strongly recommend that you run ansible-playbook from a separate node than the GPU nodes where you are installing the driver.

If you attempt to run Ansible on the same node where you are installing the driver, this role will either:

  • Refuse to proceed with an error like Running reboot with local connection would reboot the control node (if running with the local connection)
  • Reboot the node you're running on, interrupting the playbook execution! (if running the an ssh connection against localhost)

Installing

This role can be installed using Ansible Galaxy:

$ ansible-galaxy install nvidia.nvidia_driver

Role variables

Variable Default value Description
nvidia_driver_package_state "present" Package state for NVIDIA driver packages
nvidia_driver_package_version "" Package version to install. Note that this should match the actual version of the deb or RPM package to be installed.
nvidia_driver_persistence_mode_on yes Whether to enable persistence mode (boolean)
nvidia_driver_skip_reboot no Whether to skip rebooting the node during the install
nvidia_driver_module_file "/etc/modprobe.d/nvidia.conf" Filename to use for NVIDIA driver parameters
nvidia_driver_module_params "" Parameters to pass to the NVIDIA driver

Red Hat specific variables

Variable Default value Description
nvidia_driver_rhel_epel_repo_baseurl "https://download.fedoraproject.org/pub/epel/$releasever/$basearch/" Base URL to use for EPEL repo
nvidia_driver_rhel_epel_repo_gpgkey "https://epel.mirror.constant.com//RPM-GPG-KEY-EPEL-{{ ansible_distribution_major_version }}" GPG key for the EPEL repo
nvidia_driver_rhel_cuda_repo_baseurl "https://developer.download.nvidia.com/compute/cuda/repos/{{ _rhel_repo_dir }}/" Base URL to use for CUDA repo
nvidia_driver_rhel_cuda_repo_gpgkey "https://developer.download.nvidia.com/compute/cuda/repos/{{ _rhel_repo_dir }}/7fa2af80.pub" GPG key for the CUDA repo

Ubuntu specific variables

Variable Default value Description
nvidia_driver_ubuntu_cuda_repo_baseurl "http://developer.download.nvidia.com/compute/cuda/repos/{{ _ubuntu_repo_dir }}" Base URL to use for CUDA repo
nvidia_driver_ubuntu_cuda_repo_gpgkey_url "https://developer.download.nvidia.com/compute/cuda/repos/{{ _ubuntu_repo_dir }}/7fa2af80.pub" GPG key for the CUDA repo
nvidia_driver_ubuntu_cuda_repo_gpgkey_id "7fa2af80" GPG key ID for the CUDA repo

Example playbook

- hosts: gpu_nodes
  roles:
  - nvidia.nvidia_driver

Supported distributions

Currently, this role supports the following Linux distributions:

  • NVIDIA DGX OS 4
  • Ubuntu 18.04 LTS
  • CentOS 7
  • Red Hat Enterprise Linux 7