Skip to content

Commit 4bcdd7f

Browse files
fix(otel): Add EC2NodeClass readiness wait and diagnostic logs
1 parent 1fee325 commit 4bcdd7f

1 file changed

Lines changed: 17 additions & 1 deletion

File tree

terraform/eks/daemon/otel/main.tf

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -321,6 +321,15 @@ resource "null_resource" "karpenter_scale_trigger" {
321321
depends_on = [null_resource.karpenter_nodepool]
322322
provisioner "local-exec" {
323323
command = <<-EOT
324+
echo "Waiting for EC2NodeClass to become ready..."
325+
for i in $(seq 1 60); do
326+
STATUS=$(kubectl get ec2nodeclass default -o jsonpath='{.status.conditions[?(@.type=="Ready")].status}' 2>/dev/null)
327+
if [ "$STATUS" = "True" ]; then
328+
echo "EC2NodeClass ready after $${i}0s"
329+
break
330+
fi
331+
sleep 10
332+
done
324333
cat <<'EOF' | kubectl apply -f -
325334
apiVersion: apps/v1
326335
kind: Deployment
@@ -350,7 +359,14 @@ resource "null_resource" "karpenter_scale_trigger" {
350359
effect: "NoSchedule"
351360
EOF
352361
echo "Waiting for Karpenter to provision node..."
353-
kubectl wait --for=condition=available deployment/karpenter-scale-trigger --timeout=600s
362+
kubectl wait --for=condition=available deployment/karpenter-scale-trigger --timeout=600s || \
363+
(echo "=== KARPENTER LOGS ===" && \
364+
kubectl logs -n kube-system -l app.kubernetes.io/name=karpenter --tail=50 && \
365+
echo "=== EC2NODECLASS STATUS ===" && \
366+
kubectl get ec2nodeclass default -o yaml 2>/dev/null && \
367+
echo "=== NODECLAIMS ===" && \
368+
kubectl get nodeclaims -A 2>/dev/null && \
369+
exit 1)
354370
EOT
355371
}
356372
}

0 commit comments

Comments
 (0)