Ejemplo n.º 1
0
 def _wait_for_image(self, image_id):
     logger.info(
         f"Image id is {image_id}. Waiting for 120s before checking whether image got created."
     )
     time.sleep(120)
     request = DescribeImagesRequest()
     request.set_ImageId(image_id)
     request.set_Status(",".join([
         "Creating", "Available", "UnAvailable", "CreateFailed", "Waiting"
     ]))
     max_tries = 120
     while max_tries > 0:
         max_tries -= 1
         time.sleep(10)
         response = self._send_request(request)
         #logger.info(json.dumps(response, indent=4))
         if response.get("TotalCount") >= 1:
             status = response.get("Images").get("Image")[0].get("Status")
             if status == "Available":
                 return
             else:
                 logger.info(f"Image import status: {status}")
         else:
             logger.info("Unknown image import status.")
     raise Exception(f"Image {image_id} not available.")
Ejemplo n.º 2
0
 def _image_exists(self, image_id):
     request = DescribeImagesRequest()
     request.set_ImageId(image_id)
     response = self._send_request(request)
     if response != None and "TotalCount" in response and response[
             "TotalCount"] == 1:
         return True
     else:
         return False