Fix: NVIDIA Container Toolkit Post-script, add Podman (#3085) (#3087)

* Add that missing fi

Signed-off-by: Gil <rockgrub@protonmail.com>

* Fix: Welcome if hell, but should work better; also added Podman

Signed-off-by: Gil <rockgrub@protonmail.com>

* Change: Move config out of systemctl status if statement

Signed-off-by: Gil <rockgrub@protonmail.com>

---------

Signed-off-by: Gil <rockgrub@protonmail.com>
(cherry picked from commit 26021aad2d)

Co-authored-by: Gil <rockgrub@protonmail.com>
This commit is contained in:
Raboneko
2025-01-20 20:32:19 -08:00
committed by GitHub
parent f989404606
commit ae7bac73de
@@ -42,15 +42,29 @@ mkdir -p %{buildroot}%{_sysconfdir}/nvidia-container-runtime
%post
if rpm -q --quiet moby-engine; then
nvidia-ctk runtime configure --runtime=docker
systemctl restart docker || systemctl --user restart docker && nvidia-ctk config --set nvidia-container-cli.no-cgroups --in-place || :
fi
if rpm -q --quiet containerd; then
if 'docker info -f "{{println .SecurityOptions}}" | grep rootless'; then
nvidia-ctk runtime configure --runtime=docker --config="$HOME"/.config/docker/daemon.json
if systemctl --user is-running docker >/dev/null; then
systemctl --user restart docker
fi
nvidia-ctk config --set nvidia-container-cli.no-cgroups --in-place
else nvidia-ctk runtime configure --runtime=docker
if systemctl is-running docker >/dev/null; then
systemctl restart docker
fi
fi
elif rpm -q --quiet containerd; then
nvidia-ctk runtime configure --runtime=containerd
systemctl restart containerd || :
if rpm -q --quiet cri-o; then
if systemctl is-running containerd >/dev/null; then
systemctl restart containerd
fi
elif rpm -q --quiet cri-o; then
nvidia-ctk runtime configure --runtime=crio
systemctl restart crio || :
if systemctl is-running crio >/dev/null; then
systemctl restart crio
fi
elif rpm -q --quiet podman; then
nvidia-ctk cdi generate --output=/etc/cdi/nvidia.yaml
fi
%files