Properly handle RequestExpired when getting the VMs state

Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
This commit is contained in:
Pedro Algarvio 2023-02-18 06:34:51 +00:00 committed by Pedro Algarvio
parent b15106b835
commit a6e68eeb76

View file

@ -555,15 +555,21 @@ class VM:
{"Name": "tag:instance-client-id", "Values": [REPO_CHECKOUT_ID]},
]
log.info(f"Checking existing instance of {self.name}({self.config.ami})...")
instances = list(
self.ec2.instances.filter(
Filters=filters,
try:
instances = list(
self.ec2.instances.filter(
Filters=filters,
)
)
)
for _instance in instances:
if _instance.state["Name"] == "running":
instance = _instance
break
for _instance in instances:
if _instance.state["Name"] == "running":
instance = _instance
break
except ClientError as exc:
if "RequestExpired" not in str(exc):
raise
self.ctx.error(str(exc))
self.ctx.exit(1)
if instance:
self.instance = instance