npx skills add nvidia/skills --skill dynamo-troubleshoot
promptingcompany/nv-skills
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.
Installation
npx skills add promptingcompany/nv-skills --skill dynamo-troubleshoot
Similar popular skills
Related neighbors and high-traction skills in the same topics — useful to compare before installing.
Diagnose failed or unhealthy Dynamo deployments. Use when pods, model-cache jobs, PVCs, workers…
1.8K installsSystematic Power BI performance troubleshooting prompt for identifying, diagnosing, and resolvi…
8.9K installsTroubleshoot and resolve common issues with the ClickHouse Node.js client (@clickhouse/client).…
6.8K installsTroubleshoots failing applications by discovering and analyzing CloudWatch log groups to identi…
4.8K installsDiagnoses and resolves Amazon S3 Files issues including mount failures, permission errors, sync…
4.7K installsDiagnoses and resolves Amazon EFS issues including mount failures, NFS timeouts, permission err…
4.3K installsAlso in this package
Other skills from promptingcompany/nv-skills · top by installs.
npx skills add promptingcompany/nv-skills
More details
Agent compatibility
Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.
Also listed on
Alternate registries and mirrors of this skill.
Repository health
main
Skill metadata
Parsed from SKILL.md frontmatter.
More metadata
- author
- Dan Gil <[email protected]>
- tags
- ["dynamo","kubernetes","troubleshooting","day-2"]
Package contents
Files included with this skill beyond the listing page.
-
skill md
SKILL.md5,130 B -
docs
SUMMARY.md248 B
History
- First seen on skills.sh
- First recorded snapshot · 40 installs
SKILL.md
Dynamo Troubleshoot
<!-- SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. SPDX-License-Identifier: CC-BY-4.0 -->
Purpose
Turn a Dynamo failure into a clear problem class, strongest signal, and next action. Start with read-only evidence, avoid secrets, and fix one layer at a time.
Prerequisites
- Python 3.10+ on the operator machine.
kubectlconfigured with read access to the target namespace.- Permission to read pods, events, jobs, PVCs, and
DynamoGraphDeploymentresources (NOT secrets). - Network reachability to the cluster API server.
Instructions
1. Collect A Read-Only Bundle
Run:
python3 scripts/collect_dynamo_debug_bundle.py \
--namespace "${NAMESPACE}"
If the user names a deployment, include it:
python3 scripts/collect_dynamo_debug_bundle.py \
--namespace "${NAMESPACE}" \
--deployment-name <deployment-name>
Do not collect Kubernetes secrets. Do not print Hugging Face tokens.
2. Classify The Failure
Use references/failure-decision-tree.md and classify into one primary bucket:
- cluster/platform
- namespace/secret
- model cache/PVC/download
- image pull/runtime image
- GPU scheduling/resources
- operator/DynamoGraphDeployment reconciliation
- frontend/router
- worker/backend
- endpoint/API
- benchmark/perf job
3. Debug Top Down
Check in this order:
- namespace, storage class, GPU nodes, and HF secret existence
- PVC and model-download job
DynamoGraphDeploymentstatus and events- pod status,
describe pod, and container logs - frontend service and port-forward
/v1/models/v1/chat/completions- benchmark job only after endpoint smoke test passes
4. Fix One Layer At A Time
Prefer the smallest reversible change:
- create missing namespace or HF secret
- patch
storageClassName - patch image tag or image pull secret
- reduce GPU request only if the recipe can still be valid
- switch KV router to approximate mode only if workers do not publish events
- restart failed jobs after fixing the underlying config
After each fix, rerun the relevant readiness check before moving deeper.
Available Scripts
| Script | Purpose | Arguments |
|---|---|---|
scripts/collectdynamodebug_bundle.py |
Collect a read-only debug bundle (pods, events, jobs, PVCs, CR status) | --namespace, --deployment-name, --output-dir |
Invoke via the agentskills.io run_script() protocol:
run_script("scripts/collect_dynamo_debug_bundle.py", args=["--namespace", "dynamo-demo"])
Examples
Collect everything in a namespace for triage:
python3 scripts/collect_dynamo_debug_bundle.py --namespace dynamo-demo
Scope to a single failing deployment:
python3 scripts/collect_dynamo_debug_bundle.py \
--namespace dynamo-demo \
--deployment-name qwen-vllm-disagg
Equivalent through the agent protocol:
run_script("scripts/collect_dynamo_debug_bundle.py", args=["--namespace", "dynamo-demo", "--deployment-name", "qwen-vllm-disagg"])
Output Contract
Return:
- problem class
- evidence checked
- strongest signal
- likely cause
- exact next command or patch
- what was ruled out
- whether it is safe to continue deployment or benchmarking
Limitations
- Read-only. Never mutates the cluster; remediation commands are returned, not executed.
- Will not collect secrets or print Hugging Face tokens; some failure modes (auth) may need user-side inspection.
- Bundle size grows with deployment size; on very large namespaces, scope with
--deployment-name. - Does not validate disagg transport — use
dynamo-interconnect-checkfor that.
Troubleshooting
| Symptom | Likely cause | Next step |
|---|---|---|
kubectl returns Forbidden on events/pods |
Service account lacks read RBAC | Ask operator for read-only role binding on the namespace |
Bundle missing DynamoGraphDeployment status |
Operator not installed or different namespace | Verify dynamo-platform operator is installed and watching the namespace |
Model-download job in Pending |
PVC unbound or HF secret missing | Fix PVC binding or create the named HF secret, then rerun the job |
Worker pods CrashLoopBackOff |
Image/runtime mismatch or GPU not available | Inspect container logs; check nvidia.com/gpu allocatable on nodes |
Benchmark
See BENCHMARK.md for the NVCARPS-EVAL performance report (auto-generated by the NVSkills CI pipeline). To refresh, re-run /nvskills-ci on an upstream PR touching this skill.
References
- Read
references/failure-decision-tree.mdfor bucket-specific checks. - Use
scripts/collectdynamodebug_bundle.pyfor read-only bundle collection.