mysql DB wait logic changed

This commit is contained in:
Vaibhav Pathak 2026-01-19 15:46:54 +05:30
parent bf4a2011c6
commit 0526ae4e3b

View File

@ -637,16 +637,35 @@ spec:
# kubectl is already available in this image
# Find the Hades MySQL pod
MYSQL_POD=$(kubectl get pods -n "$NAMESPACE" -l "app.kubernetes.io/name=mysql" -o jsonpath='{.items[0].metadata.name}' 2>/dev/null || echo "")
# Wait for pods to be created by ArgoCD (may take time to sync)
echo "Waiting for Hades MySQL pod to be created..."
MYSQL_POD=""
POD_WAIT=0
POD_MAX_WAIT=180
while [ -z "$MYSQL_POD" ] && [ $POD_WAIT -lt $POD_MAX_WAIT ]; do
# Try label used by WSO2 MySQL chart (hades uses this)
MYSQL_POD=$(kubectl get pods -n "$NAMESPACE" -l "app=hades-mysql-db-service" -o jsonpath='{.items[0].metadata.name}' 2>/dev/null || echo "")
if [ -z "$MYSQL_POD" ]; then
# Try alternative label
MYSQL_POD=$(kubectl get pods -n "$NAMESPACE" -o name 2>/dev/null | grep -i "mysql" | head -1 | sed 's/pod\///')
# Try Bitnami MySQL chart label
MYSQL_POD=$(kubectl get pods -n "$NAMESPACE" -l "app.kubernetes.io/name=mysql" -o jsonpath='{.items[0].metadata.name}' 2>/dev/null || echo "")
fi
if [ -z "$MYSQL_POD" ]; then
echo "Warning: Could not find Hades MySQL pod"
# Fallback: grep for hades mysql in pod names
MYSQL_POD=$(kubectl get pods -n "$NAMESPACE" -o name 2>/dev/null | grep -i "hades.*mysql" | head -1 | sed 's/pod\///')
fi
if [ -z "$MYSQL_POD" ]; then
echo " Waiting for MySQL pod... (${POD_WAIT}s)"
sleep 10
POD_WAIT=$((POD_WAIT + 10))
fi
done
if [ -z "$MYSQL_POD" ]; then
echo "Warning: Could not find Hades MySQL pod after ${POD_MAX_WAIT}s"
echo "Skipping IP registration - Hades may not be deployed"
exit 0
fi