plano/e2e_tests/common_scripts.sh

34 lines
854 B
Bash
Raw Normal View History

2024-10-26 15:32:46 -07:00
#!/bin/bash
2024-10-26 14:14:10 -07:00
2024-10-26 14:28:25 -07:00
log() {
2024-10-26 14:14:10 -07:00
timestamp=$(date +"%Y-%m-%d %H:%M:%S")
message="$*"
echo "$timestamp: $message"
}
2024-10-26 14:28:25 -07:00
wait_for_healthz() {
2024-10-26 14:14:10 -07:00
local healthz_url="$1"
local timeout_seconds="${2:-30}" # Default timeout of 30 seconds
local sleep_between="${3:-1}" # Default sleep of 1 seconds
local start_time=$(date +%s)
while true; do
local response_code=$(curl -s -o /dev/null -w "%{http_code}" "$healthz_url")
log "Healthz endpoint $healthz_url response code: $response_code"
if [[ "$response_code" -eq 200 ]]; then
log "Healthz endpoint is healthy. Proceeding..."
return 0
fi
local elapsed_time=$(( $(date +%s) - $start_time ))
if [[ $elapsed_time -ge $timeout_seconds ]]; then
log "Timeout reached. Healthz endpoint is still unhealthy. Exiting..."
return 1
fi
sleep $sleep_between
done
}