From 230d6c2cd7c98802c235e16d806fe80810c91f11 Mon Sep 17 00:00:00 2001 From: Eli Acherkan Date: Tue, 16 Jul 2024 16:10:35 +0300 Subject: [PATCH 1/3] ecs_taskdefinition: use `aws_retry` to avoid throttling exception --- plugins/modules/ecs_taskdefinition.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/modules/ecs_taskdefinition.py b/plugins/modules/ecs_taskdefinition.py index 25a786e4f4c..10ab179fdef 100644 --- a/plugins/modules/ecs_taskdefinition.py +++ b/plugins/modules/ecs_taskdefinition.py @@ -929,7 +929,7 @@ def fetch(): return list( sorted( [ - self.ecs.describe_task_definition(taskDefinition=arn)["taskDefinition"] + self.ecs.describe_task_definition(aws_retry=True, taskDefinition=arn)["taskDefinition"] for arn in data["taskDefinitionArns"] ], key=lambda td: td["revision"], From 7f1b60827b7b264a1f37475992c5e23993b3e6e3 Mon Sep 17 00:00:00 2001 From: Eli Acherkan Date: Tue, 16 Jul 2024 16:42:50 +0300 Subject: [PATCH 2/3] Add changelog fragment --- changelogs/fragments/2124-add-retry-to-ecs_taskdefinition.yml | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 changelogs/fragments/2124-add-retry-to-ecs_taskdefinition.yml diff --git a/changelogs/fragments/2124-add-retry-to-ecs_taskdefinition.yml b/changelogs/fragments/2124-add-retry-to-ecs_taskdefinition.yml new file mode 100644 index 00000000000..cd03aab2d41 --- /dev/null +++ b/changelogs/fragments/2124-add-retry-to-ecs_taskdefinition.yml @@ -0,0 +1,2 @@ +bugfixes: + - ecs_taskdefinition - avoid throttling exceptions on task definitions with a large number of revisions by using the retry mechanism (https://github.com/ansible-collections/community.aws/issues/2123). From 259624c3ba1bc705154697e1dba107de9d149a44 Mon Sep 17 00:00:00 2001 From: Eli Acherkan Date: Fri, 19 Jul 2024 15:24:12 +0300 Subject: [PATCH 3/3] ecs_taskdefinition: `aws_retry=True` on all API calls --- plugins/modules/ecs_taskdefinition.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/modules/ecs_taskdefinition.py b/plugins/modules/ecs_taskdefinition.py index 10ab179fdef..9f8871def49 100644 --- a/plugins/modules/ecs_taskdefinition.py +++ b/plugins/modules/ecs_taskdefinition.py @@ -916,7 +916,7 @@ def fetch(): if data["nextToken"]: params["nextToken"] = data["nextToken"] - result = self.ecs.list_task_definitions(**params) + result = self.ecs.list_task_definitions(aws_retry=True, **params) data["taskDefinitionArns"] += result["taskDefinitionArns"] data["nextToken"] = result.get("nextToken", None) return data["nextToken"] is not None @@ -937,7 +937,7 @@ def fetch(): ) def deregister_task(self, taskArn): - response = self.ecs.deregister_task_definition(taskDefinition=taskArn) + response = self.ecs.deregister_task_definition(aws_retry=True, taskDefinition=taskArn) return response["taskDefinition"]