zlosim opened a new issue, #37261:
URL: https://github.com/apache/airflow/issues/37261

   ### Apache Airflow Provider(s)
   
   cncf-kubernetes
   
   ### Versions of Apache Airflow Providers
   
   7.14.0
   
   ### Apache Airflow version
   
   2.7.2
   
   ### Operating System
   
   aws
   
   ### Deployment
   
   Amazon (AWS) MWAA
   
   ### Deployment details
   
   _No response_
   
   ### What happened
   
   Im trying to run SparkKubernetesOperator passing template as python dict via 
template_spec , in this map Im trying to pass {{ds}} as one of the argument for 
the app. when I check the airflow UI i can see it was rendered correctly 
   
![gAJORwT](https://github.com/apache/airflow/assets/3896837/4a2a5897-6f77-4a48-8225-d05f08dfcdfb)
    but when i check the app in K8s directly i can see it was not submitted 
with rendered argument
   ```
   $ kubectl get sparkapplications.sparkoperator.k8s.io -n spark  xyz-ipc2kunh 
-o yaml
   
   apiVersion: sparkoperator.k8s.io/v1beta2
   kind: SparkApplication
   metadata:
     creationTimestamp: "2024-02-08T19:58:25Z"
     generation: 1
     name: xyz-ipc2kunh
     namespace: spark
     resourceVersion: "203894782"
     uid: 52cbdba9-0269-4dce-b7d1-d14e822dcde4
   spec:
     arguments:
     - '{{ds}}'
     driver:
       coreLimit: 1200m
       cores: 1
       labels:
         version: 3.5.0
       memory: 1g
       serviceAccount: spark-operator-spark
     executor:
       cores: 1
       labels:
         version: 3.5.0
       memory: 8g
     hadoopConf: {}
     image: spark:3.5.0
     imagePullPolicy: Always
     mainApplicationFile: 
local:///opt/spark/examples/jars/spark-examples_2.12-3.5.0.jar
     mainClass: org.apache.spark.examples.SparkPi
     mode: cluster
     restartPolicy:
       type: Never
     sparkConf:
       spark.jars.ivy: /tmp
       spark.kubernetes.authenticate.driver.serviceAccountName: zeppelin-server
       spark.kubernetes.driver.service.deleteOnTermination: "false"
     sparkVersion: 3.5.0
     timeToLiveSeconds: 1800
     type: Scala
   status:
     applicationState:
       errorMessage: 'driver container failed with ExitCode: 1, Reason: Error'
       state: FAILED
     driverInfo:
       podName: xyz-ipc2kunh-driver
       webUIAddress: 10.100.194.61:0
       webUIPort: 4040
       webUIServiceName: xyz-ipc2kunh-ui-svc
     executionAttempts: 1
     executorState:
       spark-pi-4732d98d8a4cf813-exec-1: COMPLETED
     lastSubmissionAttemptTime: "2024-02-08T19:58:30Z"
     sparkApplicationId: spark-d87f2f6f028943c2910968a709719ec1
     submissionAttempts: 1
     submissionID: ca78be37-e059-4863-9259-1dfd2758aaa7
     terminationTime: "2024-02-08T19:58:43Z"
   
   ```
   
   ### What you think should happen instead
   
   airflow should submit spark app with rendered template
   
   ### How to reproduce
   
   you can use this dag and then check the spark app created
   ```
   from datetime import datetime, timedelta
   from airflow import DAG
   from airflow.providers.cncf.kubernetes.operators.spark_kubernetes import 
SparkKubernetesOperator
   
   
   DAG_ID = "data-migration3"
   spec = {'apiVersion': 'sparkoperator.k8s.io/v1beta2',
           'kind': 'SparkApplication',
           'metadata': {'namespace': 'spark'},
           'spec': {
               'arguments': ['{{ds}}'],
               'driver': {
                   'coreLimit': '1200m',
                   'cores': 1,
                   'labels': {'version': '3.5.0'},
                   'memory': '1g',
                   'serviceAccount': 'spark-operator-spark',
               },
               'executor': {
                   'cores': 1,
                   'labels': {'version': '3.5.0'},
                   'memory': '8g',
               },
               'hadoopConf': {},
               'image': 'spark:3.5.0',
               'imagePullPolicy': 'Always',
               'mainApplicationFile': 
'local:///opt/spark/examples/jars/spark-examples_2.12-3.5.0.jar',
               'mainClass': 'org.apache.spark.examples.SparkPi',
               'mode': 'cluster',
               'restartPolicy': {'type': 'Never'},
               'sparkConf': {
                   'spark.jars.ivy': '/tmp',
                   'spark.kubernetes.authenticate.driver.serviceAccountName': 
'zeppelin-server',
                   'spark.kubernetes.driver.service.deleteOnTermination': 
'false',
               },
               'sparkVersion': '3.5.0',
               'timeToLiveSeconds': 1800,
               'type': 'Scala'}}
   with DAG(
           DAG_ID,
           default_args={"max_active_runs": 1},
           description="migrate data from backups to new tables",
           schedule="5 4 2 * *",
           start_date=datetime(2023, 11, 22),
           end_date=datetime(2023, 12, 22),
           catchup=True,
   ) as dag:
       SparkKubernetesOperator(
           base_container_name="spark-kubernetes-driver",
           retries=0,
           retry_exponential_backoff=True,
           max_retry_delay=timedelta(minutes=3),
           retry_delay=timedelta(seconds=10),
           depends_on_past=False,
           task_id="{}".format("xyz"),
           namespace="spark",
           delete_on_termination=False,
           reattach_on_restart=True,
           get_logs=True,
           log_events_on_failure=True,
           name="xyz",
           template_spec=spec,
           kubernetes_conn_id='dwh_eks',
           dag=dag
       )
   
   ```
   
   ### Anything else
   
   _No response_
   
   ### Are you willing to submit PR?
   
   - [ ] Yes I am willing to submit a PR!
   
   ### Code of Conduct
   
   - [X] I agree to follow this project's [Code of 
Conduct](https://github.com/apache/airflow/blob/main/CODE_OF_CONDUCT.md)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to