diff --git a/airflow/providers/amazon/aws/operators/ecs.py b/airflow/providers/amazon/aws/operators/ecs.py index 5ea364687e1c8..a3c3a13c1a877 100644 --- a/airflow/providers/amazon/aws/operators/ecs.py +++ b/airflow/providers/amazon/aws/operators/ecs.py @@ -413,6 +413,7 @@ def _try_reattach_task(self, context): ) if previous_task_arn in running_tasks: self.arn = previous_task_arn + self.ecs_task_id = self.arn.split("/")[-1] self.log.info("Reattaching previously launched task: %s", self.arn) else: self.log.info("No active previously launched task found to reattach") diff --git a/tests/providers/amazon/aws/operators/test_ecs.py b/tests/providers/amazon/aws/operators/test_ecs.py index e5f0bc33d12c4..687c65ab465bd 100644 --- a/tests/providers/amazon/aws/operators/test_ecs.py +++ b/tests/providers/amazon/aws/operators/test_ecs.py @@ -207,6 +207,7 @@ def test_execute_without_failures( wait_mock.assert_called_once_with() check_mock.assert_called_once_with() assert self.ecs.arn == 'arn:aws:ecs:us-east-1:012345678910:task/d8c67b3c-ac87-4ffe-a847-4785bc3a8b55' + assert self.ecs.ecs_task_id == 'd8c67b3c-ac87-4ffe-a847-4785bc3a8b55' def test_execute_with_failures(self): client_mock = self.aws_hook_mock.return_value.get_conn.return_value @@ -478,6 +479,7 @@ def test_reattach_successful( check_mock.assert_called_once_with() xcom_del_mock.assert_called_once() assert self.ecs.arn == 'arn:aws:ecs:us-east-1:012345678910:task/d8c67b3c-ac87-4ffe-a847-4785bc3a8b55' + assert self.ecs.ecs_task_id == 'd8c67b3c-ac87-4ffe-a847-4785bc3a8b55' @parameterized.expand( [ @@ -526,6 +528,7 @@ def test_reattach_save_task_arn_xcom( check_mock.assert_called_once_with() xcom_del_mock.assert_called_once() assert self.ecs.arn == 'arn:aws:ecs:us-east-1:012345678910:task/d8c67b3c-ac87-4ffe-a847-4785bc3a8b55' + assert self.ecs.ecs_task_id == 'd8c67b3c-ac87-4ffe-a847-4785bc3a8b55' def test_execute_xcom_with_log(self): self.ecs.do_xcom_push = True