Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AIP-51 - Misc Executor Coupling in UI #27933

Open
o-nikolas opened this issue Nov 25, 2022 · 0 comments
Open

AIP-51 - Misc Executor Coupling in UI #27933

o-nikolas opened this issue Nov 25, 2022 · 0 comments
Labels
AIP-51 AIP-51: Remove executor coupling from Core

Comments

@o-nikolas
Copy link
Contributor

Overview

There are pages in the Airflow UI which are specific to particular Executors.

Examples

  • 6a) Kube yaml can be rendered in the UI for KubernetesExecutor and CeleryKubernetesExecutor, at the /rendered-k8s url.
    Views code:
    if not settings.IS_K8S_OR_K8SCELERY_EXECUTOR:

    Associated TI code:
    def get_rendered_k8s_spec(self, session: Session = NEW_SESSION):
  • 6b) A warning popup is show in the UI when using the SequentialExecutor.
    Views code:
    extra_args['sequential_executor_warning'] = conf.get('core', 'executor') == 'SequentialExecutor'

    Associated message in dags.html:
    {% if sequential_executor_warning | default(false) %}
    {% call show_message(category='warning', dismissible=false) %}
    Do not use <b>SequentialExecutor</b> in production.
    <a href={{ get_docs_url("executor/index.html") }}><b>Click here</b></a> for more information.
    {% endcall %}
    {% endif %}

Proposal

A pluggable mechanism for Executor subclasses to vend UI views to then be used in views.py. This would allow all Executors to have UI components without needing to modify core Airflow code. There are not many instance of this coupling and it would be a more involved implementation which might not be used often. It isn't as high priority as other coupling types, but should still be addressed. There are also projects underway to migrate Airflow UI to a different framework, which would likely affect how this coupling would be solved.

@o-nikolas o-nikolas added the AIP-51 AIP-51: Remove executor coupling from Core label Nov 25, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
AIP-51 AIP-51: Remove executor coupling from Core
Projects
Development

No branches or pull requests

1 participant