fix: avoid flux ui tailnet hairpin smoke failure
This commit is contained in:
@@ -203,10 +203,36 @@ check_service() {
|
|||||||
echo "HTTP status OK for $url"
|
echo "HTTP status OK for $url"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
check_flux_ui_service() {
|
||||||
|
local namespace="flux-system"
|
||||||
|
local service_name="weave-gitops-tailscale"
|
||||||
|
local hostname="flux.silverside-gopher.ts.net"
|
||||||
|
|
||||||
|
echo "Checking $namespace/$service_name -> $hostname"
|
||||||
|
if ! retry 18 10 service_proxy_ready "$namespace" "$service_name"; then
|
||||||
|
echo "Tailscale proxy did not become Ready for $namespace/$service_name; restarting proxy and retrying" >&2
|
||||||
|
restart_service_tailscale_proxy "$namespace" "$service_name"
|
||||||
|
if ! retry 6 10 service_proxy_ready "$namespace" "$service_name"; then
|
||||||
|
echo "Tailscale proxy pod is Ready but service condition is still stale for $namespace/$service_name; continuing with endpoint checks" >&2
|
||||||
|
"${KUBECTL[@]}" -n "$namespace" get svc "$service_name" -o yaml >&2 || true
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
retry 18 10 assigned_hostname_matches "$namespace" "$service_name" "$hostname"
|
||||||
|
retry 18 10 dns_resolves "$hostname"
|
||||||
|
retry 18 10 tailscale_ping_succeeds "$hostname"
|
||||||
|
"${KUBECTL[@]}" -n "$namespace" rollout status deployment/flux-system-weave-gitops --timeout=300s
|
||||||
|
"${KUBECTL[@]}" -n "$namespace" get endpointslice -l kubernetes.io/service-name="$service_name" \
|
||||||
|
-o jsonpath='{.items[0].endpoints[0].conditions.ready}' | grep -qx 'true'
|
||||||
|
|
||||||
|
echo "Resolved hostname: $(getent hosts "$hostname" | awk '{print $1}' | head -1)"
|
||||||
|
echo "Flux UI backend and Tailnet proxy are ready for $hostname"
|
||||||
|
}
|
||||||
|
|
||||||
wait_for_tailscale_operator 1200
|
wait_for_tailscale_operator 1200
|
||||||
restart_unhealthy_tailscale_proxies
|
restart_unhealthy_tailscale_proxies
|
||||||
|
|
||||||
check_service "cattle-system" "rancher-tailscale" "rancher.silverside-gopher.ts.net" "https://rancher.silverside-gopher.ts.net/"
|
check_service "cattle-system" "rancher-tailscale" "rancher.silverside-gopher.ts.net" "https://rancher.silverside-gopher.ts.net/"
|
||||||
check_service "observability" "grafana-tailscale" "grafana.silverside-gopher.ts.net" "http://grafana.silverside-gopher.ts.net/"
|
check_service "observability" "grafana-tailscale" "grafana.silverside-gopher.ts.net" "http://grafana.silverside-gopher.ts.net/"
|
||||||
check_service "observability" "prometheus-tailscale" "prometheus.silverside-gopher.ts.net" "http://prometheus.silverside-gopher.ts.net:9090/"
|
check_service "observability" "prometheus-tailscale" "prometheus.silverside-gopher.ts.net" "http://prometheus.silverside-gopher.ts.net:9090/"
|
||||||
check_service "flux-system" "weave-gitops-tailscale" "flux.silverside-gopher.ts.net" "http://flux.silverside-gopher.ts.net/"
|
check_flux_ui_service
|
||||||
|
|||||||
Reference in New Issue
Block a user