ScenarioSpec gains an optional "description" field. Listing (both ListLocalScenarioFiles and ListScenarioFilesOnRemovableMedia, via the new scenarioDescription helper) reads it out of each file without requiring full ParseScenarioJSON validation to succeed, so a listing never hides a scenario over an unrelated validation issue. The webui Scenario page now renders Name/Description/Found-on/Run instead of just Name/Found-on — a bare filename rarely tells anyone but the author what a scenario actually does. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
26 lines
803 B
JSON
26 lines
803 B
JSON
{
|
|
"name": "nvbandwidth-all-gpu-power-watch",
|
|
"description": "Full nvbandwidth across all GPUs at once (the crash never reproduces on a single socket alone), with IPMI sensors and GPU power/temp sampled every 2s to check for a power-delivery correlation.",
|
|
"timeout_sec": 1800,
|
|
"jobs": [
|
|
{
|
|
"name": "ipmi-sensors",
|
|
"type": "sampler",
|
|
"interval_sec": 2,
|
|
"cmd": ["ipmitool", "sensor"]
|
|
},
|
|
{
|
|
"name": "gpu-power",
|
|
"type": "sampler",
|
|
"interval_sec": 2,
|
|
"cmd": ["nvidia-smi", "--query-gpu=index,power.draw,temperature.gpu,clocks.sm", "--format=csv"]
|
|
},
|
|
{
|
|
"name": "nvbandwidth-all",
|
|
"type": "command",
|
|
"cmd": ["dcgmi", "diag", "-r", "nvbandwidth", "-i", "{{gpus}}"],
|
|
"gpu_indices": [0, 1, 2, 3, 4, 5]
|
|
}
|
|
]
|
|
}
|