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 *.retry
.idea/

View File

@ -24,7 +24,7 @@ $ ansible-galaxy install nvidia.nvidia_driver
| Variable | Default value | Description | | Variable | Default value | Description |
| -------- | ------------- | ----------- | |-------------------------------------|---------------------------------|-----------------------------------------------------------------------------------------------------------------------|
| `nvidia_driver_package_state` | `"present"` | Package state for NVIDIA driver packages | | `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_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_persistence_mode_on` | `yes` | Whether to enable persistence mode (boolean) |
@ -37,7 +37,7 @@ $ ansible-galaxy install nvidia.nvidia_driver
| Variable | Default value | Description | | 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 | | `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_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 | | `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. By default, the Canonical repositories will be used, and the driver installed will be the headless server driver.
| Variable | Default value | Description | | Variable | Default value | Description |
| -------- | ------------- | ----------- | |-----------------------------------------------|------------------------------------------------------------------------------------|------------------------------------------------------|
| `nvidia_driver_ubuntu_install_from_cuda_repo` | `no` | Flag whether to use the CUDA repo | | `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_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_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 ## 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 # Determine if we should install from CUDA repo instead of Canonical repos
nvidia_driver_ubuntu_install_from_cuda_repo: no nvidia_driver_ubuntu_install_from_cuda_repo: no
nvidia_driver_ubuntu_packages_suffix: "-server"
# Installing with Canonical repositories # Installing with Canonical repositories
nvidia_driver_ubuntu_packages: nvidia_driver_ubuntu_packages:
- "nvidia-headless-{{ nvidia_driver_ubuntu_branch }}-server" - "nvidia-headless-{{ nvidia_driver_ubuntu_branch }}{{ nvidia_driver_ubuntu_packages_suffix }}"
- "nvidia-utils-{{ nvidia_driver_ubuntu_branch }}-server" - "nvidia-utils-{{ nvidia_driver_ubuntu_branch }}{{ nvidia_driver_ubuntu_packages_suffix }}"
- "nvidia-headless-no-dkms-{{ nvidia_driver_ubuntu_branch }}-server" - "nvidia-headless-no-dkms-{{ nvidia_driver_ubuntu_branch }}{{ nvidia_driver_ubuntu_packages_suffix }}"
- "nvidia-kernel-source-{{ nvidia_driver_ubuntu_branch }}-server" - "nvidia-kernel-source-{{ nvidia_driver_ubuntu_branch }}{{ nvidia_driver_ubuntu_packages_suffix }}"
# Installing with CUDA repositories # Installing with CUDA repositories
old_nvidia_driver_ubuntu_cuda_repo_gpgkey_id: "7fa2af80" old_nvidia_driver_ubuntu_cuda_repo_gpgkey_id: "7fa2af80"

View File

@ -27,7 +27,7 @@ platforms:
- cuda_repo - cuda_repo
- ubuntu - ubuntu
- name: ubuntu-2004-canonical - name: ubuntu-2004-canonical-server
image: geerlingguy/docker-ubuntu2004-ansible image: geerlingguy/docker-ubuntu2004-ansible
volumes: volumes:
- /sys/fs/cgroup:/sys/fs/cgroup:ro - /sys/fs/cgroup:/sys/fs/cgroup:ro
@ -38,6 +38,18 @@ platforms:
- canonical_repo - canonical_repo
- ubuntu - 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 - name: ubuntu-2004-cuda
image: geerlingguy/docker-ubuntu2004-ansible image: geerlingguy/docker-ubuntu2004-ansible
volumes: volumes:
@ -97,6 +109,8 @@ provisioner:
nvidia_driver_skip_reboot: true nvidia_driver_skip_reboot: true
canonical_repo: canonical_repo:
nvidia_driver_ubuntu_install_from_cuda_repo: false nvidia_driver_ubuntu_install_from_cuda_repo: false
canonical_repo_noserver:
nvidia_driver_ubuntu_packages_suffix: ""
cuda_repo: cuda_repo:
nvidia_driver_ubuntu_install_from_cuda_repo: true nvidia_driver_ubuntu_install_from_cuda_repo: true
verifier: verifier:

View File

@ -10,6 +10,6 @@
state: "{{ nvidia_driver_package_state }}" state: "{{ nvidia_driver_package_state }}"
autoremove: "{{ nvidia_driver_package_state == 'absent' }}" autoremove: "{{ nvidia_driver_package_state == 'absent' }}"
purge: "{{ 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 register: install_driver
environment: "{{proxy_env if proxy_env is defined else {}}}" environment: "{{proxy_env if proxy_env is defined else {}}}"