in src/workflow/lambda.py [0:0]
def _create_sagemaker_image(self, image_name, role, timeout, start_time) :
try :
info = self.sm.describe_image(ImageName=image_name)
if info :
self.sm.update_image(ImageName = image_name,
RoleArn = role)
else :
self.sm.create_image(ImageName = image_name,
RoleArn = role)
except :
self.sm.create_image(ImageName = image_name,
RoleArn = role)
while(True) :
info = self.sm.describe_image(ImageName=image_name)
if info["ImageStatus"] == "CREATED" :
self.update_and_next(info)
break
elif info["ImageStatus"] == "CREATE_FAILED" or \
info["ImageStatus"] == "UPDATE_FAILED" or \
info["ImageStatus"] == "DELETE_FAILED" or \
info["ImageStatus"] == "DELETING" :
self.update_and_next(info)
raise Exception(f"Failed to create SageMaker image: {info}.")
else :
self._handle_wait(start_time, timeout)