ワンクリックで
nightlypods
Diagnose pod readiness timeout failures in nightly E2E runs
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Diagnose pod readiness timeout failures in nightly E2E runs
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Generate weekly nightly E2E trend report with failure patterns and success rates
Analyze nightly E2E job failures across llm-d repos. Smart router to sub-skills based on failure type.
Diagnose deployment failures in nightly E2E runs (helmfile, helm, install.sh)
Diagnose GPU contention failures in nightly E2E runs
Diagnose infrastructure and authentication failures in nightly E2E runs (GCP, AWS, runner issues)
Full root cause analysis for nightly E2E failures that don't fit simple categories
| name | nightly:pods |
| description | Diagnose pod readiness timeout failures in nightly E2E runs |
Diagnose failures where deployment succeeded but pods didn't become ready in time.
export LOG_DIR=/tmp/llm-d/nightly-rca
mkdir -p $LOG_DIR
Wait for pods to be ready step fails with:
::error::Pods in <namespace> did not become ready within 30m
Every nightly run (even failures) uploads pod logs as an artifact:
RUN_ID=<run-id>
REPO=llm-d/llm-d
GUIDE=<guide-name>
PLATFORM=<ocp|gke|cks>
unset GITHUB_TOKEN && gh run download "$RUN_ID" --repo "$REPO" \
-n "nightly-pod-logs-${GUIDE}-${PLATFORM}" \
-D $LOG_DIR/pod-logs-$RUN_ID/ 2>/dev/null
# List what we got
ls -la $LOG_DIR/pod-logs-$RUN_ID/
# Find non-running pods from describe files
grep -l "Status:.*Pending\|Status:.*Failed\|CrashLoopBackOff\|ImagePullBackOff\|Error\|OOMKilled" \
$LOG_DIR/pod-logs-$RUN_ID/*-describe.log 2>/dev/null
grep -rE "ImagePullBackOff|ErrImagePull|401.*Unauthorized|manifest unknown" \
$LOG_DIR/pod-logs-$RUN_ID/*-describe.log 2>/dev/null
Causes:
Check: Download image-metadata.json artifact:
unset GITHUB_TOKEN && gh run download "$RUN_ID" --repo "$REPO" \
-n "image-metadata" -D $LOG_DIR/image-meta-$RUN_ID/ 2>/dev/null
cat $LOG_DIR/image-meta-$RUN_ID/image-metadata.json | jq .
# Get logs from crashing pods
for log in $LOG_DIR/pod-logs-$RUN_ID/*.log; do
if grep -q "Error\|panic\|FATAL\|Traceback\|OOMKilled" "$log" 2>/dev/null; then
echo "=== $(basename $log) ==="
tail -30 "$log"
fi
done
Causes:
grep -rE "Unschedulable|Insufficient.*gpu\|cpu\|memory|didn't match Pod's node" \
$LOG_DIR/pod-logs-$RUN_ID/*-describe.log 2>/dev/null
Causes:
nightly:gpu)grep -rE "Init:.*0/[0-9]|PodInitializing" \
$LOG_DIR/pod-logs-$RUN_ID/*-describe.log 2>/dev/null
Causes:
vLLM pods may be Running but not Ready (readiness probe failing):
# Check for model loading in vLLM logs
grep -rE "Loading model|Downloading|Loading.*weights|torch.distributed" \
$LOG_DIR/pod-logs-$RUN_ID/ms-*.log 2>/dev/null | tail -20
Causes:
Fix: Increase pod_wait_timeout in caller workflow.
| Category | Transient? | Action |
|---|---|---|
| ImagePullBackOff | Maybe | Check if image exists; if yes, rerun |
| CrashLoop (OOM) | No | Reduce model size or increase GPU count |
| CrashLoop (config) | No | Fix config in guide values |
| Pending (GPU) | Maybe | See nightly:gpu |
| Pending (PVC) | Maybe | Check StorageClass on platform |
| Model loading timeout | Maybe | Increase pod_wait_timeout; add model caching |
unset GITHUB_TOKEN && gh run rerun "$RUN_ID" --repo "$REPO"
nightly — Parent routernightly:gpu — GPU availability issuesnightly:deploy — If deploy itself failed