Skip to content

[Bug]: Deadlock with DRA on node reboot #213

Description

@just1not2

Describe the bug
There is a circular dependency when using DRA on node reboots when running uninstall in the GPU driver init containers:

  • the DRA plugin requires GPU drivers (and/or the toolkit, which depends on it):
[dra plugin logs]
2026-07-20T10:42:10Z  /driver-root (/run/nvidia/driver on host): nvidia-smi: not found, libnvidia-ml.so.1: not found, current contents: [lib].
  • during a reboot, the GPU driver container restarts and its k8s-driver-manager init container tries the uninstall that deletes all GPU consumers
[gpu-driver-container logs]
time=2026-07-20T10:41:53Z level=info msg=Identifying GPU pods to delete
  • to delete a GPU consumer that uses DRA, it needs the DRA plugin to be registered (CDI/MIG cleanup); if the latter is not running, the pod stays in Terminating forever
[pod events]
  Warning  FailedPrepareDynamicResources  26s (x18 over 21m)  kubelet             Failed to prepare dynamic resources: prepare dynamic resources: DRA driver gpu.nvidia.com is not registered

Note that this is not a DRA issue, on kubelet side this behaviour is intentional: kubernetes/kubernetes#129402 (comment)

To Reproduce

  • run any workload that request a GPU on a DRA-enabled GPU infrastructure
  • reboot the associated node
  • check that both gpu-driver pod is pending in its k8s-driver-manager phase

Expected behavior
The k8s-driver-manager should support this use case and not cause a deadlock

Environment (please provide the following information):

  • k8s-driver-manager source (Commit SHA or image digest): main
  • Host OS: all
  • Kernel Version: all
  • NVIDIA Driver Version: all
  • Container Runtime Version: all
  • CPU Architecture: all
  • GPU Model(s): all

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

bugIssue/PR to expose/discuss/fix a bug

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions