Vague error message when trying to create a volume size that exceeds quota

Bug #1012883 reported by Devin Carlen
16
This bug affects 2 people
Affects Status Importance Assigned to Milestone
OpenStack Dashboard (Horizon)
Fix Released
Medium
John Postlethwait

Bug Description

Horizon displays a confusing error message if a user tries to create a volume that exceeds the quota for volume size:

"Error: Error Creating Volume: The server has either erred or is incapable of performing the requested operation."

The underlying exception is a QuotaError which should be handled explicitly. Full logs:

2012-06-13 21:58:48 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1053, in get_response
2012-06-13 21:58:48 TRACE nova.api.openstack application, catch_exc_info=False)
2012-06-13 21:58:48 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1022, in call_application
2012-06-13 21:58:48 TRACE nova.api.openstack app_iter = application(self.environ, start_response)
2012-06-13 21:58:48 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/keystone/middleware/auth_token.py", line 176, in __call__
2012-06-13 21:58:48 TRACE nova.api.openstack return self.app(env, start_response)
2012-06-13 21:58:48 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 159, in __call__
2012-06-13 21:58:48 TRACE nova.api.openstack return resp(environ, start_response)
2012-06-13 21:58:48 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 159, in __call__
2012-06-13 21:58:48 TRACE nova.api.openstack return resp(environ, start_response)
2012-06-13 21:58:48 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 159, in __call__
2012-06-13 21:58:48 TRACE nova.api.openstack return resp(environ, start_response)
2012-06-13 21:58:48 TRACE nova.api.openstack File "/usr/lib/pymodules/python2.7/routes/middleware.py", line 131, in __call__
2012-06-13 21:58:48 TRACE nova.api.openstack response = self.app(environ, start_response)
2012-06-13 21:58:48 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 159, in __call__
2012-06-13 21:58:48 TRACE nova.api.openstack return resp(environ, start_response)
2012-06-13 21:58:48 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 147, in __call__
2012-06-13 21:58:48 TRACE nova.api.openstack resp = self.call_func(req, *args, **self.kwargs)
2012-06-13 21:58:48 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 208, in call_func
2012-06-13 21:58:48 TRACE nova.api.openstack return self.func(req, *args, **kwargs)
2012-06-13 21:58:48 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/nova/api/openstack/wsgi.py", line 803, in __call__
2012-06-13 21:58:48 TRACE nova.api.openstack content_type, body, accept)
2012-06-13 21:58:48 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/nova/api/openstack/wsgi.py", line 851, in _process_stack
2012-06-13 21:58:48 TRACE nova.api.openstack action_result = self.dispatch(meth, request, action_args)
2012-06-13 21:58:48 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/nova/api/openstack/wsgi.py", line 926, in dispatch
2012-06-13 21:58:48 TRACE nova.api.openstack return method(req=request, **action_args)
2012-06-13 21:58:48 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/nova/api/openstack/volume/volumes.py", line 249, in create
2012-06-13 21:58:48 TRACE nova.api.openstack **kwargs)
2012-06-13 21:58:48 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/nova/volume/api.py", line 87, in create
2012-06-13 21:58:48 TRACE nova.api.openstack raise exception.QuotaError(code="VolumeSizeTooLarge")
2012-06-13 21:58:48 TRACE nova.api.openstack QuotaError: Quota exceeded: code=VolumeSizeTooLarge

Devin Carlen (devcamcar)
Changed in horizon:
importance: Undecided → Medium
status: New → Confirmed
milestone: folsom-3 → folsom-2
Changed in horizon:
assignee: Nebula (nebula) → John Postlethwait (john-postlethwait)
status: Confirmed → In Progress
Revision history for this message
John Postlethwait (john-postlethwait) wrote :
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to horizon (master)

Fix proposed to branch: master
Review: https://review.openstack.org/8892

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to horizon (master)

Reviewed: https://review.openstack.org/8892
Committed: http://github.com/openstack/horizon/commit/406cb5d56cd9e3b8afbea45c209150707db7bcb3
Submitter: Jenkins
Branch: master

commit 406cb5d56cd9e3b8afbea45c209150707db7bcb3
Author: John Postlethwait <email address hidden>
Date: Sat Jun 23 13:58:35 2012 -0700

    Volume Progress Bar & Fixes For Quota

    When a volume creation exceed the allocation quota
    a vague error message was returned that offered the
    user no guidance as to what went wrong. This has
    been fixed.

    Fixes Bug #1012883

    This change also abstracts the Quota javascript to
    allow it to be used anywhere on the site for any
    progress bars that are to be shown in the future.

    Implements blueprint progress-bar-javascript

    On top of this I have renamed all "can_haz" filters
    in the code, as they are really sort of embarassing.

    Lastly, I have added the ability to append JS
    events to the window load when a modal is loaded as
    a static page, OR when it is loaded as an AJAX
    modal.

    Change-Id: I4b0cefa160cafbbd07d4b0981f62febaed051871

Changed in horizon:
status: In Progress → Fix Committed
Thierry Carrez (ttx)
Changed in horizon:
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in horizon:
milestone: folsom-2 → 2012.2
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.