hashicorp / hashicorp/nomad-device-nvidia
nomad blocks rmmod of nvidia.ko
- Dominant language
- Go
- Stars
- 35
- Forks
- 18
- Avg merge
- 1d 15h
- Merged PRs (30d)
- 8
Description
### Nomad version
Nomad v1.1.3 (8c0c8140997329136971e66e4c2337dfcf932692)
### Operating system and Environment details
Ubuntu 20.04.2 LTS, single cluster, nomad running as user (for testing)
### Issue
nomad agent -config=full.nomad
with:
```
plugin "nvidia-gpu" {
config {
enabled = false
}
}
```
### Reproduction steps
rmmod nvidia - works
modprobe nvidia - works
nomad agent &
rmmod nvidia - no longer works.
According to nvidia-smi no processes are using the nvidia module, but it's definitely the nomad agent process that's blocking it - even with nvidia-gpu off.
#### Expected Result
With nvidia-gpu off I should be able to unload the nvidia module.
#### Actual Result
nomad blocks rmmod
#### Extra info:
I've tried running with ignored_gpu_ids instead, and then get this message:
```
2021-08-01T11:39:59.532+0200 [INFO] agent: detected plugin: name=nvidia-gpu type=device plugin_version=0.1.0
2021-08-01T11:40:05.698+0200 [INFO] client.device_mgr: fingerprinting failed: plugin is not enabled: plugin=nvidia-gpu
```
So presumably disabling the plugin does work?
The nvidia module is in general allocated to qemu, but I haven't moved any qemu work into nomad yet. This blocks me from testing nomad, as I now can't run my other containers. I've tried turning off both qemu and nvidia-gpu, but it still locks access to the nvidia.ko module.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reproducing the issue with `nomad agent -config=full.nomad`, the nvidia-gpu plugin disabled, and the `rmmod nvidia` and `modprobe nvidia` commands. Trace the nvidia-gpu device plugin lifecycle and determine why the Nomad agent retains the module; done means `rmmod nvidia` succeeds when the plugin is disabled and the reported reproduction no longer occurs.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, linux, ubuntu
- Domain
- operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100