diff --git a/resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/DepsTestsSuite.scala b/resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/DepsTestsSuite.scala index b6f3484a062c..7181774b9f17 100644 --- a/resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/DepsTestsSuite.scala +++ b/resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/DepsTestsSuite.scala @@ -224,9 +224,20 @@ private[spark] trait DepsTestsSuite { k8sSuite: KubernetesSuite => } private def getServiceUrl(serviceName: String): String = { + val fuzzyUrlMatcher = """^(.*?)([a-zA-Z]+://.*?)(\s*)$""".r Eventually.eventually(TIMEOUT, INTERVAL) { // ns is always available either random or provided by the user - Minikube.minikubeServiceAction(serviceName, "-n", kubernetesTestComponents.namespace, "--url") + val rawUrl = Minikube.minikubeServiceAction( + serviceName, "-n", kubernetesTestComponents.namespace, "--url") + val url = rawUrl match { + case fuzzyUrlMatcher(junk, url, extra) => + logDebug(s"Service url matched junk ${junk} - url ${url} - extra ${extra}") + url + case _ => + logWarning(s"Response from minikube ${rawUrl} did not match URL regex") + rawUrl + } + url } } }