-
Notifications
You must be signed in to change notification settings - Fork 16.4k
[AIRFLOW-2966] Catch ApiException in the Kubernetes Executor #4209
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
Conversation
Creating a pod that exceeds a namespace's resource quota throws an ApiException. This change catches the exception and the task is re-queued inside the Executor instead of killing the scheduler.
Codecov Report
@@ Coverage Diff @@
## master #4209 +/- ##
==========================================
+ Coverage 77.7% 77.71% +<.01%
==========================================
Files 199 199
Lines 16317 16317
==========================================
+ Hits 12679 12680 +1
+ Misses 3638 3637 -1
Continue to review full report at Codecov.
|
Fokko
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @johnhofman, looking good. Thanks for rebasing and fixing the tests.
…4209) Creating a pod that exceeds a namespace's resource quota throws an ApiException. This change catches the exception and the task is re-queued inside the Executor instead of killing the scheduler.
…4209) Creating a pod that exceeds a namespace's resource quota throws an ApiException. This change catches the exception and the task is re-queued inside the Executor instead of killing the scheduler.
…4209) Creating a pod that exceeds a namespace's resource quota throws an ApiException. This change catches the exception and the task is re-queued inside the Executor instead of killing the scheduler.
Creating a pod that exceeds a namespace's resource quota throws an ApiException. This change catches the exception and the task is re-queued inside the Executor instead of killing the scheduler.
Creating a pod that exceeds a namespace's resource quota throws an ApiException. This change catches the exception and the task is re-queued inside the Executor instead of killing the scheduler.
…4209) Creating a pod that exceeds a namespace's resource quota throws an ApiException. This change catches the exception and the task is re-queued inside the Executor instead of killing the scheduler.
Description
Creating a pod that exceeds a namespace's resource quota throws an ApiException. This change catches the exception and the task is re-queued inside the Executor instead of killing the scheduler.
click 7.0was recently released butflask-appbuilder 1.11.1 has requirement click==6.7. I have pinnedclick==6.7to make the dependencies resolve.Tests
This adds a single test
TestKubernetesExecutor. test_run_next_exceptionthat covers this single scenario. Without the changes this test fails when the ApiException is not caught.This is the first test case for the
KubernetesExecutor, so I needed to add the[kubernetes]section todefault_test.cfgso that theKubernetesExecutorcan be built without exceptions.Jira ticket: https://issues.apache.org/jira/browse/AIRFLOW-2966