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

   ### Under which category would you file this issue?
   
   Providers
   
   ### Apache Airflow version
   
   3.3
   
   ### What happened and how to reproduce it?
   
   When we try to run a dag with `executor_config={"KubernetesExecutor": 
{"config_file": "/some/path/kubeconfig.yaml"}}`, the task gets stuck in a 
`Queued` state and never actually triggers or fails. Further inspecting the 
scheduler logs shows the below:
   ```
   → export 
KUBECONFIG=/Users/81045729/Documents/constant_variables/airflow/.build/.k8s-clusters/airflow-python-3.10-v1.30.13/.kubeconfig
 && kubectl logs -n airflow airflow-scheduler-58dcc9f6cf-qnbvj -c scheduler 
2>&1 | grep -i "Invalid 
executor_config\|TypeError\|error.*executor\|execute_async\|run_next\|Cannot 
convert" | tail -20
   2026-05-28T11:06:02.185119Z [error    ] Invalid executor_config for 
TaskInstanceKey(dag_id='test_k8s_executor_config_legacy', 
task_id='check_for_failure', run_id='manual__2026-05-28T11:06:01.899410+00:00', 
try_number=1, map_index=-1). Executor_config: {'KubernetesExecutor': 
{'config_file': '/some/path/kubeconfig.yaml'}} 
[airflow.providers.cncf.kubernetes.executors.kubernetes_executor.KubernetesExecutor]
 loc=kubernetes_executor.py:221
   ```
   
   ### What you think should happen instead?
   
   Task should fail gracefully or continue with a deprecation warning to switch 
to using `pod_override` attribute inside `executor_config`.
   
   ### Operating System
   
   MacOS
   
   ### Deployment
   
   Virtualenv installation
   
   ### Apache Airflow Provider(s)
   
   cncf-kubernetes
   
   ### Versions of Apache Airflow Providers
   
   Issue not restricted to a specific provider version
   
   ### Official Helm Chart version
   
   Not Applicable
   
   ### Kubernetes Version
   
   _No response_
   
   ### Helm Chart configuration
   
   _No response_
   
   ### Docker Image customizations
   
   _No response_
   
   ### Anything else?
   
   To reproduce, you can create the below dag, place it in 
`airflow-core/src/airflow/example_dags/`, and deploy the airflow server with 
`KubernetesExecutor` as mentioned in [contribution 
docs](https://github.com/kunaljubce/airflow/blob/main/contributing-docs/testing/k8s_tests.rst#typical-testing-pattern-for-kubernetes-tests):
   
   ```
   from airflow.providers.standard.operators.python import PythonOperator
   from airflow.sdk import DAG
   import pendulum
   
   def useless_func():
       pass
   
   with DAG(
       dag_id = "test_k8s_executor_config_legacy",
       schedule = None,
       start_date=pendulum.datetime(2021, 1, 1, tz="UTC"),
       catchup=False,
   ) as dag:
       
       run_this = PythonOperator(
           task_id = "check_for_failure",
           python_callable = useless_func,
           executor_config={"KubernetesExecutor": {"config_file": 
"/some/path/kubeconfig.yaml"}}
       )
   
       run_this
   ```
   
   Once all commands have executed successfully, you should see the URL for the 
airflow UI in the console logs, looking like below (your port might be 
different to mine, verify from console logs):
   ```
   KinD Cluster API server URL: http://localhost:44498
   Connecting to localhost:34814. Num try: 1
   Error when connecting to localhost:34814 : ('Connection aborted.', 
RemoteDisconnected('Remote end closed connection without response'))
   Sleeping for 5 seconds.
   Connecting to localhost:34814. Num try: 2
   Error when connecting to localhost:34814 : ('Connection aborted.', 
RemoteDisconnected('Remote end closed connection without response'))
   Sleeping for 5 seconds.
   Connecting to localhost:34814. Num try: 3
   Established connection to api server at 
http://localhost:34814/api/v2/monitor/health and it is healthy.
   Airflow API server URL: http://localhost:34814 (admin/admin)                
<<<<---- Airflow UI URL
   
   
   NEXT STEP: You might now run tests or interact with airflow via shell 
(kubectl, pytest etc.) or k9s commands:
   ```
   
   Copy and paste the URL on your browser, trigger the DAG and watch it go into 
queued state
   
   ### Are you willing to submit PR?
   
   - [x] 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