diff --git a/kyuubi-server/src/main/scala/org/apache/kyuubi/engine/KyuubiApplicationManager.scala b/kyuubi-server/src/main/scala/org/apache/kyuubi/engine/KyuubiApplicationManager.scala index 7f2501ec2..b772afc04 100644 --- a/kyuubi-server/src/main/scala/org/apache/kyuubi/engine/KyuubiApplicationManager.scala +++ b/kyuubi-server/src/main/scala/org/apache/kyuubi/engine/KyuubiApplicationManager.scala @@ -160,7 +160,7 @@ object KyuubiApplicationManager { conf: KyuubiConf): Unit = { (applicationType.toUpperCase, resourceManager.map(_.toUpperCase())) match { case ("SPARK", Some("YARN")) => setupSparkYarnTag(applicationTag, conf) - case ("SPARK", Some("K8S")) => setupSparkK8sTag(applicationTag, conf) + case ("SPARK", Some(rm)) if rm.startsWith("K8S") => setupSparkK8sTag(applicationTag, conf) case ("SPARK", _) => // if the master is not identified ahead, add all tags setupSparkYarnTag(applicationTag, conf) diff --git a/kyuubi-server/src/test/scala/org/apache/kyuubi/engine/KyuubiApplicationManagerSuite.scala b/kyuubi-server/src/test/scala/org/apache/kyuubi/engine/KyuubiApplicationManagerSuite.scala index 93ef02cdc..b01f82a24 100644 --- a/kyuubi-server/src/test/scala/org/apache/kyuubi/engine/KyuubiApplicationManagerSuite.scala +++ b/kyuubi-server/src/test/scala/org/apache/kyuubi/engine/KyuubiApplicationManagerSuite.scala @@ -19,6 +19,7 @@ package org.apache.kyuubi.engine import org.apache.kyuubi.{KyuubiException, KyuubiFunSuite} import org.apache.kyuubi.config.KyuubiConf +import org.apache.kyuubi.engine.KubernetesApplicationOperation.LABEL_KYUUBI_UNIQUE_KEY class KyuubiApplicationManagerSuite extends KyuubiFunSuite { test("application access path") { @@ -70,4 +71,19 @@ class KyuubiApplicationManagerSuite extends KyuubiFunSuite { localDirLimitConf) } } + + test("Test kyuubi application Manager tag spark on kubernetes application") { + val conf: KyuubiConf = KyuubiConf() + val tag = "kyuubi-test-tag" + KyuubiApplicationManager.tagApplication( + tag, + "SPARK", + Some("k8s://https://kyuubi-test:8443"), + conf) + + val kubernetesTag = conf.getOption("spark.kubernetes.driver.label." + LABEL_KYUUBI_UNIQUE_KEY) + val yarnTag = conf.getOption("spark.yarn.tags") + assert(kubernetesTag.nonEmpty && tag.equals(kubernetesTag.get)) + assert(yarnTag.isEmpty) + } }