Iso 5.0-22
By default we unlim all quatas for every deployment, but If the user decide than update quota(or some of them) with valune differ that -1 He receive 500 from server with traceback
2014-05-26T16:46:15.906276+00:00 debug: 2014-05-26 16:46:13.390 19318 DEBUG nova.api.openstack.wsgi [req-2f2529c7-ff8a-4d40-93ad-ce8fc656e410 None] Action: 'update', body: {"quota_set": {"ram": "5120"}} _process_stack /usr/lib/python2.6/site-packages/nova/api/openstack/wsgi.py:940
2014-05-26T16:46:15.906276+00:00 debug: 2014-05-26 16:46:13.390 19318 DEBUG nova.api.openstack.wsgi [req-2f2529c7-ff8a-4d40-93ad-ce8fc656e410 None] Calling method '<bound method QuotaSetsController.update of <nova.api.openstack.compute.contrib.quotas.QuotaSetsController object at 0x2ffee90>>' (Content-type='application/json', Accept='application/json') _process_stack /usr/lib/python2.6/site-packages/nova/api/openstack/wsgi.py:945
2014-05-26T16:46:15.906276+00:00 debug: 2014-05-26 16:46:13.391 19318 ERROR nova.api.openstack [req-2f2529c7-ff8a-4d40-93ad-ce8fc656e410 None] Caught error: 'metadata_items'
2014-05-26T16:46:15.906276+00:00 debug: 2014-05-26 16:46:13.391 19318 TRACE nova.api.openstack Traceback (most recent call last):
2014-05-26T16:46:15.906276+00:00 debug: 2014-05-26 16:46:13.391 19318 TRACE nova.api.openstack File "/usr/lib/python2.6/site-packages/nova/api/openstack/__init__.py", line 125, in __call__
2014-05-26T16:46:15.906276+00:00 debug: 2014-05-26 16:46:13.391 19318 TRACE nova.api.openstack return req.get_response(self.application)
2014-05-26T16:46:15.906276+00:00 debug: 2014-05-26 16:46:13.391 19318 TRACE nova.api.openstack File "/usr/lib/python2.6/site-packages/webob/request.py", line 1296, in send
2014-05-26T16:46:15.906276+00:00 debug: 2014-05-26 16:46:13.391 19318 TRACE nova.api.openstack application, catch_exc_info=False)
2014-05-26T16:46:15.906276+00:00 debug: 2014-05-26 16:46:13.391 19318 TRACE nova.api.openstack File "/usr/lib/python2.6/site-packages/webob/request.py", line 1260, in call_application
2014-05-26T16:46:15.906276+00:00 debug: 2014-05-26 16:46:13.391 19318 TRACE nova.api.openstack app_iter = application(self.environ, start_response)
2014-05-26T16:46:15.906276+00:00 debug: 2014-05-26 16:46:13.391 19318 TRACE nova.api.openstack File "/usr/lib/python2.6/site-packages/webob/dec.py", line 144, in __call__
2014-05-26T16:46:15.906276+00:00 debug: 2014-05-26 16:46:13.391 19318 TRACE nova.api.openstack return resp(environ, start_response)
2014-05-26T16:46:15.906276+00:00 debug: 2014-05-26 16:46:13.391 19318 TRACE nova.api.openstack File "/usr/lib/python2.6/site-packages/keystoneclient/middleware/auth_token.py", line 582, in __call__
2014-05-26T16:46:15.906276+00:00 debug: 2014-05-26 16:46:13.391 19318 TRACE nova.api.openstack return self.app(env, start_response)
2014-05-26T16:46:15.906276+00:00 debug: 2014-05-26 16:46:13.391 19318 TRACE nova.api.openstack File "/usr/lib/python2.6/site-packages/webob/dec.py", line 144, in __call__
2014-05-26T16:46:15.906276+00:00 debug: 2014-05-26 16:46:13.391 19318 TRACE nova.api.openstack return resp(environ, start_response)
2014-05-26T16:46:15.906276+00:00 debug: 2014-05-26 16:46:13.391 19318 TRACE nova.api.openstack File "/usr/lib/python2.6/site-packages/webob/dec.py", line 144, in __call__
2014-05-26T16:46:15.906276+00:00 debug: 2014-05-26 16:46:13.391 19318 TRACE nova.api.openstack return resp(environ, start_response)
2014-05-26T16:46:15.906276+00:00 debug: 2014-05-26 16:46:13.391 19318 TRACE nova.api.openstack File "/usr/lib/python2.6/site-packages/Routes-1.12.3-py2.6.egg/routes/middleware.py", line 131, in __call__
2014-05-26T16:46:15.906276+00:00 debug: 2014-05-26 16:46:13.391 19318 TRACE nova.api.openstack response = self.app(environ, start_response)
2014-05-26T16:46:15.906276+00:00 debug: 2014-05-26 16:46:13.391 19318 TRACE nova.api.openstack File "/usr/lib/python2.6/site-packages/webob/dec.py", line 144, in __call__
2014-05-26T16:46:15.906276+00:00 debug: 2014-05-26 16:46:13.391 19318 TRACE nova.api.openstack return resp(environ, start_response)
2014-05-26T16:46:15.906276+00:00 debug: 2014-05-26 16:46:13.391 19318 TRACE nova.api.openstack File "/usr/lib/python2.6/site-packages/webob/dec.py", line 130, in __call__
2014-05-26T16:46:15.906276+00:00 debug: 2014-05-26 16:46:13.391 19318 TRACE nova.api.openstack resp = self.call_func(req, *args, **self.kwargs)
2014-05-26T16:46:15.906276+00:00 debug: 2014-05-26 16:46:13.391 19318 TRACE nova.api.openstack File "/usr/lib/python2.6/site-packages/webob/dec.py", line 195, in call_func
2014-05-26T16:46:15.906276+00:00 debug: 2014-05-26 16:46:13.391 19318 TRACE nova.api.openstack return self.func(req, *args, **kwargs)
2014-05-26T16:46:15.906276+00:00 debug: 2014-05-26 16:46:13.391 19318 TRACE nova.api.openstack File "/usr/lib/python2.6/site-packages/nova/api/openstack/wsgi.py", line 917, in __call__
2014-05-26T16:46:15.906276+00:00 debug: 2014-05-26 16:46:13.391 19318 TRACE nova.api.openstack content_type, body, accept)
2014-05-26T16:46:15.906276+00:00 debug: 2014-05-26 16:46:13.391 19318 TRACE nova.api.openstack File "/usr/lib/python2.6/site-packages/nova/api/openstack/wsgi.py", line 983, in _process_stack
2014-05-26T16:46:15.906276+00:00 debug: 2014-05-26 16:46:13.391 19318 TRACE nova.api.openstack action_result = self.dispatch(meth, request, action_args)
2014-05-26T16:46:15.906276+00:00 debug: 2014-05-26 16:46:13.391 19318 TRACE nova.api.openstack File "/usr/lib/python2.6/site-packages/nova/api/openstack/wsgi.py", line 1070, in dispatch
2014-05-26T16:46:15.906276+00:00 debug: 2014-05-26 16:46:13.391 19318 TRACE nova.api.openstack return method(req=request, **action_args)
2014-05-26T16:46:15.906276+00:00 debug: 2014-05-26 16:46:13.391 19318 TRACE nova.api.openstack File "/usr/lib/python2.6/site-packages/nova/api/openstack/compute/contrib/quotas.py", line 135, in update
2014-05-26T16:46:15.906276+00:00 debug: 2014-05-26 16:46:13.391 19318 TRACE nova.api.openstack user_id=user_id)
2014-05-26T16:46:15.906276+00:00 debug: 2014-05-26 16:46:13.391 19318 TRACE nova.api.openstack File "/usr/lib/python2.6/site-packages/nova/quota.py", line 1179, in get_settable_quotas
2014-05-26T16:46:15.906276+00:00 debug: 2014-05-26 16:46:13.391 19318 TRACE nova.api.openstack user_id=user_id)
2014-05-26T16:46:15.906276+00:00 debug: 2014-05-26 16:46:13.391 19318 TRACE nova.api.openstack File "/usr/lib/python2.6/site-packages/nova/quota.py", line 748, in get_settable_quotas
2014-05-26T16:46:15.906276+00:00 debug: 2014-05-26 16:46:13.391 19318 TRACE nova.api.openstack quotas[resource.name].update(minimum=0, maximum=-1)
2014-05-26T16:46:15.906276+00:00 debug: 2014-05-26 16:46:13.391 19318 TRACE nova.api.openstack KeyError: 'metadata_items'
2014-05-26T16:46:15.906276+00:00 debug: 2014-05-26 16:46:13.391 19318 TRACE nova.api.openstack
2014-05-26T16:46:15.906276+00:00 debug: 2014-05-26 16:46:13.411 19318 INFO nova.api.openstack [req-2f2529c7-ff8a-4d40-93ad-ce8fc656e410 None] http://10.108.1.4:8774/v2/4980a59889c44e69bea20e3febf6b04e/os-quota-sets/d06d361505a34443a828b30770418d44 returned with HTTP 500
2014-05-26T16:46:15.906276+00:00 debug: 2014-05-26 16:46:13.412 19318 DEBUG nova.api.openstack.wsgi [req-2f2529c7-ff8a-4d40-93ad-ce8fc656e410 None] Returning 500 to user: The server has either erred or is incapable of performing the requested operation. __call__ /usr/lib/python2.6/site-packages/nova/api/openstack/wsgi.py:1215
I am not sure that this is a bug if you use NoopQuotaDriver. Try to change Driver to DbQuotaDriver in nova.conf, restart nova-api and update them again.