@@ -212,43 +212,28 @@ jobs:
212212 - name : Collect K8s diagnostics on failure
213213 if : failure()
214214 run : |
215- echo "=== Namespaces ==="
216- kubectl get namespaces 2 >&1 || true
215+ # Best-effort diagnostics — never fail the job
216+ run_diag() { echo "--- $1 ---"; eval "$2" 2 >&1 || true; echo; }
217217
218- for ns in $(kubectl get namespaces -o jsonpath='{.items[*].metadata.name}' | tr ' ' '\n' | grep -E '^vector-'); do
219- echo ""
218+ run_diag "Namespaces" "kubectl get namespaces"
219+
220+ for ns in $(kubectl get namespaces -o jsonpath='{.items[*].metadata.name}' 2>/dev/null | tr ' ' '\n' | grep -E '^vector-'); do
220221 echo "=========================================="
221222 echo "=== Namespace: $ns ==="
222223 echo "=========================================="
224+ run_diag "Pods" "kubectl get pods -n $ns -o wide"
225+ run_diag "Pod descriptions" "kubectl describe pods -n $ns"
226+ run_diag "Events" "kubectl get events -n $ns --sort-by=.lastTimestamp"
227+ run_diag "ConfigMaps" "kubectl get configmaps -n $ns -o yaml"
223228
224- echo "--- Pods ---"
225- kubectl get pods -n "$ns" -o wide 2>&1 || true
226-
227- echo "--- Pod descriptions ---"
228- kubectl describe pods -n "$ns" 2>&1 || true
229-
230- echo "--- Container logs ---"
231229 for pod in $(kubectl get pods -n "$ns" -o jsonpath='{.items[*].metadata.name}' 2>/dev/null); do
232- echo "--- Logs: $pod ---"
233- kubectl logs -n "$ns" "$pod" --tail=100 2>&1 || true
234- echo "--- Previous logs: $pod ---"
235- kubectl logs -n "$ns" "$pod" --previous --tail=50 2>&1 || true
230+ run_diag "Logs: $pod" "kubectl logs -n $ns $pod --tail=100"
231+ run_diag "Previous logs: $pod" "kubectl logs -n $ns $pod --previous --tail=50"
236232 done
237-
238- echo "--- Events ---"
239- kubectl get events -n "$ns" --sort-by=.lastTimestamp 2>&1 || true
240-
241- echo "--- ConfigMaps ---"
242- kubectl get configmaps -n "$ns" -o yaml 2>&1 || true
243233 done
244234
245- echo ""
246- echo "=== Node resources ==="
247- kubectl describe nodes 2>&1 | grep -A20 "Allocated resources" || true
248-
249- echo ""
250- echo "=== Minikube logs (last 100 lines) ==="
251- minikube logs --length=100 2>&1 || true
235+ run_diag "Node resources" "kubectl describe nodes | grep -A20 'Allocated resources'"
236+ run_diag "Minikube logs" "minikube logs --length=100"
252237
253238 final-result :
254239 name : K8s E2E Suite
0 commit comments