bin/stack: urllib2.HTTPError when issuing reflection request
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Fix Released
|
Low
|
Jay Pipes |
Bug Description
After fixing both bug #704422 and bug #704424, and simply calling bin/stack in order to get the help output, I get the following fairly unhelpful 500 server error returned from nova-direct-api, and unfortunately, no output at all on the screen I have nova-direct-api running:
(.nova-
Traceback (most recent call last):
File "./bin/stack", line 118, in <module>
print help_all()
File "./bin/stack", line 72, in help_all
rv = do_request(
File "./bin/stack", line 109, in do_request
resp = urllib2.
File "/usr/lib/
return _opener.open(url, data, timeout)
File "/usr/lib/
response = meth(req, response)
File "/usr/lib/
'http', request, response, code, msg, hdrs)
File "/usr/lib/
return self._call_
File "/usr/lib/
result = func(*args)
File "/usr/lib/
raise HTTPError(
urllib2.HTTPError: HTTP Error 500: Internal Server Error
Related branches
- Eric Day (community): Approve
- Devin Carlen (community): Approve
-
Diff: 68 lines (+16/-6)3 files modifiedbin/nova-direct-api (+1/-1)
bin/stack (+7/-3)
nova/api/direct.py (+8/-2)
Changed in nova: | |
status: | In Progress → Fix Committed |
Changed in nova: | |
milestone: | none → 2011.1 |
status: | Fix Committed → Fix Released |
After adding a try/except block around the call to urllib2.urlopen() and printing out the error being returned like so:
try: urlopen( req)
resp = urllib2.
except urllib2.HTTPError, e:
print e.read()
sys.exit(1)
I got this:
Traceback (most recent call last): jpipes/ repos/nova/ trunk/. nova-venv/ lib/python2. 6/site- packages/ eventlet/ wsgi.py" , line 336, in handle_one_response n(self. environ, start_response) jpipes/ repos/nova/ trunk/. nova-venv/ lib/python2. 6/site- packages/ webob/dec. py", line 147, in __call__ jpipes/ repos/nova/ trunk/. nova-venv/ lib/python2. 6/site- packages/ webob/dec. py", line 208, in call_func jpipes/ repos/nova/ trunk/nova/ wsgi.py" , line 207, in __call__ response( self.applicatio n) jpipes/ repos/nova/ trunk/. nova-venv/ lib/python2. 6/site- packages/ webob/request. py", line 919, in get_response info=False) jpipes/ repos/nova/ trunk/. nova-venv/ lib/python2. 6/site- packages/ webob/request. py", line 887, in call_application self.environ, start_response) jpipes/ repos/nova/ trunk/. nova-venv/ lib/python2. 6/site- packages/ webob/dec. py", line 147, in __call__ jpipes/ repos/nova/ trunk/. nova-venv/ lib/python2. 6/site- packages/ webob/dec. py", line 208, in call_func jpipes/ repos/nova/ trunk/nova/ wsgi.py" , line 207, in __call__ response( self.applicatio n) jpipes/ repos/nova/ trunk/. nova-venv/ lib/python2. 6/site- packages/ webob/request. py", line 919, in get_response info=False) jpipes/ repos/nova/ trunk/. nova-venv/ lib/python2. 6/site- packages/ webob/request. py", line 887, in call_application self.environ, start_response) jpipes/ repos/nova/ trunk/. nova-venv/ lib/python2. 6/site- packages/ webob/dec. py", line 147, in __call__ jpipes/ repos/nova/ trunk/. nova-venv/ lib/python2. 6/site- packages/ webob/dec. py", line 208, in call_func jpipes/ repos/nova/ trunk/nova/ wsgi.py" , line 207, in __call__ response( self.applicatio n) jpipes/ repos/nova/ trunk/. nova-venv/ lib/python2. 6/site- packages/ webob/request. py", line 919, in get_response info=False) jpipes/ repos/nova/ trunk/. nova-venv/ lib/python2. 6/site- packages/ webob/request. py", line 887, in call_application self.environ, start_response) jpipes/ repos/nova/ trunk/. nova-venv/ lib/python2. 6/site- packages/ webob/dec. py", line 159, in __call__ jpipes/ repos/nova/ trunk/. nova-venv/ lib/python2. 6/site- packages/ routes/ middleware. py", line 131, in __call__
File "/home/
result = self.applicatio
File "/home/
resp = self.call_func(req, *args, **self.kwargs)
File "/home/
return self.func(req, *args, **kwargs)
File "/home/
response = req.get_
File "/home/
application, catch_exc_
File "/home/
app_iter = application(
File "/home/
resp = self.call_func(req, *args, **self.kwargs)
File "/home/
return self.func(req, *args, **kwargs)
File "/home/
response = req.get_
File "/home/
application, catch_exc_
File "/home/
app_iter = application(
File "/home/
resp = self.call_func(req, *args, **self.kwargs)
File "/home/
return self.func(req, *args, **kwargs)
File "/home/
response = req.get_
File "/home/
application, catch_exc_
File "/home/
app_iter = application(
File "/home/
return resp(environ, start_response)
File "/home/
response = self.app(environ, start_response)
File "/hom...