Description
Storage latency, metadata performance and client behaviour directly drive GPU utilisation, checkpoint time and job runtime, so the slow-job journey needs storage alongside GPU and fabric. VAST exposes Prometheus-compatible metrics endpoints covering cluster, CNode and DNode health, physical and logical capacity, data reduction, per-protocol throughput, IOPS and latency, metadata latency, quotas, VIP pools, client activity and alarms, and sends events and alarms through the logging path. Dataset paths, filenames and user-provided values must never become labels.
Acceptance Criteria
- #1 The construct emits VAST metric families with names and labels from VAST’s exporter documentation at a pinned version, documented in a new signals/ area file
- #2 Storage clients are the GPU fixture nodes, so storage client activity joins to the same node identity
- #3 VAST events and alarms are emitted through the shared syslog mechanic or the documented VAST log path
- #4 Failure modes cover a DNode failure, a latency or metadata-operation storm, capacity near full and a quota limit being hit
- #5 Every metric, label, attribute and log field is sourced from vendor documentation or a capture at a pinned version and recorded with provenance in the named signals/ area file; anything unconfirmed is a PENDING in cantfind.md, never an invented name
- #6 Rates, counts and cardinality in any shipped blueprint are plausible for a real deployment, with the real-world basis stated in a comment; nothing is raised to force emission
Definition of Done
- #1 just check (fmt-check, lint, gen-check, env-check, docs-check, test, race, hygiene, ui-check, compose-check, helm-test, lab-check, signal-fidelity)
- #2 just gen (only if a blueprint field, construct/workload config struct, or a skill under plugins/synthkit/skills/ changed)
- #3 just dump — inventory diffed against signals/
Implementation Notes
loop47: admitted R13 vendor-contract research; implementation waits for fixture/syslog landing
loop47: public VAST evidence establishes CSI driver telemetry only, not required storage-platform exporter/events. No CSI substitution accepted. Resume with pinned platform-exporter source/reference or capture for cluster/CNode/DNode, capacity/client/metadata/quota and alarms. Implementation attempts 0; review-repairs 0; infra retries 0; no rejection.