dynamo-troubleshoot
Diagnose failed or unhealthy Dynamo deployments. Use when pods, model-cache jobs, PVCs, workers, frontend/router health, endpoints, or benchmark jobs fail; use recipe-runner/router-starter before this for normal bring-up.
Security Assessment
About dynamo-troubleshoot
Dynamo Troubleshoot turns a failed or unhealthy NVIDIA Dynamo Kubernetes deployment into a clear problem class, the strongest diagnostic signal, and a concrete next action. It is the day-2 companion to the recipe-runner and router-starter bring-up skills, focused on evidence-first triage: start with read-only data, avoid secrets, and fix one layer at a time.
The workflow collects a read-only debug bundle via a bundled collect_dynamo_debug_bundle.py script (pods, events, jobs, PVCs, and DynamoGraphDeployment custom-resource status), classifies the failure into one primary bucket (cluster/platform, namespace/secret, model cache/PVC/download, image pull, GPU scheduling, operator reconciliation, frontend/router, worker/backend, endpoint/API, or benchmark job), then debugs top-down from namespace and storage down through PVCs, custom-resource status, pod logs, the frontend service, and finally the API endpoints. Remediation is deliberately conservative: it prefers the smallest reversible change and returns commands or patches rather than executing them. The skill is emphatic about safety, instructing that it must not collect Kubernetes secrets and must not print Hugging Face tokens, and it advertises itself as read-only, never mutating the cluster.
Target users are ML infrastructure engineers and operators diagnosing Dynamo deployment failures with read-only cluster access (pods, events, jobs, PVCs, and CR status, explicitly not secrets). Its pre-publication benchmark returned an overall FAIL verdict with medium findings largely about undeclared tool permissions and the self-declared read-only claim, but the documented behavior itself is diagnostic and non-destructive, collecting evidence and proposing fixes for a human to apply.
FAQ
Does this skill change my cluster?
No. It advertises itself as read-only and never mutating the cluster; remediation commands and patches are returned for a human to run, not executed automatically.
What does the debug bundle contain?
A read-only collection of pods, events, jobs, PVCs, and DynamoGraphDeployment custom-resource status, gathered by the bundled collect_dynamo_debug_bundle.py script. It can be scoped to a single deployment with --deployment-name.
Does it read secrets or tokens?
No. It explicitly instructs not collecting Kubernetes secrets and not printing Hugging Face tokens, which means some auth-related failure modes may need separate user-side inspection.
What access do I need?
Python 3.10+, kubectl with read access to the target namespace, permission to read pods, events, jobs, PVCs, and DynamoGraphDeployment resources (not secrets), and network reachability to the cluster API server.
What are its limits?
It does not validate disagg transport (that is a separate interconnect-check skill), bundle size grows with deployment size, and some auth failures cannot be fully diagnosed because it will not read secrets.
Install dynamo-troubleshoot
Quick Setup:
- Copy the skill folder to
.claude/skills/ - Claude will automatically detect and use the skill
Repository
nvidia/skills