This is an automated email from the ASF dual-hosted git repository.
o-nikolas pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/main by this push:
new 8851f2f05d1 Fix unreachable success log in
EksDeleteClusterOperator.execute_complete (#73109)
8851f2f05d1 is described below
commit 8851f2f05d1f67668d2261ede444ae342f77fd8d
Author: Abhinav <[email protected]>
AuthorDate: Fri Sep 25 00:40:58 2026 +0530
Fix unreachable success log in EksDeleteClusterOperator.execute_complete
(#73109)
Check the right event status on returning from triggerer ("deleted" instead
of "success"), this makes previously unreachable code execute correctly.
---
.../amazon/src/airflow/providers/amazon/aws/operators/eks.py | 4 +++-
providers/amazon/tests/unit/amazon/aws/operators/test_eks.py | 9 +++++----
2 files changed, 8 insertions(+), 5 deletions(-)
diff --git a/providers/amazon/src/airflow/providers/amazon/aws/operators/eks.py
b/providers/amazon/src/airflow/providers/amazon/aws/operators/eks.py
index cdb63543649..3b54c32eb16 100644
--- a/providers/amazon/src/airflow/providers/amazon/aws/operators/eks.py
+++ b/providers/amazon/src/airflow/providers/amazon/aws/operators/eks.py
@@ -886,7 +886,9 @@ class EksDeleteClusterOperator(AwsBaseOperator[EksHook]):
def execute_complete(self, context: Context, event: dict[str, Any] | None
= None) -> None:
validated_event = validate_execute_complete_event(event)
- if validated_event["status"] == "deleted":
+ # EksDeleteClusterTrigger yields status "deleted" when the cluster is
gone.
+ # Also accept "success" so a future transition to the usual event
keeps working.
+ if validated_event["status"] in ("deleted", "success"):
self.log.info("Cluster deleted successfully.")
diff --git a/providers/amazon/tests/unit/amazon/aws/operators/test_eks.py
b/providers/amazon/tests/unit/amazon/aws/operators/test_eks.py
index 8c663a23073..f95be60d51d 100644
--- a/providers/amazon/tests/unit/amazon/aws/operators/test_eks.py
+++ b/providers/amazon/tests/unit/amazon/aws/operators/test_eks.py
@@ -760,10 +760,11 @@ class TestEksDeleteClusterOperator:
with pytest.raises(TaskDeferred):
self.delete_cluster_operator.execute({})
- def test_execute_complete_logs_success_when_cluster_deleted(self, caplog):
- # EksDeleteClusterTrigger reports a deleted cluster with the status
"deleted".
- self.delete_cluster_operator.execute_complete({}, event={"status":
"deleted"})
-
+ @pytest.mark.parametrize("status", ["deleted", "success"])
+ def test_execute_complete_when_trigger_yields_deleted(self, caplog,
status):
+ # EksDeleteClusterTrigger reports a deleted cluster with status
"deleted".
+ # Also accept "success" for forward-compat with the usual event.
+ self.delete_cluster_operator.execute_complete(context={},
event={"status": status})
assert "Cluster deleted successfully." in caplog.messages
@mock.patch("time.sleep", return_value=None)