Skip to content

Commit 9596372

Browse files
committed
only k8s case
1 parent ddd713f commit 9596372

2 files changed

Lines changed: 18 additions & 6 deletions

File tree

kyuubi-server/src/main/scala/org/apache/kyuubi/engine/spark/SparkProcessBuilder.scala

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -93,10 +93,14 @@ class SparkProcessBuilder(
9393

9494
// For spark on kubernetes, spark pod using env SPARK_USER_NAME as current user
9595
def setSparkUserName(userName: String): Unit = {
96-
buffer += CONF
97-
buffer += s"spark.kubernetes.driverEnv.SPARK_USER_NAME=$userName"
98-
buffer += CONF
99-
buffer += s"spark.kubernetes.executorEnv.SPARK_USER_NAME=$userName"
96+
clusterManager().foreach(cm => {
97+
if (cm.startsWith("k8s://")) {
98+
buffer += CONF
99+
buffer += s"spark.kubernetes.driverEnv.SPARK_USER_NAME=$userName"
100+
buffer += CONF
101+
buffer += s"spark.kubernetes.executorEnv.SPARK_USER_NAME=$userName"
102+
}
103+
})
100104
}
101105

102106
// if the keytab is specified, PROXY_USER is not supported

kyuubi-server/src/test/scala/org/apache/kyuubi/engine/spark/SparkProcessBuilderSuite.scala

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -273,14 +273,15 @@ class SparkProcessBuilderSuite extends KerberizedTestHelper with MockitoSugar {
273273

274274
test("SparkProcessBuilder build spark engine with SPARK_USER_NAME") {
275275
val proxyName = "kyuubi"
276-
val conf1 = KyuubiConf(false)
276+
val conf1 = KyuubiConf(false).set("spark.master", "k8s://test:12345")
277277
val b1 = new SparkProcessBuilder(proxyName, conf1)
278278
val c1 = b1.toString.split(' ')
279279
assert(c1.contains(s"spark.kubernetes.driverEnv.SPARK_USER_NAME=$proxyName"))
280280
assert(c1.contains(s"spark.kubernetes.executorEnv.SPARK_USER_NAME=$proxyName"))
281281

282282
tryWithSecurityEnabled {
283-
val conf2 = conf.set("spark.kerberos.principal", testPrincipal)
283+
val conf2 = conf.set("spark.master", "k8s://test:12345")
284+
.set("spark.kerberos.principal", testPrincipal)
284285
.set("spark.kerberos.keytab", testKeytab)
285286
val name = ServiceUtils.getShortName(testPrincipal)
286287
val b2 = new SparkProcessBuilder(name, conf2)
@@ -289,6 +290,13 @@ class SparkProcessBuilderSuite extends KerberizedTestHelper with MockitoSugar {
289290
assert(c2.contains(s"spark.kubernetes.executorEnv.SPARK_USER_NAME=$name"))
290291
assert(!c2.contains(s"--proxy-user $name"))
291292
}
293+
294+
// Test no-kubernetes case
295+
val conf3 = KyuubiConf(false)
296+
val b3 = new SparkProcessBuilder(proxyName, conf3)
297+
val c3 = b3.toString.split(' ')
298+
assert(!c3.contains(s"spark.kubernetes.driverEnv.SPARK_USER_NAME=$proxyName"))
299+
assert(!c3.contains(s"spark.kubernetes.executorEnv.SPARK_USER_NAME=$proxyName"))
292300
}
293301
}
294302

0 commit comments

Comments
 (0)