custom host/driver/dev roots change
Add custom host, driver, and dev root change.
Use Cases:
- hostDriver= "false", hostRoot = "/", driver Root = "/run/nvidia/driver", dev Root = "/run/nvidia/driver/dev"
- hostDriver= "true", hostRoot = "/", driver Root(system based, e.g linux) = "/usr/bin", dev Root = "/"
- hostDriver= "true", hostRoot = "/", driver Root = "/home/kubernetes/bin/nvidia", dev Root = "/"
- hostDriver= "true", hostRoot = "/custom-root", driver Root(system based, e.g linux) = "/custom-root/usr/bin", dev Root = "/custom-root/dev"
Changes for detail:
- Add custom configuration for host, driver, dev roots through helm
- In container toolkit, introduce the dev root based on https://github.com/NVIDIA/nvidia-container-toolkit/issues/209, https://github.com/NVIDIA/nvidia-container-toolkit/pull/360
- In device plugin, configure extra the NVIDIA_CTK_PATH, LD_LIBRARY_PATH, PATH for custom driver root cases
- In validator, introduce checkChrootForDriverRoot to validation a driver can be chroot or not based on
dev
dir
Issues mentioned in github: https://github.com/NVIDIA/gpu-operator/issues/659