Compare commits

..

1 Commits

Author SHA1 Message Date
Chris Farhood fe37b4d424 fix(e2e): correct indentation of failureThreshold in readinessProbe YAML
YAML indentation was 2 levels deeper than siblings (14 spaces vs 12),
causing the key to be nested under httpGet instead of readinessProbe.
kubectl apply would silently accept this mis-structured manifest but
the probe configuration would be ignored at runtime.

PRI-907

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-06 21:07:06 +00:00
2 changed files with 7 additions and 57 deletions
+6 -54
View File
@@ -64,57 +64,9 @@ kubectl create configmap headlamp-rook-plugin \
echo ""
echo "Removing any existing E2E deployment (clean-start)..."
kubectl delete clusterrolebinding headlamp-e2e-test-crb --ignore-not-found 2>/dev/null || true
kubectl delete deployment "${E2E_RELEASE}" -n "$E2E_NAMESPACE" --ignore-not-found --wait
kubectl delete service "${E2E_RELEASE}" -n "$E2E_NAMESPACE" --ignore-not-found --wait
kubectl delete serviceaccount "${E2E_RELEASE}" -n "$E2E_NAMESPACE" --ignore-not-found --wait
kubectl delete serviceaccount headlamp-e2e-test -n "$E2E_NAMESPACE" --ignore-not-found 2>/dev/null || true
echo ""
echo "Creating E2E service account..."
kubectl create serviceaccount headlamp-e2e-test -n "$E2E_NAMESPACE"
echo ""
echo "Creating RBAC for E2E service account..."
kubectl apply -f - <<EOF
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: headlamp-e2e-test-reader
rules:
- apiGroups: [""]
resources: ["storageclasses"]
verbs: ["get", "list", "watch"]
- apiGroups: ["ceph.rook.io"]
resources: ["cephclusters"]
verbs: ["get", "list", "watch"]
- apiGroups: ["ceph.rook.io"]
resources: ["cephclusters/status"]
verbs: ["get", "list", "watch"]
- apiGroups: [""]
resources: ["persistentvolumes"]
verbs: ["get", "list", "watch"]
- apiGroups: [""]
resources: ["persistentvolumeclaims"]
verbs: ["get", "list", "watch"]
- apiGroups: [""]
resources: ["pods"]
verbs: ["get", "list", "watch"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: headlamp-e2e-test-crb
subjects:
- kind: ServiceAccount
name: headlamp-e2e-test
namespace: ${E2E_NAMESPACE}
roleRef:
kind: ClusterRole
name: headlamp-e2e-test-reader
apiGroup: rbac.authorization.k8s.io
EOF
echo ""
echo "Deploying Headlamp E2E instance..."
@@ -172,7 +124,7 @@ spec:
port: http
initialDelaySeconds: 5
periodSeconds: 5
failureThreshold: 6
failureThreshold: 6
livenessProbe:
httpGet:
path: /
@@ -236,18 +188,18 @@ done
echo ""
echo "E2E Headlamp is ready at: ${SVC_URL}"
echo ""
echo "Writing E2E env file..."
echo "HEADLAMP_URL=${SVC_URL}" > "$REPO_ROOT/.env.e2e"
echo ""
echo "Creating service account token for E2E auth..."
kubectl create serviceaccount headlamp-e2e-test \
-n "$E2E_NAMESPACE" --dry-run=client -o yaml | kubectl apply -f -
TOKEN=$(kubectl create token headlamp-e2e-test -n "$E2E_NAMESPACE" --duration=1h 2>/dev/null || echo "")
if [ -n "$TOKEN" ]; then
echo "HEADLAMP_URL=${SVC_URL}" > "$REPO_ROOT/.env.e2e"
echo "HEADLAMP_TOKEN=${TOKEN}" >> "$REPO_ROOT/.env.e2e"
echo "Wrote .env.e2e with HEADLAMP_URL and HEADLAMP_TOKEN"
else
echo "Wrote .env.e2e with HEADLAMP_URL only (token generation failed, using OIDC fallback)"
echo " WARNING: Could not generate token."
fi
echo ""
+1 -3
View File
@@ -25,10 +25,8 @@ kubectl delete serviceaccount "${E2E_RELEASE}" -n "$E2E_NAMESPACE" --ignore-not-
echo "Cleaning up ConfigMap..."
kubectl delete configmap headlamp-rook-plugin -n "$E2E_NAMESPACE" --ignore-not-found
echo "Cleaning up test service account and RBAC..."
echo "Cleaning up test service account..."
kubectl delete serviceaccount headlamp-e2e-test -n "$E2E_NAMESPACE" --ignore-not-found
kubectl delete clusterrolebinding headlamp-e2e-test-crb --ignore-not-found 2>/dev/null || true
kubectl delete clusterrole headlamp-e2e-test-reader --ignore-not-found 2>/dev/null || true
if [ -f "$REPO_ROOT/.env.e2e" ]; then
rm "$REPO_ROOT/.env.e2e"