This is an automated email from the ASF dual-hosted git repository.
ulyssesyou pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-kyuubi.git
The following commit(s) were added to refs/heads/master by this push:
new 62db92f72 [KYUUBI #2381] [Test] Add Kyuubi on k8s With Spark on k8s
client deploy-mode unit test
62db92f72 is described below
commit 62db92f72b1ee9398ccbcfcb7252019ee0f958a1
Author: zwangsheng <[email protected]>
AuthorDate: Mon Apr 18 10:59:29 2022 +0800
[KYUUBI #2381] [Test] Add Kyuubi on k8s With Spark on k8s client
deploy-mode unit test
### _Why are the changes needed?_
Add Kyuubi on k8s With Spark on k8s client deploy-mode unit test
### _How was this patch tested?_
- [x] Add some test cases that check the changes thoroughly including
negative and positive cases if possible
- [ ] Add screenshots for manual tests if appropriate
- [ ] [Run
test](https://kyuubi.apache.org/docs/latest/develop_tools/testing.html#running-tests)
locally before make a pull request
Closes #2381 from zwangsheng/improve/add-kyuubi-k8s-spark-client.
Closes #2381
4f4d72f5 [zwangsheng] fix npe
623b3568 [zwangsheng] fix style
03ab628f [zwangsheng] add kyuubi on k8s spark client test
Authored-by: zwangsheng <[email protected]>
Signed-off-by: ulysses-you <[email protected]>
---
.../test/WithKyuubiServerOnKubernetes.scala | 11 +++------
.../deployment/KyuubiOnKubernetesTestsSuite.scala | 27 +++++++++++++++++++++-
2 files changed, 29 insertions(+), 9 deletions(-)
diff --git
a/integration-tests/kyuubi-kubernetes-it/src/test/scala/org/apache/kyuubi/kubernetes/test/WithKyuubiServerOnKubernetes.scala
b/integration-tests/kyuubi-kubernetes-it/src/test/scala/org/apache/kyuubi/kubernetes/test/WithKyuubiServerOnKubernetes.scala
index f58b51a84..362f257a7 100644
---
a/integration-tests/kyuubi-kubernetes-it/src/test/scala/org/apache/kyuubi/kubernetes/test/WithKyuubiServerOnKubernetes.scala
+++
b/integration-tests/kyuubi-kubernetes-it/src/test/scala/org/apache/kyuubi/kubernetes/test/WithKyuubiServerOnKubernetes.scala
@@ -25,20 +25,13 @@ import org.apache.kyuubi.config.KyuubiConf
trait WithKyuubiServerOnKubernetes extends WithKyuubiServer {
protected val kyuubiServerConf: KyuubiConf = KyuubiConf()
protected val connectionConf: Map[String, String]
- private var miniKubernetesClient: DefaultKubernetesClient = _
+ private val miniKubernetesClient: DefaultKubernetesClient =
MiniKube.getKubernetesClient
final override protected lazy val conf: KyuubiConf = {
connectionConf.foreach { case (k, v) => kyuubiServerConf.set(k, v) }
kyuubiServerConf
}
- override def beforeAll(): Unit = {
- miniKubernetesClient = MiniKube.getKubernetesClient
- super.beforeAll()
- }
-
- override def afterAll(): Unit = super.afterAll()
-
override protected def getJdbcUrl: String = {
val kyuubiServers =
miniKubernetesClient.pods().list().getItems
@@ -59,4 +52,6 @@ trait WithKyuubiServerOnKubernetes extends WithKyuubiServer {
kyuubiServer.getSpec.getContainers.get(0).getPorts.get(0).getHostPort
s"jdbc:hive2://$kyuubiServerIp:$kyuubiServerPort/;"
}
+
+ def getMiniKubeApiMaster: String = miniKubernetesClient.getMasterUrl.toString
}
diff --git
a/integration-tests/kyuubi-kubernetes-it/src/test/scala/org/apache/kyuubi/kubernetes/test/deployment/KyuubiOnKubernetesTestsSuite.scala
b/integration-tests/kyuubi-kubernetes-it/src/test/scala/org/apache/kyuubi/kubernetes/test/deployment/KyuubiOnKubernetesTestsSuite.scala
index 5d15fcf2b..d29990002 100644
---
a/integration-tests/kyuubi-kubernetes-it/src/test/scala/org/apache/kyuubi/kubernetes/test/deployment/KyuubiOnKubernetesTestsSuite.scala
+++
b/integration-tests/kyuubi-kubernetes-it/src/test/scala/org/apache/kyuubi/kubernetes/test/deployment/KyuubiOnKubernetesTestsSuite.scala
@@ -21,7 +21,7 @@ import
org.apache.kyuubi.kubernetes.test.WithKyuubiServerOnKubernetes
import org.apache.kyuubi.operation.SparkQueryTests
/**
- * This test is for Kyuubi Server on Kubernetes with Spark engine:
+ * This test is for Kyuubi Server on Kubernetes with Spark engine local
deploy-mode:
*
* Real World Kubernetes Pod
* ------------ -----------------------------------------------------
@@ -38,3 +38,28 @@ class KyuubiOnKubernetesWithLocalSparkTestsSuite extends
WithKyuubiServerOnKuber
override protected def jdbcUrl: String = getJdbcUrl
}
+
+/**
+ * This test is for Kyuubi Server on Kubernetes with Spark engine On
Kubernetes client deploy-mode:
+ *
+ * Real World Kubernetes Pod
+ * ------------ -------------------------------------------------
---------------------
+ * | | JDBC | |
| |
+ * | Client | ----> | Kyuubi Server --> Spark Engine (client mode) | -->
| Spark Executors |
+ * | | | |
| |
+ * ------------ -------------------------------------------------
---------------------
+ */
+class KyuubiOnKubernetesWithClientSparkOnKubernetesTestsSuite extends
WithKyuubiServerOnKubernetes
+ with SparkQueryTests {
+ override protected val connectionConf: Map[String, String] = Map(
+ "spark.master" -> s"k8s://$getMiniKubeApiMaster",
+ "spark.submit.deployMode" -> "client",
+ "spark.kubernetes.container.image" -> "apache/spark:v3.2.1",
+ "spark.executor.memory" -> "512M",
+ "spark.driver.memory" -> "512M",
+ "spark.kubernetes.driver.request.cores" -> "250m",
+ "spark.kubernetes.executor.request.cores" -> "250m",
+ "spark.executor.instances" -> "1")
+
+ override protected def jdbcUrl: String = getJdbcUrl
+}