Allow specifying the variant for the ubuntu drivers

Signed-off-by: guenthgr <guenther.grill@sensonic.com>
This commit is contained in:
guenthgr 2022-08-16 15:09:07 +02:00
parent 35a769dd63
commit 7b9fb62784
5 changed files with 43 additions and 25 deletions

1
.gitignore vendored
View File

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

View File

@ -24,7 +24,7 @@ $ ansible-galaxy install nvidia.nvidia_driver
| 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) |
@ -37,7 +37,7 @@ $ ansible-galaxy install nvidia.nvidia_driver
| 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 |
@ -49,10 +49,11 @@ 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 |
| `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 {}}}"