Implemented in fcd7ea2 (branch feat/telemetry).
Role parsing + tiered layout
parse_role(hostname), checked in this order (first match wins, so campus-border-leaf1 matches border-leaf…
Implemented in 632d146 (branch feat/telemetry).
File structure
Implemented in b03464d (branch feat/telemetry). Dashboard regenerated via scripts/generate_weathermap.py (extended, not hand-edited) → configs/grafana/weathermap-dashboard.json,…
Scope change: VXLAN MAC/VNI dropped from weathermap, moved to a separate panel (tracked as a note in #44)
Decision: instead of chasing the broken vlan join (see previous comment + #44), the…
Fixed: panel crash on load (commit 36c93d9)
TypeError: undefined is not an object (evaluating 'i.anchors[0]') — root cause: the schema research earlier in this issue was done against…
Provisioned and validated with live data — steps 2/3 done (mostly)
Datasource gap resolved: a new Grafana datasource NetLab (uid cfrlusac89se8a) now points at the in-topology Prometheus…
Generation script — done, validated against live IPFabric + gnmic
scripts/generate_weathermap.py (branch feat/telemetry, commit f711210). Writes a full Grafana dashboard-as-code JSON to…
Status encoding — RESOLVED ✅
statusValueMappings: [{value:0,...},{value:1,...}] assumption from the schema research above is confirmed correct. Handled at the gnmic layer, not in the…
Schema research from allamiro/grafana-network-weathermap-ng source (src/types.ts, src/utils.ts, src/WeathermapPanel.tsx) + live test fixtures (`testing/grafana/dashboards/wm-device-health.j…
Containerized Prometheus deployed and validated
- Node:
prometheus(prom/prometheus:v2.55.1), added toevpn-lab.clab.yml - Address:
172.16.0.71:9090(mgmt network), self-contained with…