diff --git a/bin/g5k-setup-nvidia-docker b/bin/g5k-setup-nvidia-docker index 5ecbc2760e82166f309812414b0ef5d6a0478e56..46250f569d3f33b0e949d4037ffd6651ce0c7d28 100755 --- a/bin/g5k-setup-nvidia-docker +++ b/bin/g5k-setup-nvidia-docker @@ -28,9 +28,20 @@ def main # (probably because it exists on ubuntu) ret &= sh('sudo ln -s /sbin/ldconfig /sbin/ldconfig.real').first else - ret &= sh('. /etc/os-release; curl -s -L https://nvidia.github.io/nvidia-docker/$ID$VERSION_ID/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list').first + distrib_codename = `lsb_release -cs`.strip + # Workaround: use Debian 10 image if Debian 11 host (cf. Bug #13532) + if distrib_codename == 'bullseye' + ret &= sh('curl -s -L https://nvidia.github.io/nvidia-docker/debian10/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list').first + puts "Warning: As Nvidia Docker Debian 11 image is not currently released, Nvidia Docker Debian 10 image is used !" + else + ret &= sh('. /etc/os-release; curl -s -L https://nvidia.github.io/nvidia-docker/$ID$VERSION_ID/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list').first + end end ret &= sh('sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit').first + # Workaround if Debian 11 host (cf. Bug #13532) + if distrib_codename == 'bullseye' + ret &= sh('sudo sed -i \'s|^#ldconfig.*|ldconfig = "/sbin/ldconfig"|\' /etc/nvidia-container-runtime/config.toml').first + end ret &= sh('sudo systemctl restart docker').first ret &= sh('sudo chmod o+rw /var/run/docker.sock').first if !options[:install] ret