fix: avoid flux ui tailnet hairpin smoke failure
Deploy Cluster / Terraform (push) Successful in 34s
Deploy Cluster / Ansible (push) Successful in 17m18s

This commit is contained in:
2026-05-05 06:03:26 +00:00
parent 76bbe4dfea
commit c416610f4f
+27 -1
View File
@@ -203,10 +203,36 @@ check_service() {
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
restart_unhealthy_tailscale_proxies
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" "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