Merge pull request #64 from guenhter/allow-ubuntu-driver-variants

Allow specifying the variant for the ubuntu drivers
This commit is contained in:
Adam DeConinck 2022-08-16 09:19:36 -06:00 committed by GitHub
commit 8946eefeb5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 43 additions and 25 deletions

1
.gitignore vendored
View File

@ -1 +1,2 @@
*.retry
.idea/

View File

@ -23,24 +23,24 @@ $ 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 |
| `nvidia_driver_branch` | `"515"` | Default driver branch to install |
| 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 |
| `nvidia_driver_branch` | `"515"` | Default driver branch to install |
### Red Hat specific variables
| Variable | Default value | Description |
| -------- | ------------- | ----------- |
| `epel_package` | `"https://dl.fedoraproject.org/pub/epel/epel-release-latest-{{ ansible_distribution_major_version }}.noarch.rpm"` | Package to install to enable EPEL |
| `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 |
| Variable | Default value | Description |
|----------------------------------------|-------------------------------------------------------------------------------------------------------------------|-----------------------------------|
| `epel_package` | `"https://dl.fedoraproject.org/pub/epel/epel-release-latest-{{ ansible_distribution_major_version }}.noarch.rpm"` | Package to install to enable EPEL |
| `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
@ -48,11 +48,12 @@ For Ubuntu installs, you have the choice of installing from the Canonical reposi
By default, the Canonical repositories will be used, and the driver installed will be the headless server driver.
| Variable | Default value | Description |
| -------- | ------------- | ----------- |
| `nvidia_driver_ubuntu_install_from_cuda_repo` | `no` | Flag whether to use the CUDA repo |
| `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_package` | `"cuda-drivers"` | Package name to install from CUDA repo |
| Variable | Default value | Description |
|-----------------------------------------------|------------------------------------------------------------------------------------|------------------------------------------------------|
| `nvidia_driver_ubuntu_install_from_cuda_repo` | `no` | Flag whether to use the CUDA repo |
| `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_package` | `"cuda-drivers"` | Package name to install from CUDA repo |
| `nvidia_driver_ubuntu_packages_suffix` | `"-server"` | The suffix added to the apt packages when installing |
## Example playbook

View File

@ -29,12 +29,14 @@ nvidia_driver_ubuntu_branch: "{{ nvidia_driver_branch }}"
# Determine if we should install from CUDA repo instead of Canonical repos
nvidia_driver_ubuntu_install_from_cuda_repo: no
nvidia_driver_ubuntu_packages_suffix: "-server"
# Installing with Canonical repositories
nvidia_driver_ubuntu_packages:
- "nvidia-headless-{{ nvidia_driver_ubuntu_branch }}-server"
- "nvidia-utils-{{ nvidia_driver_ubuntu_branch }}-server"
- "nvidia-headless-no-dkms-{{ nvidia_driver_ubuntu_branch }}-server"
- "nvidia-kernel-source-{{ nvidia_driver_ubuntu_branch }}-server"
- "nvidia-headless-{{ nvidia_driver_ubuntu_branch }}{{ nvidia_driver_ubuntu_packages_suffix }}"
- "nvidia-utils-{{ nvidia_driver_ubuntu_branch }}{{ nvidia_driver_ubuntu_packages_suffix }}"
- "nvidia-headless-no-dkms-{{ nvidia_driver_ubuntu_branch }}{{ nvidia_driver_ubuntu_packages_suffix }}"
- "nvidia-kernel-source-{{ nvidia_driver_ubuntu_branch }}{{ nvidia_driver_ubuntu_packages_suffix }}"
# Installing with CUDA repositories
old_nvidia_driver_ubuntu_cuda_repo_gpgkey_id: "7fa2af80"

View File

@ -27,7 +27,7 @@ platforms:
- cuda_repo
- ubuntu
- name: ubuntu-2004-canonical
- name: ubuntu-2004-canonical-server
image: geerlingguy/docker-ubuntu2004-ansible
volumes:
- /sys/fs/cgroup:/sys/fs/cgroup:ro
@ -38,6 +38,18 @@ platforms:
- canonical_repo
- ubuntu
- name: ubuntu-2004-canonical-noserver
image: geerlingguy/docker-ubuntu2004-ansible
volumes:
- /sys/fs/cgroup:/sys/fs/cgroup:ro
command: /sbin/init
pre_build_image: true
privileged: true
groups:
- canonical_repo
- canonical_repo_noserver
- ubuntu
- name: ubuntu-2004-cuda
image: geerlingguy/docker-ubuntu2004-ansible
volumes:
@ -97,6 +109,8 @@ provisioner:
nvidia_driver_skip_reboot: true
canonical_repo:
nvidia_driver_ubuntu_install_from_cuda_repo: false
canonical_repo_noserver:
nvidia_driver_ubuntu_packages_suffix: ""
cuda_repo:
nvidia_driver_ubuntu_install_from_cuda_repo: true
verifier:

View File

@ -10,6 +10,6 @@
state: "{{ nvidia_driver_package_state }}"
autoremove: "{{ nvidia_driver_package_state == 'absent' }}"
purge: "{{ nvidia_driver_package_state == 'absent' }}"
with_items: "{{ nvidia_driver_ubuntu_packages }}"
loop: "{{ nvidia_driver_ubuntu_packages }}"
register: install_driver
environment: "{{proxy_env if proxy_env is defined else {}}}"