I retested and the stacktrace is still there :
2012-03-27 09:12:31 DEBUG [keystone.common.wsgi] ******************** REQUEST ENVIRON ******************** 2012-03-27 09:12:31 DEBUG [keystone.common.wsgi] SCRIPT_NAME = /v2.0 2012-03-27 09:12:31 DEBUG [keystone.common.wsgi] webob.adhoc_attrs = {'response': <Response at 0x24bcd50 200 OK>} 2012-03-27 09:12:31 DEBUG [keystone.common.wsgi] REQUEST_METHOD = POST 2012-03-27 09:12:31 DEBUG [keystone.common.wsgi] PATH_INFO = /s3tokens 2012-03-27 09:12:31 DEBUG [keystone.common.wsgi] SERVER_PROTOCOL = HTTP/1.0 2012-03-27 09:12:31 DEBUG [keystone.common.wsgi] CONTENT_LENGTH = 315 2012-03-27 09:12:31 DEBUG [keystone.common.wsgi] eventlet.posthooks = [] 2012-03-27 09:12:31 DEBUG [keystone.common.wsgi] SERVER_NAME = 192.168.244.27 2012-03-27 09:12:31 DEBUG [keystone.common.wsgi] REMOTE_ADDR = 192.168.240.13 2012-03-27 09:12:31 DEBUG [keystone.common.wsgi] eventlet.input = <eventlet.wsgi.Input object at 0x24bc150> 2012-03-27 09:12:31 DEBUG [keystone.common.wsgi] wsgi.url_scheme = http 2012-03-27 09:12:31 DEBUG [keystone.common.wsgi] SERVER_PORT = 35357 2012-03-27 09:12:31 DEBUG [keystone.common.wsgi] wsgi.input = <_io.BytesIO object at 0x24b1410> 2012-03-27 09:12:31 DEBUG [keystone.common.wsgi] HTTP_HOST = 192.168.244.27:35357 2012-03-27 09:12:31 DEBUG [keystone.common.wsgi] wsgi.multithread = True 2012-03-27 09:12:31 DEBUG [keystone.common.wsgi] openstack.params = {u'credentials': {u'token': u'R0VUCgoKVHVlLCAyNyBNYXIgMjAxMiAxNzoxMzowMSBHTVQKL3Rlc3Qv', u'access': u'a33d3faba9aa46bd813777c7fb06f953', u'host': u'roro-swift:8080', u'verb': u'GET', u'expire': u'Tue, 27 Mar 2012 17:13:01 GMT', u'signature': u'UP9gJ6iN/8/L734jZOq68h698po=', u'path': u'/v1/a33d3faba9aa46bd813777c7fb06f953/test'}} 2012-03-27 09:12:31 DEBUG [keystone.common.wsgi] wsgi.version = (1, 0) 2012-03-27 09:12:31 DEBUG [keystone.common.wsgi] openstack.context = {'token_id': None, 'is_admin': False} 2012-03-27 09:12:31 DEBUG [keystone.common.wsgi] GATEWAY_INTERFACE = CGI/1.1 2012-03-27 09:12:31 DEBUG [keystone.common.wsgi] wsgi.run_once = False 2012-03-27 09:12:31 DEBUG [keystone.common.wsgi] wsgi.errors = <open file '<stderr>', mode 'w' at 0x7f77e2823270> 2012-03-27 09:12:31 DEBUG [keystone.common.wsgi] wsgi.multiprocess = False 2012-03-27 09:12:31 DEBUG [keystone.common.wsgi] webob.is_body_seekable = True 2012-03-27 09:12:31 DEBUG [keystone.common.wsgi] CONTENT_TYPE = application/json 2012-03-27 09:12:31 DEBUG [keystone.common.wsgi] HTTP_ACCEPT_ENCODING = identity 2012-03-27 09:12:31 DEBUG [keystone.common.wsgi] 2012-03-27 09:12:31 DEBUG [keystone.common.wsgi] ******************** REQUEST BODY ******************** 2012-03-27 09:12:31 DEBUG [keystone.common.wsgi] {"credentials": {"host": "roro-swift:8080", "access": "a33d3faba9aa46bd813777c7fb06f953", "token": "R0VUCgoKVHVlLCAyNyBNYXIgMjAxMiAxNzoxMzowMSBHTVQKL3Rlc3Qv", "verb": "GET", "expire": "Tue, 27 Mar 2012 17:13:01 GMT", "signature": "UP9gJ6iN/8/L734jZOq68h698po=", "path": "/v1/a33d3faba9aa46bd813777c7fb06f953/test"}} 2012-03-27 09:12:31 DEBUG [keystone.common.wsgi] 2012-03-27 09:12:31 DEBUG [routes.middleware] Matched POST /s3tokens 2012-03-27 09:12:31 DEBUG [routes.middleware] Route path: '{path_info:.*}', defaults: {'controller': <keystone.contrib.s3.core.S3Extension object at 0x1f25750>} 2012-03-27 09:12:31 DEBUG [routes.middleware] Match dict: {'controller': <keystone.contrib.s3.core.S3Extension object at 0x1f25750>, 'path_info': '/s3tokens'} 2012-03-27 09:12:31 DEBUG [routes.middleware] Matched POST /s3tokens 2012-03-27 09:12:31 DEBUG [routes.middleware] Route path: '/s3tokens', defaults: {'action': u'authenticate', 'controller': <keystone.contrib.s3.core.S3Controller object at 0x1f25850>} 2012-03-27 09:12:31 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': <keystone.contrib.s3.core.S3Controller object at 0x1f25850>} 2012-03-27 09:12:31 DEBUG [keystone.common.wsgi] arg_dict: {} 2012-03-27 09:12:31 ERROR [root] Not Authorized Traceback (most recent call last): File "/usr/local/lib/python2.7/dist-packages/keystone-2012.2-py2.7.egg/keystone/common/wsgi.py", line 184, in __call__ result = method(context, **params) File "/usr/local/lib/python2.7/dist-packages/keystone-2012.2-py2.7.egg/keystone/contrib/ec2/core.py", line 152, in authenticate self.check_signature(creds_ref, credentials) File "/usr/local/lib/python2.7/dist-packages/keystone-2012.2-py2.7.egg/keystone/contrib/s3/core.py", line 52, in check_signature raise Exception('Not Authorized') Exception: Not Authorized 2012-03-27 09:12:31 DEBUG [keystone.common.wsgi] ******************** RESPONSE HEADERS ******************** 2012-03-27 09:12:31 DEBUG [keystone.common.wsgi] Content-Type = application/json 2012-03-27 09:12:31 DEBUG [keystone.common.wsgi] Vary = X-Auth-Token 2012-03-27 09:12:31 DEBUG [keystone.common.wsgi] Content-Length = 158 2012-03-27 09:12:31 DEBUG [keystone.common.wsgi] 2012-03-27 09:12:31 DEBUG [keystone.common.wsgi] ******************** RESPONSE BODY ******************** 2012-03-27 09:12:31 DEBUG [keystone.common.wsgi] {"error": {"message": "An unexpected error prevented the server from fulfilling your request. Not Authorized", "code": 500, "title": "Internal Server Error"}} 2012-03-27 09:12:31 DEBUG [eventlet.wsgi.server] 192.168.240.13 - - [27/Mar/2012 09:12:31] "POST /v2.0/s3tokens HTTP/1.1" 500 306 0.008177
I retested and the stacktrace is still there :
2012-03-27 09:12:31 DEBUG [keystone. common. wsgi] ******* ******* ****** REQUEST ENVIRON ******* ******* ****** common. wsgi] SCRIPT_NAME = /v2.0 common. wsgi] webob.adhoc_attrs = {'response': <Response at 0x24bcd50 200 OK>} common. wsgi] REQUEST_METHOD = POST common. wsgi] PATH_INFO = /s3tokens common. wsgi] SERVER_PROTOCOL = HTTP/1.0 common. wsgi] CONTENT_LENGTH = 315 common. wsgi] eventlet.posthooks = [] common. wsgi] SERVER_NAME = 192.168.244.27 common. wsgi] REMOTE_ADDR = 192.168.240.13 common. wsgi] eventlet.input = <eventlet. wsgi.Input object at 0x24bc150> common. wsgi] wsgi.url_scheme = http common. wsgi] SERVER_PORT = 35357 common. wsgi] wsgi.input = <_io.BytesIO object at 0x24b1410> common. wsgi] HTTP_HOST = 192.168. 244.27: 35357 common. wsgi] wsgi.multithread = True common. wsgi] openstack.params = {u'credentials': {u'token': u'R0VUCgoKVHVlL CAyNyBNYXIgMjAx MiAxNzoxMzowMSB HTVQKL3Rlc3Qv' , u'access': u'a33d3faba9aa4 6bd813777c7fb06 f953', u'host': u'roro-swift:8080', u'verb': u'GET', u'expire': u'Tue, 27 Mar 2012 17:13:01 GMT', u'signature': u'UP9gJ6iN/ 8/L734jZOq68h69 8po=', u'path': u'/v1/a33d3faba 9aa46bd813777c7 fb06f953/ test'}} common. wsgi] wsgi.version = (1, 0) common. wsgi] openstack.context = {'token_id': None, 'is_admin': False} common. wsgi] GATEWAY_INTERFACE = CGI/1.1 common. wsgi] wsgi.run_once = False common. wsgi] wsgi.errors = <open file '<stderr>', mode 'w' at 0x7f77e2823270> common. wsgi] wsgi.multiprocess = False common. wsgi] webob.is_ body_seekable = True common. wsgi] CONTENT_TYPE = application/json common. wsgi] HTTP_ACCEPT_ ENCODING = identity common. wsgi] common. wsgi] ******* ******* ****** REQUEST BODY ******* ******* ****** common. wsgi] {"credentials": {"host": "roro-swift:8080", "access": "a33d3faba9aa46 bd813777c7fb06f 953", "token": "R0VUCgoKVHVlLC AyNyBNYXIgMjAxM iAxNzoxMzowMSBH TVQKL3Rlc3Qv" , "verb": "GET", "expire": "Tue, 27 Mar 2012 17:13:01 GMT", "signature": "UP9gJ6iN/ 8/L734jZOq68h69 8po=", "path": "/v1/a33d3faba9 aa46bd813777c7f b06f953/ test"}} common. wsgi] contrib. s3.core. S3Extension object at 0x1f25750>} contrib. s3.core. S3Extension object at 0x1f25750>, 'path_info': '/s3tokens'} contrib. s3.core. S3Controller object at 0x1f25850>} contrib. s3.core. S3Controller object at 0x1f25850>} common. wsgi] arg_dict: {} lib/python2. 7/dist- packages/ keystone- 2012.2- py2.7.egg/ keystone/ common/ wsgi.py" , line 184, in __call__ lib/python2. 7/dist- packages/ keystone- 2012.2- py2.7.egg/ keystone/ contrib/ ec2/core. py", line 152, in authenticate check_signature (creds_ ref, credentials) lib/python2. 7/dist- packages/ keystone- 2012.2- py2.7.egg/ keystone/ contrib/ s3/core. py", line 52, in check_signature common. wsgi] ******* ******* ****** RESPONSE HEADERS ******* ******* ****** common. wsgi] Content-Type = application/json common. wsgi] Vary = X-Auth-Token common. wsgi] Content-Length = 158 common. wsgi] common. wsgi] ******* ******* ****** RESPONSE BODY ******* ******* ****** common. wsgi] {"error": {"message": "An unexpected error prevented the server from fulfilling your request. Not Authorized", "code": 500, "title": "Internal Server Error"}} wsgi.server] 192.168.240.13 - - [27/Mar/2012 09:12:31] "POST /v2.0/s3tokens HTTP/1.1" 500 306 0.008177
2012-03-27 09:12:31 DEBUG [keystone.
2012-03-27 09:12:31 DEBUG [keystone.
2012-03-27 09:12:31 DEBUG [keystone.
2012-03-27 09:12:31 DEBUG [keystone.
2012-03-27 09:12:31 DEBUG [keystone.
2012-03-27 09:12:31 DEBUG [keystone.
2012-03-27 09:12:31 DEBUG [keystone.
2012-03-27 09:12:31 DEBUG [keystone.
2012-03-27 09:12:31 DEBUG [keystone.
2012-03-27 09:12:31 DEBUG [keystone.
2012-03-27 09:12:31 DEBUG [keystone.
2012-03-27 09:12:31 DEBUG [keystone.
2012-03-27 09:12:31 DEBUG [keystone.
2012-03-27 09:12:31 DEBUG [keystone.
2012-03-27 09:12:31 DEBUG [keystone.
2012-03-27 09:12:31 DEBUG [keystone.
2012-03-27 09:12:31 DEBUG [keystone.
2012-03-27 09:12:31 DEBUG [keystone.
2012-03-27 09:12:31 DEBUG [keystone.
2012-03-27 09:12:31 DEBUG [keystone.
2012-03-27 09:12:31 DEBUG [keystone.
2012-03-27 09:12:31 DEBUG [keystone.
2012-03-27 09:12:31 DEBUG [keystone.
2012-03-27 09:12:31 DEBUG [keystone.
2012-03-27 09:12:31 DEBUG [keystone.
2012-03-27 09:12:31 DEBUG [keystone.
2012-03-27 09:12:31 DEBUG [keystone.
2012-03-27 09:12:31 DEBUG [keystone.
2012-03-27 09:12:31 DEBUG [keystone.
2012-03-27 09:12:31 DEBUG [routes.middleware] Matched POST /s3tokens
2012-03-27 09:12:31 DEBUG [routes.middleware] Route path: '{path_info:.*}', defaults: {'controller': <keystone.
2012-03-27 09:12:31 DEBUG [routes.middleware] Match dict: {'controller': <keystone.
2012-03-27 09:12:31 DEBUG [routes.middleware] Matched POST /s3tokens
2012-03-27 09:12:31 DEBUG [routes.middleware] Route path: '/s3tokens', defaults: {'action': u'authenticate', 'controller': <keystone.
2012-03-27 09:12:31 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': <keystone.
2012-03-27 09:12:31 DEBUG [keystone.
2012-03-27 09:12:31 ERROR [root] Not Authorized
Traceback (most recent call last):
File "/usr/local/
result = method(context, **params)
File "/usr/local/
self.
File "/usr/local/
raise Exception('Not Authorized')
Exception: Not Authorized
2012-03-27 09:12:31 DEBUG [keystone.
2012-03-27 09:12:31 DEBUG [keystone.
2012-03-27 09:12:31 DEBUG [keystone.
2012-03-27 09:12:31 DEBUG [keystone.
2012-03-27 09:12:31 DEBUG [keystone.
2012-03-27 09:12:31 DEBUG [keystone.
2012-03-27 09:12:31 DEBUG [keystone.
2012-03-27 09:12:31 DEBUG [eventlet.