원클릭으로
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