diff --git a/tests/e2e/k8s/util/clusterlink.go b/tests/e2e/k8s/util/clusterlink.go index a019cec0..5be891ce 100644 --- a/tests/e2e/k8s/util/clusterlink.go +++ b/tests/e2e/k8s/util/clusterlink.go @@ -18,6 +18,7 @@ import ( "errors" "fmt" "io" + "net/url" "strings" "syscall" "time" @@ -64,6 +65,7 @@ func (c *ClusterLink) Cluster() *KindCluster { func (c *ClusterLink) WaitForControlplaneAPI() error { var err error for t := time.Now(); time.Since(t) < time.Second*60; time.Sleep(time.Millisecond * 100) { + var uerr *url.Error _, err = c.client.Peers.List() switch { case err == nil: @@ -74,6 +76,8 @@ func (c *ClusterLink) WaitForControlplaneAPI() error { continue case errors.Is(err, io.EOF): continue + case errors.As(err, &uerr) && uerr.Timeout(): + continue } return err