From 9c095cc4db3eccb6c2fefc6df01e46af0925cc01 Mon Sep 17 00:00:00 2001 From: weikeyou Date: Mon, 5 Feb 2018 16:51:14 +0800 Subject: [PATCH] Handle exception on searching for images If an error occurs when search images,It will always be a "creating" state, although the container has failed to create. Add exception in in searching for images when create containers. Change-Id: Ic1f3dd27e99bdf70848f7ca8750543fc30452350 Closes-bug: #1747374 --- zun/compute/api.py | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/zun/compute/api.py b/zun/compute/api.py index ea1f42ec1..3609ccfdc 100644 --- a/zun/compute/api.py +++ b/zun/compute/api.py @@ -55,11 +55,17 @@ class API(object): # before proceeding to create container. If image is not found, # container create will fail with 400 status. if CONF.api.enable_image_validation: - images = self.rpcapi.image_search( - context, new_container.image, - new_container.image_driver, True, host_state['host']) - if not images: - raise exception.ImageNotFound(image=new_container.image) + try: + images = self.rpcapi.image_search( + context, new_container.image, + new_container.image_driver, True, host_state['host']) + if not images: + raise exception.ImageNotFound(image=new_container.image) + except Exception as e: + new_container.status = consts.ERROR + new_container.status_reason = str(e) + new_container.save(context) + raise self._record_action_start(context, new_container, container_actions.CREATE)