Skip to content

Conversation

@mikaeld
Copy link
Contributor

@mikaeld mikaeld commented Jul 21, 2023

CeleryExecutor is being decoupled from Airflow in version 2.7.0. This work was done in PR #32526.
However, the changed Celery Worker liveness probe command breaks backward compatibility.

This PR adds a semverCompare to use the right import namespace depending on the Airflow version defined in the chart.


^ Add meaningful description above

Read the Pull Request Guidelines for more information.
In case of fundamental code changes, an Airflow Improvement Proposal (AIP) is needed.
In case of a new dependency, check compliance with the ASF 3rd Party License Policy.
In case of backwards incompatible changes please leave a note in a newsfragment file, named {pr_number}.significant.rst or {issue_number}.significant.rst, in newsfragments.

@boring-cyborg boring-cyborg bot added the area:helm-chart Airflow Helm Chart label Jul 21, 2023
@potiuk
Copy link
Member

potiuk commented Jul 21, 2023

Right. Indeed Airflow version is the "cut-off". Even if you install the new provider for <2.7.0 still the old package name and old celery classes will be used, so this is fine.

@potiuk
Copy link
Member

potiuk commented Jul 21, 2023

Thanks for finding and fixing it @mikaeld ❤️

@potiuk
Copy link
Member

potiuk commented Jul 21, 2023

Right. Indeed Airflow version is the "cut-off". Even if you install the new provider for <2.7.0 still the old package name and old celery classes will be used, so this is fine.

Actually there is an edge case :) . But I am not sure if we want to handle it @jedcunningham ....

You could potentially install the new provider for Airflow 2.6. or 2.5 and set "airflow.providers.celery.executors.celery_executor.CeleryExecutor" as your executor. Then the liveness probe would not work. But I think this case is not even properly handled by our Helm Chart yet.

@jedcunningham
Copy link
Member

Those users can set workers.livenessProbe.command in that case, probably the best answer. But yeah, the chart won't handle it nicely either way. Way too much is relying on executor: CeleryExecutor.

@mikaeld mikaeld force-pushed the fix/worker-liveness-command branch from 1d5f526 to 897bba8 Compare July 21, 2023 20:09
@potiuk potiuk force-pushed the fix/worker-liveness-command branch from 897bba8 to 3077ae3 Compare July 24, 2023 18:53
@jedcunningham jedcunningham merged commit f12b161 into apache:main Jul 24, 2023
@mikaeld mikaeld deleted the fix/worker-liveness-command branch July 24, 2023 20:44
@ephraimbuddy ephraimbuddy added the changelog:skip Changes that should be skipped from the changelog (CI, tests, etc..) label Aug 2, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:helm-chart Airflow Helm Chart changelog:skip Changes that should be skipped from the changelog (CI, tests, etc..)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants