Compare commits

...

3 Commits

Author SHA1 Message Date
Chris Farhood 6c6cfc88f4 fix(e2e): add cluster diagnostics to deploy step for faster triage
Add pre-deployment node/namespace/resource diagnostics and wrap
kubectl apply in explicit error handling with cluster state dump on
failure. This gives us actionable output in the GitHub Actions logs
when the Deploy E2E step fails, instead of a silent exit code.

PRI-956

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-06 18:30:43 +00:00
Chris Farhood 540f0a7890 fix e2e: add missing plugin-name input to plugin-e2e workflow
The rook plugin E2E workflow was calling the reusable plugin-e2e workflow
without the required plugin-name input. This caused the ConfigMap naming
and mount path to fall back to the headlamp-kube-vip defaults, breaking
E2E runs for the rook plugin.

Fix: pass plugin-name: rook to the reusable workflow.
2026-05-06 12:36:08 +00:00
Chris Farhood 3f93e71f28 fix(e2e): reference @main workflow after .github merge
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-05 17:43:54 +00:00
2 changed files with 21 additions and 3 deletions
+2 -1
View File
@@ -16,8 +16,9 @@ concurrency:
jobs:
e2e:
uses: privilegedescalation/.github/.github/workflows/plugin-e2e.yaml@hugh/add-pnpm-support-plugin-e2e
uses: privilegedescalation/.github/.github/workflows/plugin-e2e.yaml@main
with:
node-version: "22"
headlamp-version: v0.40.1
e2e-namespace: headlamp-dev
plugin-name: rook
+19 -2
View File
@@ -35,6 +35,17 @@ if ! kubectl auth can-i delete configmaps -n "$E2E_NAMESPACE" --quiet 2>/dev/nul
exit 1
fi
echo ""
echo "=== Pre-deployment cluster diagnostics ==="
echo "Nodes:"
kubectl get nodes -o wide 2>&1 || true
echo ""
echo "headlamp-dev namespace state:"
kubectl get ns headlamp-dev -o yaml 2>&1 || true
echo ""
echo "Existing E2E resources in namespace:"
kubectl get all -n "$E2E_NAMESPACE" -l "app.kubernetes.io/instance=$E2E_RELEASE" 2>&1 || true
echo "=== E2E Headlamp Deployment ==="
echo " Image: ghcr.io/headlamp-k8s/headlamp:${HEADLAMP_VERSION}"
echo " Namespace: $E2E_NAMESPACE"
@@ -60,7 +71,7 @@ kubectl delete serviceaccount "${E2E_RELEASE}" -n "$E2E_NAMESPACE" --ignore-not-
echo ""
echo "Deploying Headlamp E2E instance..."
kubectl apply -f - <<EOF
if ! kubectl apply -f - <<EOF
apiVersion: v1
kind: ServiceAccount
metadata:
@@ -113,7 +124,7 @@ spec:
port: http
initialDelaySeconds: 5
periodSeconds: 5
failureThreshold: 6
failureThreshold: 6
livenessProbe:
httpGet:
path: /
@@ -148,6 +159,12 @@ spec:
targetPort: http
protocol: TCP
EOF
then
echo "ERROR: kubectl apply failed. Dumping cluster state..." >&2
kubectl get all -n "$E2E_NAMESPACE" 2>&1 || true
kubectl get events -n "$E2E_NAMESPACE" --sort-by='.lastTimestamp' 2>&1 | tail -30 || true
exit 1
fi
echo "Waiting for rollout..."
kubectl rollout status "deployment/${E2E_RELEASE}" \