This patch catches any exceptions returned from Glance during an
upload-to-image operation and re-raises them so that the user can see
the failure message and make the appropriate adjustments. More
specifically, this addresses an invalid container format.
For example, the following command:
$ cinder upload-to-image --container-format foobar ...
Goes from:
ERROR: The server could not comply with the request since it is
either malformed or otherwise incorrect. (HTTP 400)
(Request-ID: req-
f19bad2f-c39d-40a2-a3cc-
6db9b9fe64cd)
To:
ERROR: 400 Bad Request
Invalid container format 'foobar' for image.
(HTTP 400) (HTTP 400)
(Request-ID: req-
47cb2772-78c4-48b7-87ce-
fb124ecfa989)
Closes-Bug: #
1308689
Change-Id: If18851e0b9f5c242f84b1eab928b42d809335d80
(cherry picked from commit
6673a1d6b33ca72062d35450f97de43bf550b705)
msg = "%(err_type)s: %(err_msg)s" % {'err_type': error.exc_type,
'err_msg': error.value}
raise webob.exc.HTTPBadRequest(explanation=msg)
+ except Exception as error:
+ raise webob.exc.HTTPBadRequest(explanation=unicode(error))
return {'os-volume_upload_image': response}
@wsgi.action('os-extend')