Skip to content

Commit 90362f6

Browse files
[no-relnote] support systemd in running|degraded|maintenance state
Signed-off-by: Carlos Eduardo Arango Gutierrez <[email protected]>
1 parent de6519c commit 90362f6

File tree

2 files changed

+27
-19
lines changed

2 files changed

+27
-19
lines changed

packaging/debian/nvidia-container-toolkit-base.postinst

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,20 @@ case "$1" in
77
/usr/bin/nvidia-ctk --quiet config --config-file=/etc/nvidia-container-runtime/config.toml --in-place
88

99
# Enable nvidia-cdi-refresh services on both install and upgrade
10-
if command -v systemctl >/dev/null 2>&1 \
11-
&& systemctl --quiet is-system-running 2>/dev/null; then
12-
13-
systemctl daemon-reload || echo "Warning: Failed to reload systemd daemon" >&2
14-
systemctl enable --now nvidia-cdi-refresh.path || echo "Warning: Failed to enable nvidia-cdi-refresh.path" >&2
15-
systemctl enable --now nvidia-cdi-refresh.service || echo "Warning: Failed to enable nvidia-cdi-refresh.service" >&2
16-
17-
# Trigger CDI spec regeneration immediately after install/upgrade
18-
echo "Regenerating NVIDIA CDI specification..."
19-
systemctl start nvidia-cdi-refresh.service || echo "Warning: Failed to trigger CDI refresh" >&2
10+
# Support running, degraded, and maintenance systemd states
11+
if command -v systemctl >/dev/null 2>&1; then
12+
SYSTEMD_STATE=$(systemctl is-system-running 2>/dev/null || true)
13+
case "$SYSTEMD_STATE" in
14+
running|degraded|maintenance)
15+
systemctl daemon-reload || echo "Warning: Failed to reload systemd daemon" >&2
16+
systemctl enable --now nvidia-cdi-refresh.path || echo "Warning: Failed to enable nvidia-cdi-refresh.path" >&2
17+
systemctl enable --now nvidia-cdi-refresh.service || echo "Warning: Failed to enable nvidia-cdi-refresh.service" >&2
18+
19+
# Trigger CDI spec regeneration immediately after install/upgrade
20+
echo "Regenerating NVIDIA CDI specification..."
21+
systemctl start nvidia-cdi-refresh.service || echo "Warning: Failed to trigger CDI refresh" >&2
22+
;;
23+
esac
2024
fi
2125
;;
2226

packaging/rpm/SPECS/nvidia-container-toolkit.spec

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -95,15 +95,19 @@ Provides tools such as the NVIDIA Container Runtime and NVIDIA Container Toolkit
9595
%{_bindir}/nvidia-ctk --quiet config --config-file=%{_sysconfdir}/nvidia-container-runtime/config.toml --in-place
9696

9797
# Reload systemd unit cache and enable nvidia-cdi-refresh services on both install and upgrade
98-
if command -v systemctl >/dev/null 2>&1 \
99-
&& systemctl --quiet is-system-running 2>/dev/null; then
100-
systemctl daemon-reload || echo "Warning: Failed to reload systemd daemon" >&2
101-
systemctl enable --now nvidia-cdi-refresh.path || echo "Warning: Failed to enable nvidia-cdi-refresh.path" >&2
102-
systemctl enable --now nvidia-cdi-refresh.service || echo "Warning: Failed to enable nvidia-cdi-refresh.service" >&2
103-
104-
# Trigger CDI spec regeneration immediately after install/upgrade
105-
echo "Regenerating NVIDIA CDI specification..."
106-
systemctl start nvidia-cdi-refresh.service || echo "Warning: Failed to trigger CDI refresh" >&2
98+
if command -v systemctl >/dev/null 2>&1; then
99+
SYSTEMD_STATE=$(systemctl is-system-running 2>/dev/null || true)
100+
case "$SYSTEMD_STATE" in
101+
running|degraded|maintenance)
102+
systemctl daemon-reload || echo "Warning: Failed to reload systemd daemon" >&2
103+
systemctl enable --now nvidia-cdi-refresh.path || echo "Warning: Failed to enable nvidia-cdi-refresh.path" >&2
104+
systemctl enable --now nvidia-cdi-refresh.service || echo "Warning: Failed to enable nvidia-cdi-refresh.service" >&2
105+
106+
# Trigger CDI spec regeneration immediately after install/upgrade
107+
echo "Regenerating NVIDIA CDI specification..."
108+
systemctl start nvidia-cdi-refresh.service || echo "Warning: Failed to trigger CDI refresh" >&2
109+
;;
110+
esac
107111
fi
108112

109113
%files base

0 commit comments

Comments
 (0)