From d1e13b4022e5ac3d103c9ad0c135b11fc7e0fe0c Mon Sep 17 00:00:00 2001 From: Dongjoon Hyun Date: Mon, 28 Aug 2023 15:59:52 -0700 Subject: [PATCH] [SPARK-44995][K8S] Promote SparkKubernetesClientFactory to DeveloperApi --- .../deploy/k8s/SparkKubernetesClientFactory.scala | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/resource-managers/kubernetes/core/src/main/scala/org/apache/spark/deploy/k8s/SparkKubernetesClientFactory.scala b/resource-managers/kubernetes/core/src/main/scala/org/apache/spark/deploy/k8s/SparkKubernetesClientFactory.scala index bc0e7934024b2..3763aeadea0ef 100644 --- a/resource-managers/kubernetes/core/src/main/scala/org/apache/spark/deploy/k8s/SparkKubernetesClientFactory.scala +++ b/resource-managers/kubernetes/core/src/main/scala/org/apache/spark/deploy/k8s/SparkKubernetesClientFactory.scala @@ -30,18 +30,28 @@ import okhttp3.Dispatcher import okhttp3.OkHttpClient import org.apache.spark.SparkConf +import org.apache.spark.annotation.{DeveloperApi, Since, Stable} import org.apache.spark.deploy.k8s.Config._ import org.apache.spark.internal.Logging import org.apache.spark.internal.config.ConfigEntry import org.apache.spark.util.ThreadUtils /** + * :: DeveloperApi :: + * * Spark-opinionated builder for Kubernetes clients. It uses a prefix plus common suffixes to * parse configuration keys, similar to the manner in which Spark's SecurityManager parses SSL * options for different components. + * + * This can be used to implement new ExternalClusterManagers. + * + * @since 4.0.0 */ -private[spark] object SparkKubernetesClientFactory extends Logging { +@Stable +@DeveloperApi +object SparkKubernetesClientFactory extends Logging { + @Since("4.0.0") def createKubernetesClient( master: String, namespace: Option[String],