diff --git a/airflow/providers/amazon/aws/operators/ecs.py b/airflow/providers/amazon/aws/operators/ecs.py index b6bae92388190..8eda5d200be88 100644 --- a/airflow/providers/amazon/aws/operators/ecs.py +++ b/airflow/providers/amazon/aws/operators/ecs.py @@ -409,6 +409,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 1dde03b3249f1..6844b7461d331 100644 --- a/tests/providers/amazon/aws/operators/test_ecs.py +++ b/tests/providers/amazon/aws/operators/test_ecs.py @@ -219,6 +219,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 @@ -490,6 +491,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( [ @@ -538,6 +540,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