Skip to content

Commit ba6a9e5

Browse files
ash211foxish
authored andcommitted
Parse results of minikube status more rigorously (alteryx#97)
* Parse results of minikube status more rigorously Prior code assumes the minikubeVM status line is always the first row output from minikube status, and it is not when the version upgrade notifier prints an upgrade suggestion message. * Also filter ip response to expected rows
1 parent 3a51dbe commit ba6a9e5

File tree

1 file changed

+6
-1
lines changed
  • resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/kubernetes/integrationtest/minikube

1 file changed

+6
-1
lines changed

resource-managers/kubernetes/integration-tests/src/test/scala/org/apache/spark/deploy/kubernetes/integrationtest/minikube/Minikube.scala

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ package org.apache.spark.deploy.kubernetes.integrationtest.minikube
1919
import java.io.{BufferedReader, InputStreamReader}
2020
import java.nio.file.Paths
2121
import java.util.concurrent.TimeUnit
22+
import java.util.regex.Pattern
2223
import javax.net.ssl.X509TrustManager
2324

2425
import io.fabric8.kubernetes.client.{ConfigBuilder, DefaultKubernetesClient}
@@ -58,13 +59,17 @@ private[spark] object Minikube extends Logging {
5859
def getMinikubeIp: String = synchronized {
5960
assert(MINIKUBE_EXECUTABLE_DEST.exists(), EXPECTED_DOWNLOADED_MINIKUBE_MESSAGE)
6061
val outputs = executeMinikube("ip")
62+
.filter(_.matches("^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$"))
6163
assert(outputs.size == 1, "Unexpected amount of output from minikube ip")
6264
outputs.head
6365
}
6466

6567
def getMinikubeStatus: MinikubeStatus.Value = synchronized {
6668
assert(MINIKUBE_EXECUTABLE_DEST.exists(), EXPECTED_DOWNLOADED_MINIKUBE_MESSAGE)
67-
val statusString = executeMinikube("status").head.replaceFirst("minikubeVM: ", "")
69+
val statusString = executeMinikube("status")
70+
.filter(_.contains("minikubeVM: "))
71+
.head
72+
.replaceFirst("minikubeVM: ", "")
6873
MinikubeStatus.unapply(statusString)
6974
.getOrElse(throw new IllegalStateException(s"Unknown status $statusString"))
7075
}

0 commit comments

Comments
 (0)