|
19 | 19 | from airflow.utils.context import Context
|
20 | 20 | from spark_on_k8s.client import ExecutorInstances, PodResources
|
21 | 21 | from spark_on_k8s.utils.app_manager import SparkAppManager
|
| 22 | + from spark_on_k8s.utils.types import ConfigMap |
22 | 23 |
|
23 | 24 |
|
24 | 25 | class _AirflowKubernetesClientManager(KubernetesClientManager):
|
@@ -73,6 +74,7 @@ class SparkOnK8SOperator(BaseOperator):
|
73 | 74 | driver_node_selector: Node selector for the driver pod.
|
74 | 75 | executor_node_selector: Node selector for the executor pods.
|
75 | 76 | driver_tolerations: Tolerations for the driver pod.
|
| 77 | + driver_ephemeral_configmaps_volumes: List of ConfigMaps to mount as ephemeral volumes to the driver. |
76 | 78 | spark_on_k8s_service_url: URL of the Spark On K8S service. Defaults to None.
|
77 | 79 | kubernetes_conn_id (str, optional): Kubernetes connection ID. Defaults to
|
78 | 80 | "kubernetes_default".
|
@@ -141,6 +143,7 @@ def __init__(
|
141 | 143 | executor_annotations: dict[str, str] | None = None,
|
142 | 144 | driver_tolerations: list[k8s.V1Toleration] | None = None,
|
143 | 145 | executor_pod_template_path: str | None = None,
|
| 146 | + driver_ephemeral_configmaps_volumes: list[ConfigMap] | None = None, |
144 | 147 | spark_on_k8s_service_url: str | None = None,
|
145 | 148 | kubernetes_conn_id: str = "kubernetes_default",
|
146 | 149 | poll_interval: int = 10,
|
@@ -176,6 +179,7 @@ def __init__(
|
176 | 179 | self.executor_annotations = executor_annotations
|
177 | 180 | self.driver_tolerations = driver_tolerations
|
178 | 181 | self.executor_pod_template_path = executor_pod_template_path
|
| 182 | + self.driver_ephemeral_configmaps_volumes = driver_ephemeral_configmaps_volumes |
179 | 183 | self.spark_on_k8s_service_url = spark_on_k8s_service_url
|
180 | 184 | self.kubernetes_conn_id = kubernetes_conn_id
|
181 | 185 | self.poll_interval = poll_interval
|
@@ -316,6 +320,7 @@ def _submit_new_job(self, context: Context):
|
316 | 320 | driver_annotations=self.driver_annotations,
|
317 | 321 | executor_annotations=self.executor_annotations,
|
318 | 322 | driver_tolerations=self.driver_tolerations,
|
| 323 | + driver_ephemeral_configmaps_volumes=self.driver_ephemeral_configmaps_volumes, |
319 | 324 | executor_pod_template_path=self.executor_pod_template_path,
|
320 | 325 | **submit_app_kwargs,
|
321 | 326 | )
|
|
0 commit comments