mpolatcan opened a new issue #12341: URL: https://github.com/apache/airflow/issues/12341
Hi Airflow community ✋ I have detected bug on Airflow webserver. I have deployed Airflow cluster that uses Kubernetes executor, runs on production AWS EKS cluster. All configurations are correct and runs successfully tasks on DAGs. But when I want to run specific task on DAG, that throws error like that:  But, I have checked my KubernetesExecutor configurations all of them are correct. So, I have digged error on source code of Airflow webserver at tag 1.10.12 which I have deployed version of Airflow. And found that some import errors are ignored for KubernetesExecutor on file https://github.com/apache/airflow/blob/1.10.12/airflow/www/views.py at line 1152 ```python executor = ExecutorLoader.get_default_executor() valid_celery_config = False valid_kubernetes_config = False try: from airflow.executors.celery_executor import CeleryExecutor # noqa valid_celery_config = isinstance(executor, CeleryExecutor) except ImportError: pass try: from airflow.contrib.executors.kubernetes_executor import KubernetesExecutor # noqa valid_kubernetes_config = isinstance(executor, KubernetesExecutor) except ImportError: pass if not valid_celery_config and not valid_kubernetes_config: flash("Only works with the Celery or Kubernetes executors, sorry", "error") return redirect(origin) ``` In there, bug in this code snippet ```python try: from airflow.contrib.executors.kubernetes_executor import KubernetesExecutor # BUG IS HERE !!! valid_kubernetes_config = isinstance(executor, KubernetesExecutor) except ImportError: pass ``` Import statement raises error KubernetesExecutor not found in this module because when you look that module at tag 1.10.12 https://github.com/apache/airflow/blob/1.10.12/airflow/contrib/executors/kubernetes_executor.py, there is no KubernetesExecutor class, only includes kubernetes_executor module which it is KubernetesExecutor's location. But when you use that you need to change the code like that: ```python try: from airflow.contrib.executors.kubernetes_executor import kubernetes_executor valid_kubernetes_config = isinstance(executor, kubernetes_executor.KubernetesExecutor) except ImportError: pass ``` or: ```python try: from airflow.executors.kubernetes_executor import KubernetesExecutor valid_kubernetes_config = isinstance(executor, KubernetesExecutor) except ImportError: pass ``` This error block user to run single task with KubernetesExecutor without run whole DAG. Thanks, have a nice day 👍 😄 ---------------------------------------------------------------- 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. For queries about this service, please contact Infrastructure at: [email protected]
