@@ -256,7 +256,11 @@ func (w *availability) PrepareCollection(ctx context.Context, adminRESTConfig *r
256256
257257 // Hit it once before considering ourselves ready
258258 fmt .Fprintf (os .Stderr , "hitting pods through the service's LoadBalancer\n " )
259+ // Use longer timeout for platforms (e.g. EUSC) known to experience slow DNS propagation.
259260 timeout := 10 * time .Minute
261+ if infra .Status .PlatformStatus .AWS != nil && strings .HasPrefix (infra .Status .PlatformStatus .AWS .Region , "eusc-" ) {
262+ timeout = 20 * time .Minute
263+ }
260264 // require thirty seconds of passing requests to continue (in case the SLB becomes available and then degrades)
261265 // TODO this seems weird to @deads2k, why is status not trustworthy
262266 baseURL := fmt .Sprintf ("http://%s" , net .JoinHostPort (tcpIngressIP , strconv .Itoa (svcPort )))
@@ -279,6 +283,13 @@ func (w *availability) PrepareCollection(ctx context.Context, adminRESTConfig *r
279283 monitorapi .ReusedConnectionType ).
280284 WithExpectedBody ("hello" )
281285
286+ // Use longer timeout for platforms (e.g. EUSC) known to experience slow DNS propagation.
287+ if infra .Status .PlatformStatus .AWS != nil && strings .HasPrefix (infra .Status .PlatformStatus .AWS .Region , "eusc-" ) {
288+ connectionTimeout := 120 * time .Second
289+ newConnectionDisruptionSampler .WithTimeout (connectionTimeout )
290+ reusedConnectionDisruptionSampler .WithTimeout (connectionTimeout )
291+ }
292+
282293 w .disruptionChecker = disruptionlibrary .NewAvailabilityInvariant (
283294 newConnectionTestName , reusedConnectionTestName ,
284295 newConnectionDisruptionSampler , reusedConnectionDisruptionSampler ,
0 commit comments