Skip to content

Fix GPU Nodes dashboard host selection across exporter addresses - #1431

Open
dholt wants to merge 1 commit into
masterfrom
dholt/gpu-dashboard-host-var
Open

dholt wants to merge 1 commit into
masterfrom
dholt/gpu-dashboard-host-var

Conversation

@dholt

@dholt dholt commented Oct 19, 2026

Copy link
Copy Markdown
Contributor

Summary

Fix empty host panels in the GPU Nodes dashboard when Kubernetes GPU and node-exporter metrics use different scrape addresses.

  • Select servers using the GPU scrape's Kubernetes node label, then resolve GPU and node-exporter instances independently.
  • Preserve Slurm inventory-hostname and IP-address fallbacks, including inventories whose names differ from the OS hostname.
  • Add offline dashboard JSON and PromQL checks covering separate exporter IPs, custom Kubernetes ports, and Slurm hostname/IP inventories.

Validation

  • python3 -m unittest discover -s tests/monitoring -v with Prometheus promtool 3.5.0: 3 tests passed, covering four metric layouts and unrelated-node isolation. All panel expressions are parsed by Prometheus.
  • python3 -m unittest discover -s scripts/validation/tests: 131 tests passed.
  • git diff --check: passed.

Notes

These are local JSON/query checks, not live Grafana confirmation. Kubernetes relies on the existing kubernetes_node GPU scrape label and node_uname_info.nodename for node identity. Existing dashboard imports or ConfigMaps need the updated JSON; the monitoring install script does not replace an existing dashboard ConfigMap.

Use the Kubernetes node label for GPU Nodes server selection, resolving
node-exporter through node_uname_info. Preserve inventory-address fallbacks
for Slurm and check the dashboard queries with offline Prometheus fixtures.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
@dholt
dholt requested a review from michael-balint October 19, 2026 22:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant