keystone CLI shouldn't traceback when invalid data entered:UnboundLocalError: local variable 'metadata_ref' referenced before assignment
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Identity (keystone) |
Fix Released
|
Critical
|
Chmouel Boudjnah |
Bug Description
Per Chmouel's debugging run:
- this occurred when "name" was entered into keystone, but "ID" (the UUID) was needed. The command line options are not terribly clear on what's needed.
-joe
ii keystone 2012.1~
ii python-keystone 2012.1~
ii python-
ii nova-api 2012.1~
ii nova-cert 2012.1~
ii nova-common 2012.1~
ii nova-compute 2012.1~
ii nova-compute-kvm 2012.1~
ii nova-network 2012.1~
ii nova-objectstore 2012.1~
ii nova-scheduler 2012.1~
ii python-nova 2012.1~
ii python-novaclient 2012.1~
Trying to use euca2ools on Ubuntu I run into the follow stack trace from keystone:
(this was from euca-describe-
/usr/lib/
req.response.
/usr/lib/
req.response.
/usr/lib/
req.response.
/usr/lib/
req.response.
/usr/lib/
req.response.
(root): 2012-03-17 20:27:47,420 DEBUG wsgi __call__ *******
(root): 2012-03-17 20:27:47,420 DEBUG wsgi __call__ SCRIPT_NAME = /v2.0
(root): 2012-03-17 20:27:47,420 DEBUG wsgi __call__ webob.adhoc_attrs = {'response': <Response at 0x348b310 200 OK>}
(root): 2012-03-17 20:27:47,420 DEBUG wsgi __call__ REQUEST_METHOD = POST
(root): 2012-03-17 20:27:47,420 DEBUG wsgi __call__ PATH_INFO = /tokens
(root): 2012-03-17 20:27:47,420 DEBUG wsgi __call__ SERVER_PROTOCOL = HTTP/1.0
(root): 2012-03-17 20:27:47,420 DEBUG wsgi __call__ CONTENT_LENGTH = 434
(root): 2012-03-17 20:27:47,421 DEBUG wsgi __call__ eventlet.posthooks = []
(root): 2012-03-17 20:27:47,421 DEBUG wsgi __call__ SERVER_NAME = 172.16.0.1
(root): 2012-03-17 20:27:47,421 DEBUG wsgi __call__ REMOTE_ADDR = 172.16.0.1
(root): 2012-03-17 20:27:47,421 DEBUG wsgi __call__ eventlet.input = <eventlet.
(root): 2012-03-17 20:27:47,421 DEBUG wsgi __call__ wsgi.url_scheme = http
(root): 2012-03-17 20:27:47,421 DEBUG wsgi __call__ webob._body_file = (<LimitedLength
(root): 2012-03-17 20:27:47,421 DEBUG wsgi __call__ SERVER_PORT = 5000
(root): 2012-03-17 20:27:47,421 DEBUG wsgi __call__ wsgi.input = <_io.BytesIO object at 0x347fe90>
(root): 2012-03-17 20:27:47,421 DEBUG wsgi __call__ HTTP_HOST = 172.16.0.1:5000
(root): 2012-03-17 20:27:47,421 DEBUG wsgi __call__ wsgi.multithread = True
(root): 2012-03-17 20:27:47,421 DEBUG wsgi __call__ openstack.params = {u'auth': {u'OS-KSEC2:
(root): 2012-03-17 20:27:47,421 DEBUG wsgi __call__ wsgi.version = (1, 0)
(root): 2012-03-17 20:27:47,421 DEBUG wsgi __call__ openstack.context = {'token_id': None, 'is_admin': False}
(root): 2012-03-17 20:27:47,421 DEBUG wsgi __call__ GATEWAY_INTERFACE = CGI/1.1
(root): 2012-03-17 20:27:47,421 DEBUG wsgi __call__ wsgi.run_once = False
(root): 2012-03-17 20:27:47,421 DEBUG wsgi __call__ wsgi.errors = <open file '<stderr>', mode 'w' at 0x7fe8a4c2a270>
(root): 2012-03-17 20:27:47,422 DEBUG wsgi __call__ wsgi.multiprocess = False
(root): 2012-03-17 20:27:47,422 DEBUG wsgi __call__ webob.is_
(root): 2012-03-17 20:27:47,422 DEBUG wsgi __call__ CONTENT_TYPE = application/json
(root): 2012-03-17 20:27:47,422 DEBUG wsgi __call__ HTTP_ACCEPT_
(root): 2012-03-17 20:27:47,422 DEBUG wsgi __call__
(root): 2012-03-17 20:27:47,422 DEBUG wsgi __call__ *******
(root): 2012-03-17 20:27:47,422 DEBUG wsgi __call__ {"auth": {"OS-KSEC2:
(root): 2012-03-17 20:27:47,422 DEBUG wsgi __call__
/usr/lib/
req.response.
/usr/lib/
req.response.
/usr/lib/
req.response.
/usr/lib/
req.response.
/usr/lib/
req.response.
(root): 2012-03-17 20:27:47,425 DEBUG wsgi __call__ arg_dict: {}
(eventlet.
File "/usr/lib/
result = self.applicatio
File "/usr/lib/
return app(environ, start_response)
File "/usr/lib/
resp = self.call_func(req, *args, **self.kwargs)
File "/usr/lib/
return self.func(req, *args, **kwargs)
File "/usr/lib/
response = request.
File "/usr/lib/
application, catch_exc_
File "/usr/lib/
app_iter = application(
File "/usr/lib/
resp = self.call_func(req, *args, **self.kwargs)
File "/usr/lib/
return self.func(req, *args, **kwargs)
File "/usr/lib/
response = request.
File "/usr/lib/
application, catch_exc_
File "/usr/lib/
app_iter = application(
File "/usr/lib/
resp = self.call_func(req, *args, **self.kwargs)
File "/usr/lib/
return self.func(req, *args, **kwargs)
File "/usr/lib/
response = request.
File "/usr/lib/
application, catch_exc_
File "/usr/lib/
app_iter = application(
File "/usr/lib/
resp = self.call_func(req, *args, **self.kwargs)
File "/usr/lib/
return self.func(req, *args, **kwargs)
File "/usr/lib/
response = request.
File "/usr/lib/
application, catch_exc_
File "/usr/lib/
app_iter = application(
File "/usr/lib/
resp = self.call_func(req, *args, **self.kwargs)
File "/usr/lib/
return self.func(req, *args, **kwargs)
File "/usr/lib/
resp = req.get_
File "/usr/lib/
application, catch_exc_
File "/usr/lib/
app_iter = application(
File "/usr/lib/
return resp(environ, start_response)
File "/usr/lib/
response = self.app(environ, start_response)
File "/usr/lib/
return resp(environ, start_response)
File "/usr/lib/
return resp(environ, start_response)
File "/usr/lib/
response = self.app(environ, start_response)
File "/usr/lib/
return resp(environ, start_response)
File "/usr/lib/
resp = self.call_func(req, *args, **self.kwargs)
File "/usr/lib/
return self.func(req, *args, **kwargs)
File "/usr/lib/
result = method(context, **params)
File "/usr/lib/
for role_id in metadata_
UnboundLocalError: local variable 'metadata_ref' referenced before assignment
(eventlet.
tags: | added: essex-rc-potential |
Changed in keystone: | |
status: | Incomplete → Triaged |
milestone: | none → essex-rc1 |
importance: | High → Critical |
assignee: | nobody → Chmouel Boudjnah (chmouel) |
tags: | removed: essex-rc-potential |
Changed in keystone: | |
status: | Fix Committed → Fix Released |
Changed in keystone: | |
milestone: | essex-rc1 → 2012.1 |
I'm having a similar issue with the ec2 commands, although my traceback is very different: 6lBMvYu0e4A/ Li3AYeGC07F3oj9 RH8= wsgi.server) : 2012-03-18 22:20:28,199 DEBUG wsgi write Traceback (most recent call last): python2. 7/dist- packages/ eventlet/ wsgi.py" , line 336, in handle_one_response n(self. environ, start_response) python2. 7/dist- packages/ paste/urlmap. py", line 203, in __call__ python2. 7/dist- packages/ webob/dec. py", line 147, in __call__ python2. 7/dist- packages/ webob/dec. py", line 210, in call_func python2. 7/dist- packages/ keystone/ common/ wsgi.py" , line 293, in __call__ get_response( self.applicatio n) python2. 7/dist- packages/ webob/request. py", line 1086, in get_response info=False) python2. 7/dist- packages/ webob/request. py", line 1055, in call_application self.environ, start_response) python2. 7/dist- packages/ webob/dec. py", line 147, in __call__ python2. 7/dist- packages/ webob/dec. py", line 210, in call_func python2. 7/dist- packages/ keystone/ common/ wsgi.py" , line 293, in __call__ get_response( self.applicatio n) python2. 7/dist- packages/ webob/request. py", line 1086, in get_response info=False) python2. 7/dist- packages/ webob/request. py", line 1055, in call_application self.environ, start_response) python2. 7/dist- packages/ webob/dec. py", line 147, in __call__ python2. 7/dist- packages/ webob/dec. py", line 210, in call_func python2. 7/dist- packages/ keystone/ common/ wsgi.py" , line 293, in __call__ get_response( self.applicatio n) python2. 7/dist- packages/ webob/request. py", line 1086, in get_response info=False) python2. 7/dist- packages/ webob/request. py", line 1055, in call_application self.environ, start_response) python2. 7/dist- packages/ webob/dec. py", line 147, in __call__ python2. 7/dist- packages/ webob/dec. py", line 210, in call_func python2. 7/dist- packages/ keystone/ common/ wsgi.py" , line 293, in __call__ get_response( self.applicatio n) python2. 7/dist- packages/ webob/request. py", line 1086, in get_response info=False) python2. 7/dist- packages/ webob/request. py", line 1055, in...
(root): 2012-03-18 22:20:28,196 DEBUG utils _calc_signature_2 base64 encoded digest: 5hkz+Ok1N4fy/
(eventlet.
File "/usr/lib/
result = self.applicatio
File "/usr/lib/
return app(environ, start_response)
File "/usr/lib/
resp = self.call_func(req, *args, **self.kwargs)
File "/usr/lib/
return self.func(req, *args, **kwargs)
File "/usr/lib/
response = request.
File "/usr/lib/
application, catch_exc_
File "/usr/lib/
app_iter = application(
File "/usr/lib/
resp = self.call_func(req, *args, **self.kwargs)
File "/usr/lib/
return self.func(req, *args, **kwargs)
File "/usr/lib/
response = request.
File "/usr/lib/
application, catch_exc_
File "/usr/lib/
app_iter = application(
File "/usr/lib/
resp = self.call_func(req, *args, **self.kwargs)
File "/usr/lib/
return self.func(req, *args, **kwargs)
File "/usr/lib/
response = request.
File "/usr/lib/
application, catch_exc_
File "/usr/lib/
app_iter = application(
File "/usr/lib/
resp = self.call_func(req, *args, **self.kwargs)
File "/usr/lib/
return self.func(req, *args, **kwargs)
File "/usr/lib/
response = request.
File "/usr/lib/
application, catch_exc_
File "/usr/lib/