Skip to content

Commit e2d20c9

Browse files
committed
Added test cases that trigger the use of the init-container
1 parent 87647ed commit e2d20c9

File tree

2 files changed

+30
-2
lines changed

2 files changed

+30
-2
lines changed

integration-test/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/KubernetesSuite.scala

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,12 @@ private[spark] class KubernetesSuite extends FunSuite with BeforeAndAfterAll wit
7979
runSparkPiAndVerifyCompletion(appArgs = Array("5"))
8080
}
8181

82+
test("Run SparkPi using the remote example jar.") {
83+
sparkAppConf.set("spark.kubernetes.initContainer.image",
84+
System.getProperty("spark.docker.test.initContainerImage", "spark-init-container:latest"))
85+
runSparkPiAndVerifyCompletion(appResource = REMOTE_EXAMPLES_JAR_URI)
86+
}
87+
8288
test("Run SparkPi with custom driver pod name, labels, annotations, and environment variables.") {
8389
sparkAppConf
8490
.set("spark.kubernetes.driver.pod.name", "spark-integration-spark-pi")
@@ -123,6 +129,27 @@ private[spark] class KubernetesSuite extends FunSuite with BeforeAndAfterAll wit
123129
})
124130
}
125131

132+
test("Run SparkPi using the remote example jar with a test secret mounted into the driver and " +
133+
"executor pods") {
134+
sparkAppConf
135+
.set(s"spark.kubernetes.driver.secrets.$TEST_SECRET_NAME", TEST_SECRET_MOUNT_PATH)
136+
.set(s"spark.kubernetes.executor.secrets.$TEST_SECRET_NAME", TEST_SECRET_MOUNT_PATH)
137+
sparkAppConf.set("spark.kubernetes.initContainer.image",
138+
System.getProperty("spark.docker.test.initContainerImage", "spark-init-container:latest"))
139+
140+
createTestSecret()
141+
142+
runSparkPiAndVerifyCompletion(
143+
driverPodChecker = (driverPod: Pod) => {
144+
doBasicDriverPodCheck(driverPod)
145+
checkTestSecret(driverPod, withInitContainer = true)
146+
},
147+
executorPodChecker = (executorPod: Pod) => {
148+
doBasicExecutorPodCheck(executorPod)
149+
checkTestSecret(executorPod, withInitContainer = true)
150+
})
151+
}
152+
126153
private def runSparkPiAndVerifyCompletion(
127154
appResource: String = CONTAINER_LOCAL_SPARK_DISTRO_EXAMPLES_JAR,
128155
driverPodChecker: Pod => Unit = doBasicDriverPodCheck,
@@ -259,5 +286,8 @@ private[spark] object KubernetesSuite {
259286
val TEST_SECRET_VALUE = "test-data"
260287
val TEST_SECRET_MOUNT_PATH = "/etc/secrets"
261288

289+
val REMOTE_EXAMPLES_JAR_URI =
290+
"https://storage.googleapis.com/spark-k8s-integration-tests/jars/spark-examples_2.11-2.3.0.jar"
291+
262292
case object ShuffleNotReadyException extends Exception
263293
}

integration-test/src/test/scala/org/apache/spark/deploy/k8s/integrationtest/KubernetesTestComponents.scala

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,6 @@ private[spark] class KubernetesTestComponents(defaultClient: DefaultKubernetesCl
6161
System.getProperty("spark.docker.test.driverImage", "spark-driver:latest"))
6262
.set("spark.kubernetes.executor.container.image",
6363
System.getProperty("spark.docker.test.executorImage", "spark-executor:latest"))
64-
.set("spark.kubernetes.initContainer.image",
65-
System.getProperty("spark.docker.test.initContainerImage", "spark-init-container:latest"))
6664
.set("spark.executor.memory", "500m")
6765
.set("spark.executor.cores", "1")
6866
.set("spark.executors.instances", "1")

0 commit comments

Comments
 (0)