Poll on the actual image showing up
Turns out just polling on the task completion doesn't mean you actually have the image. You also need to poll on the image becoming a thing in glance. Change-Id: I910ac612e6af1f5888c1820a09ee79fab012bdae
This commit is contained in:
parent
b03f1f3b59
commit
7eb7c4c89a
@ -1027,10 +1027,12 @@ class OpenStackCloud(object):
|
|||||||
container=container, name=name),
|
container=container, name=name),
|
||||||
image_properties=dict(name=name))))
|
image_properties=dict(name=name))))
|
||||||
if wait:
|
if wait:
|
||||||
|
image_id = None
|
||||||
for count in _iterate_timeout(
|
for count in _iterate_timeout(
|
||||||
timeout,
|
timeout,
|
||||||
"Timeout waiting for the image to import."):
|
"Timeout waiting for the image to import."):
|
||||||
try:
|
try:
|
||||||
|
if image_id is None:
|
||||||
status = self.manager.submitTask(
|
status = self.manager.submitTask(
|
||||||
_tasks.ImageTaskGet(task_id=glance_task.id))
|
_tasks.ImageTaskGet(task_id=glance_task.id))
|
||||||
except glanceclient.exc.HTTPServiceUnavailable:
|
except glanceclient.exc.HTTPServiceUnavailable:
|
||||||
@ -1038,9 +1040,17 @@ class OpenStackCloud(object):
|
|||||||
continue
|
continue
|
||||||
|
|
||||||
if status.status == 'success':
|
if status.status == 'success':
|
||||||
|
image_id = status.result['image_id']
|
||||||
self._reset_image_cache()
|
self._reset_image_cache()
|
||||||
|
try:
|
||||||
|
image = self.get_image(image_id)
|
||||||
|
except glanceclient.exc.HTTPServiceUnavailable:
|
||||||
|
# Intermittent failure - catch and try again
|
||||||
|
continue
|
||||||
|
if image is None:
|
||||||
|
continue
|
||||||
self.update_image_properties(
|
self.update_image_properties(
|
||||||
name_or_id=status.result['image_id'],
|
image=image,
|
||||||
**image_properties)
|
**image_properties)
|
||||||
return self.get_image_dict(status.result['image_id'])
|
return self.get_image_dict(status.result['image_id'])
|
||||||
if status.status == 'failure':
|
if status.status == 'failure':
|
||||||
|
Loading…
Reference in New Issue
Block a user