Re-raise exceptions in upload-to-image

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 6673a1d6b3)
This commit is contained in:
Jon Bernard 2014-04-11 10:44:55 -04:00 committed by Chuck Short
parent 978b036a64
commit 1815c725f8
1 changed files with 2 additions and 0 deletions

View File

@ -264,6 +264,8 @@ class VolumeActionsController(wsgi.Controller):
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')