fix: align deploy-e2e-headlamp.sh to kube-vip plugin

- Fix comment referencing 'rook' -> 'kube-vip'
- Add error handling for kubectl apply failure with cluster state dump
- Align automountServiceAccountToken: true to match other plugins
- Remove spurious sleep 2 before rollout status
- Add cluster diagnostics before deployment (rook-plugin style)

Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
2026-05-06 21:58:15 +00:00
committed by Hugh Hackman [agent]
parent cbf5ba4a2a
commit e029558886
+11 -6
View File
@@ -1,7 +1,7 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# deploy-e2e-headlamp.sh # deploy-e2e-headlamp.sh
# #
# Deploys a stock Headlamp instance with the rook plugin loaded via # Deploys a stock Headlamp instance with the kube-vip plugin loaded via
# a ConfigMap volume mount. # a ConfigMap volume mount.
# #
# E2E resources are deployed to the `headlamp-dev` namespace. Nothing # E2E resources are deployed to the `headlamp-dev` namespace. Nothing
@@ -60,7 +60,7 @@ kubectl delete serviceaccount "${E2E_RELEASE}" -n "$E2E_NAMESPACE" --ignore-not-
echo "" echo ""
echo "Deploying Headlamp E2E instance..." echo "Deploying Headlamp E2E instance..."
kubectl apply -f - <<EOF if ! kubectl apply -f - <<EOF
apiVersion: v1 apiVersion: v1
kind: ServiceAccount kind: ServiceAccount
metadata: metadata:
@@ -88,7 +88,7 @@ spec:
app.kubernetes.io/instance: ${E2E_RELEASE} app.kubernetes.io/instance: ${E2E_RELEASE}
spec: spec:
serviceAccountName: ${E2E_RELEASE} serviceAccountName: ${E2E_RELEASE}
automountServiceAccountToken: false automountServiceAccountToken: true
securityContext: {} securityContext: {}
containers: containers:
- name: headlamp - name: headlamp
@@ -121,11 +121,11 @@ spec:
initialDelaySeconds: 10 initialDelaySeconds: 10
periodSeconds: 10 periodSeconds: 10
volumeMounts: volumeMounts:
- name: rook-plugin - name: headlamp-kube-vip-plugin
mountPath: /headlamp/plugins/headlamp-kube-vip mountPath: /headlamp/plugins/headlamp-kube-vip
readOnly: true readOnly: true
volumes: volumes:
- name: rook-plugin - name: headlamp-kube-vip-plugin
configMap: configMap:
name: headlamp-kube-vip-plugin name: headlamp-kube-vip-plugin
--- ---
@@ -148,9 +148,14 @@ spec:
targetPort: http targetPort: http
protocol: TCP protocol: TCP
EOF 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..." echo "Waiting for rollout..."
sleep 2
kubectl rollout status "deployment/${E2E_RELEASE}" \ kubectl rollout status "deployment/${E2E_RELEASE}" \
-n "$E2E_NAMESPACE" --timeout=120s -n "$E2E_NAMESPACE" --timeout=120s