Files
2026-07-12 10:17:17 -04:00

66 lines
1.7 KiB
Bash

#!/bin/bash
# Verify Cockpit NVIDIA GPU dashboard health
# Returns non-zero exit code if anything is wrong.
FAIL=0
echo "=== Checking systemd service ==="
if systemctl is-active --quiet nvidia-gpu-monitor; then
echo " [PASS] nvidia-gpu-monitor service is running"
else
echo " [FAIL] nvidia-gpu-monitor service is NOT running"
FAIL=1
fi
echo ""
echo "=== Checking data files ==="
for f in /run/nvidia-gpu.txt /run/nvidia-processes.txt /run/nvidia-cuda.txt; do
if [ -f "$f" ]; then
CONTENT=$(head -1 "$f")
echo " [PASS] $f: $CONTENT"
else
echo " [FAIL] $f does not exist"
FAIL=1
fi
done
echo ""
echo "=== Checking Cockpit package ==="
MANIFEST="/usr/share/cockpit/nvidia-gpu/manifest.json"
INDEX="/usr/share/cockpit/nvidia-gpu/index.html"
if [ -f "$MANIFEST" ] && [ -f "$INDEX" ]; then
echo " [PASS] Cockpit nvidia-gpu package installed"
echo " Manifest: $(wc -c < "$MANIFEST") bytes"
echo " Index: $(wc -c < "$INDEX") bytes"
else
echo " [FAIL] Cockpit package files missing"
FAIL=1
fi
echo ""
echo "=== Checking GPU accessibility ==="
GPU_LINE=$(nvidia-smi --query-gpu=name --format=csv,noheader 2>/dev/null | head -1)
if [ -n "$GPU_LINE" ]; then
echo " [PASS] GPU detected: $GPU_LINE"
else
echo " [FAIL] nvidia-smi not working"
FAIL=1
fi
echo ""
echo "=== Cockpit service ==="
if systemctl is-active --quiet cockpit; then
echo " [PASS] Cockpit running on port 9090"
else
echo " [FAIL] Cockpit is not running"
FAIL=1
fi
echo ""
if [ "$FAIL" -eq 0 ]; then
echo "All checks passed. GPU dashboard should be functional."
else
echo "Some checks FAILED. See above."
fi
exit $FAIL