fix(ecr): handle LifecyclePolicyNotFoundException (#2411)

Co-authored-by: Pepe Fagoaga <pepe@verica.io>
This commit is contained in:
Sergio Garcia
2023-05-26 17:15:49 +02:00
committed by GitHub
parent 41fa6bc8ed
commit 6e4131fee4

View File

@@ -103,15 +103,27 @@ class ECR:
if regional_client.region in self.registries: if regional_client.region in self.registries:
for repository in self.registries[regional_client.region].repositories: for repository in self.registries[regional_client.region].repositories:
client = self.regional_clients[repository.region] client = self.regional_clients[repository.region]
policy = client.get_lifecycle_policy(repositoryName=repository.name) try:
if "lifecyclePolicyText" in policy: policy = client.get_lifecycle_policy(
repository.lifecycle_policy = policy["lifecyclePolicyText"] repositoryName=repository.name
)
if "lifecyclePolicyText" in policy:
repository.lifecycle_policy = policy["lifecyclePolicyText"]
except ClientError as error:
if (
error.response["Error"]["Code"]
== "LifecyclePolicyNotFoundException"
):
logger.warning(
f"{regional_client.region} --"
f" {error.__class__.__name__}[{error.__traceback__.tb_lineno}]:"
f" {error}"
)
except Exception as error: except Exception as error:
if "LifecyclePolicyNotFoundException" not in str(error): logger.error(
logger.error( f"{regional_client.region} -- {error.__class__.__name__}[{error.__traceback__.tb_lineno}]: {error}"
f"{regional_client.region} -- {error.__class__.__name__}[{error.__traceback__.tb_lineno}]: {error}" )
)
def __get_image_details__(self, regional_client): def __get_image_details__(self, regional_client):
logger.info("ECR - Getting images details...") logger.info("ECR - Getting images details...")