diff --git a/roles/nvidia/tasks/main.yml b/roles/nvidia/tasks/main.yml index 144540c50e..2dff0247c0 100644 --- a/roles/nvidia/tasks/main.yml +++ b/roles/nvidia/tasks/main.yml @@ -37,8 +37,13 @@ fi register: lspci_resp +- name: Fail if no GPU was detected + ansible.builtin.fail: + msg: "No Nvidia GPU could be detected." + when: not ('NVIDIA' in lspci_resp.stdout) + - name: Nvidia Setup block - when: (ansible_distribution == 'Ubuntu') and ('NVIDIA' in lspci_resp.stdout) + when: ('NVIDIA' in lspci_resp.stdout) block: - name: Fetch NVIDIA driver patch script ansible.builtin.uri: @@ -85,7 +90,7 @@ else 'not installed' }}" - name: Nvidia Purge Drivers Tasks - when: (nvidia_installed_driver_version != nvidia_driver_version) and (nvidia_installed_driver_version | length > 0) and ('nvidia' in ansible_run_tags) and (nvidia_driver_version | lower != 'ignore') + when: ('nvidia-purge' in ansible_run_tags) or ((nvidia_installed_driver_version != nvidia_driver_version) and (nvidia_installed_driver_version | length > 0) and ('nvidia' in ansible_run_tags) and (nvidia_driver_version | lower != 'ignore')) block: - name: Purge Nvidia APT packages ansible.builtin.shell: "dpkg --force-depends -P $(dpkg -l | grep nvidia | awk '{print $2}')" diff --git a/saltbox.yml b/saltbox.yml index 4fd3594f5b..bbd6e7efbe 100644 --- a/saltbox.yml +++ b/saltbox.yml @@ -30,7 +30,7 @@ - { role: mount_templates, tags: ['core', 'saltbox', 'mediabox', 'feederbox', 'mounts', 'mount-templates'] } - { role: remote, tags: ['core', 'saltbox', 'mediabox', 'feederbox', 'mounts'] } - { role: unionfs, tags: ['core', 'saltbox', 'mediabox', 'feederbox', 'mounts'] } - - { role: nvidia, tags: ['core', 'saltbox', 'mediabox', 'feederbox', 'docker', 'nvidia'], when: ['use_nvidia'] } + - { role: nvidia, tags: ['core', 'saltbox', 'mediabox', 'feederbox', 'docker', 'nvidia', 'nvidia-purge'], when: ['use_nvidia'] } - { role: docker, tags: ['core', 'saltbox', 'mediabox', 'feederbox', 'docker', 'docker-filesystem-resize'] } - { role: scripts, tags: ['core', 'saltbox', 'mediabox', 'feederbox', 'scripts'] } - { role: sandbox, tags: ['core', 'saltbox', 'mediabox', 'feederbox', 'sandbox'] }