← Back to team overview

openstack team mailing list archive

Swift and keystone: asking for an auth token.

 

Hi there !

I am trying to use swift and keystone together (on ubuntu precise), and
fail to do so.

swift 1.4.7-0ubuntu3
keystone  2012.1~rc1-0ubuntu1

I was trying to follow this doc (more or less):
http://etherpad.openstack.org/swift-keystone-draft

I have
swift    node:192.168.122.105
keystone node:192.168.122.102

On keystone, i have a ubuntu tenant, with a ubuntu user using openstack
as a password.

The ubuntu user is associated to the admin role (i know i did it with
keystone user-role-add , altough i m not sure how to list the role of a
given user to double check, if you know how to do that, please let me know).

Just to show that things seems to work on the keystone side of things,
see the attached keystone-client.txt file.

On the machine running swift, i launch the following (expecting to get
an auth token back):

ubuntu@swift-a:~$ swift -V 2 -U ubuntu:ubuntu -K openstack -A
http://192.168.122.102:5000/v2.0 list

And i end up with:

Account GET failed:
https://192.168.122.105:8080/v2/AUTH_ed0a2ebb66054096869605fb53c049d7?format=json
403 Forbidden

Now, the strange part, is, according to the (attached in keystone.log)
logs, it looks to me keystone gave back the token:


{"access":
	{"token":
		{"expires": "2012-04-04T13:42:01Z", "id":
"2adcf21b3ffd4663af1bedd90f71a587",
		 "tenant": {"enabled": true, "description": null, "name": "ubuntu",
"id": "ed0a2ebb66054096869605fb53c049d7"}
		},
         "user": {"username": "ubuntu",
		  "roles_links": [],
                  "id": "5e2f2e672c834e10801f6203c628a527",
                  "roles": [{"id": "60a1783c2f05437d91f2e1f369320c49",
"name": "Admin"},
                            {"id": "1b7ff17726cc4c228c2426959d7852ed",
"name": "Member"}],
                             "name": "ubuntu"}
         }
}


My swift  /etc/swift/proxy-server.conf is
###################################
[DEFAULT]
cert_file = /etc/swift/cert.crt
key_file = /etc/swift/cert.key
bind_port = 8080
workers = 24
user = swift

[pipeline:main]
pipeline = catch_errors healthcheck cache tokenauth keystone proxy-server

[app:proxy-server]
use = egg:swift#proxy
allow_account_management = true
account_autocreate = true


[filter:tokenauth]
paste.filter_factory = keystone.middleware.auth_token:filter_factory
service_port = 5000
service_host = 192.168.122.102
auth_port = 35357
auth_host = 192.168.122.102
auth_protocol = http
admin_tenant_name = ubuntu
admin_user = ubuntu
admin_password = openstack
cache = swift.cache

[filter:keystone]
paste.filter_factory = keystone.middleware.swift_auth:filter_factory
operator_roles = admin

[filter:healthcheck]
use = egg:swift#healthcheck

[filter:cache]
use = egg:swift#memcache
memcache_servers = 192.168.122.105:11211

[filter:catch_errors]
use = egg:swift#catch_errors
###################################


Just in case, i try to change the keystone objectstore endpoint to use
v1 instead of v2 in the 3 catalog urls, but i had the same result.


Any idea what i may be doing wrong ?



ubuntu@messaging:~$ keystone --os_username ubuntu --os_password openstack --os_tenant_name ubuntu --os_auth_url http://192.168.122.102:35357/v2.0/  user-list
+----------------------------------+---------+------------------+--------+
|                id                | enabled |      email       |  name  |
+----------------------------------+---------+------------------+--------+
| 22cc42dc058040e8abfc419e19daf893 | True    | None             | glance |
| 5e2f2e672c834e10801f6203c628a527 | True    | ubuntu@localhost | ubuntu |
| 6fc41e3b447d45b4b63ce69163536c39 | True    | root@localhost   | admin  |
+----------------------------------+---------+------------------+--------+

##########################################################################################################################################
keystone --os_username ubuntu --os_password openstack --os_tenant_name ubuntu --os_auth_url http://192.168.122.102:35357/v2.0/ tenant-list
+----------------------------------+--------+---------+
|                id                |  name  | enabled |
+----------------------------------+--------+---------+
| ed0a2ebb66054096869605fb53c049d7 | ubuntu | True    |
+----------------------------------+--------+---------+


##########################################################################################################################################

ubuntu@messaging:~$ keystone --os_username ubuntu --os_password openstack --os_tenant_name ubuntu --os_auth_url http://192.168.122.102:35357/v2.0/ catalog
Service: object-store
+-------------+-----------------------------------------------------------------------+
|   Property  |                                 Value                                 |
+-------------+-----------------------------------------------------------------------+
| adminURL    | https://192.168.122.105:8080/v2                                       |
| internalURL | https://192.168.122.105:8080/v2/AUTH_ed0a2ebb66054096869605fb53c049d7 |
| publicURL   | https://192.168.122.105:8080/v2/AUTH_ed0a2ebb66054096869605fb53c049d7 |
| region      | RegionOne                                                             |
+-------------+-----------------------------------------------------------------------+
Service: image
+-------------+--------------------------------+
|   Property  |             Value              |
+-------------+--------------------------------+
| adminURL    | http://192.168.122.102:9292/v1 |
| internalURL | http://192.168.122.102:9292/v1 |
| publicURL   | http://192.168.122.102:9292/v1 |
| region      | RegionOne                      |
+-------------+--------------------------------+
Service: compute
+-------------+-------------------------------------------------------------------+
|   Property  |                               Value                               |
+-------------+-------------------------------------------------------------------+
| adminURL    | http://192.168.122.101:8774/v1.1/ed0a2ebb66054096869605fb53c049d7 |
| internalURL | http://192.168.122.101:8774/v1.1/ed0a2ebb66054096869605fb53c049d7 |
| publicURL   | http://192.168.122.101:8774/v1.1/ed0a2ebb66054096869605fb53c049d7 |
| region      | RegionOne                                                         |
+-------------+-------------------------------------------------------------------+
Service: identity
+-------------+-----------------------------------+
|   Property  |               Value               |
+-------------+-----------------------------------+
| adminURL    | http://192.168.122.102:35357/v2.0 |
| internalURL | http://192.168.122.102:5000/v2.0  |
| publicURL   | http://192.168.122.102:5000/v2.0  |
| region      | RegionOne                         |
+-------------+-----------------------------------+


2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] ******************** REQUEST ENVIRON ********************
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] SCRIPT_NAME = /v2.0
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] webob.adhoc_attrs = {'response': <Response at 0x3ae9b10 200 OK>}
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] REQUEST_METHOD = POST
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] PATH_INFO = /tokens
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] SERVER_PROTOCOL = HTTP/1.0
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] CONTENT_LENGTH = 106
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] eventlet.posthooks = []
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] SERVER_NAME = 192.168.122.102
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] REMOTE_ADDR = 192.168.122.105
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] eventlet.input = <eventlet.wsgi.Input object at 0x3ae9b90>
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] wsgi.url_scheme = http
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] webob._body_file = (<LimitedLengthFile(<eventlet.wsgi.Input object at 0x3ae9b90>, maxlen=106)>, <eventlet.wsgi.Input object at 0x3ae9b90>)
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] SERVER_PORT = 5000
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] wsgi.input = <_io.BytesIO object at 0x3ae1ef0>
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] HTTP_HOST = 192.168.122.102:5000
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] wsgi.multithread = True
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] openstack.params = {u'auth': {u'tenantName': u'ubuntu', u'passwordCredentials': {u'username': u'ubuntu', u'password': u'openstack'}}}
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] wsgi.version = (1, 0)
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] openstack.context = {'token_id': None, 'is_admin': False}
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] GATEWAY_INTERFACE = CGI/1.1
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] wsgi.run_once = False
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] wsgi.errors = <open file '<stderr>', mode 'w' at 0x7f0239dc9270>
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] wsgi.multiprocess = False
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] webob.is_body_seekable = True
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] CONTENT_TYPE = application/json
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] HTTP_ACCEPT_ENCODING = identity
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi]
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] ******************** REQUEST BODY ********************
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] {"auth": {"tenantName": "ubuntu", "passwordCredentials": {"username": "ubuntu", "password": "openstack"}}}
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi]
2012-04-03 15:42:01    DEBUG [routes.middleware] Matched POST /tokens
2012-04-03 15:42:01    DEBUG [routes.middleware] Route path: '{path_info:.*}', defaults: {'controller': <keystone.service.PublicRouter object at 0x3444150>}
2012-04-03 15:42:01    DEBUG [routes.middleware] Match dict: {'controller': <keystone.service.PublicRouter object at 0x3444150>, 'path_info': '/tokens'}
2012-04-03 15:42:01    DEBUG [routes.middleware] Matched POST /tokens
2012-04-03 15:42:01    DEBUG [routes.middleware] Route path: '/tokens', defaults: {'action': u'authenticate', 'controller': <keystone.service.TokenController object at 0x34444d0>}
2012-04-03 15:42:01    DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': <keystone.service.TokenController object at 0x34444d0>}
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] arg_dict: {}
2012-04-03 15:42:01    DEBUG [root] TOKEN_REF {'id': '2adcf21b3ffd4663af1bedd90f71a587', 'expires': datetime.datetime(2012, 4, 4, 13, 42, 1, 548526), 'user': {u'tenantId': u'ed0a2ebb66054096869605fb53c049d7', u'enabled': True, u'email': u'ubuntu@localhost', 'name': u'ubuntu', 'id': u'5e2f2e672c834e10801f6203c628a527'}, 'tenant': {u'description': None, u'enabled': True, 'id': u'ed0a2ebb66054096869605fb53c049d7', 'name': u'ubuntu'}, 'metadata': {u'roles': [u'60a1783c2f05437d91f2e1f369320c49', u'1b7ff17726cc4c228c2426959d7852ed']}}
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] ******************** RESPONSE HEADERS ********************
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] Content-Type = application/json
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] Vary = X-Auth-Token
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] Content-Length = 1645
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi]
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] ******************** RESPONSE BODY ********************
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] {"access": {"token": {"expires": "2012-04-04T13:42:01Z", "id": "2adcf21b3ffd4663af1bedd90f71a587", "tenant": {"description": null, "enabled": true, "id": "ed0a2ebb66054096869605fb53c049d7", "name": "ubuntu"}}, "serviceCatalog": [{"endpoints": [{"adminURL": "https://192.168.122.105:8080/v2";, "region": "RegionOne", "internalURL": "https://192.168.122.105:8080/v2/AUTH_ed0a2ebb66054096869605fb53c049d7";, "publicURL": "https://192.168.122.105:8080/v2/AUTH_ed0a2ebb66054096869605fb53c049d7"}], "endpoints_links": [], "type": "object-store", "name": "swift"}, {"endpoints": [{"adminURL": "http://192.168.122.102:9292/v1";, "region": "RegionOne", "internalURL": "http://192.168.122.102:9292/v1";, "publicURL": "http://192.168.122.102:9292/v1"}], "endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL": "http://192.168.122.101:8774/v1.1/ed0a2ebb66054096869605fb53c049d7";, "region": "RegionOne", "internalURL": "http://192.168.122.101:8774/v1.1/ed0a2ebb66054096869605fb53c049d7";, "publicURL": "http://192.168.122.101:8774/v1.1/ed0a2ebb66054096869605fb53c049d7"}], "endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL": "http://192.168.122.102:35357/v2.0";, "region": "RegionOne", "internalURL": "http://192.168.122.102:5000/v2.0";, "publicURL": "http://192.168.122.102:5000/v2.0"}], "endpoints_links": [], "type": "identity", "name": "keystone"}], "user": {"username": "ubuntu", "roles_links": [], "id": "5e2f2e672c834e10801f6203c628a527", "roles": [{"id": "60a1783c2f05437d91f2e1f369320c49", "name": "Admin"}, {"id": "1b7ff17726cc4c228c2426959d7852ed", "name": "Member"}], "name": "ubuntu"}}}
2012-04-03 15:42:01    DEBUG [eventlet.wsgi.server] 192.168.122.105 - - [03/Apr/2012 15:42:01] "POST /v2.0/tokens HTTP/1.1" 200 1793 0.137811

2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] ******************** REQUEST ENVIRON ********************
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] SCRIPT_NAME = /v2.0
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] webob.adhoc_attrs = {'response': <Response at 0x3ada150 200 OK>}
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] REQUEST_METHOD = POST
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] PATH_INFO = /tokens
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] SERVER_PROTOCOL = HTTP/1.0
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] CONTENT_LENGTH = 106
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] eventlet.posthooks = []
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] SERVER_NAME = 192.168.122.102
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] REMOTE_ADDR = 192.168.122.105
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] eventlet.input = <eventlet.wsgi.Input object at 0x3966090>
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] wsgi.url_scheme = http
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] webob._body_file = (<LimitedLengthFile(<eventlet.wsgi.Input object at 0x3966090>, maxlen=106)>, <eventlet.wsgi.Input object at 0x3966090>)
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] SERVER_PORT = 35357
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] wsgi.input = <_io.BytesIO object at 0x3ae1f50>
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] HTTP_HOST = 192.168.122.102:35357
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] wsgi.multithread = True
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] openstack.params = {u'auth': {u'tenantName': u'ubuntu', u'passwordCredentials': {u'username': u'ubuntu', u'password': u'openstack'}}}
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] HTTP_ACCEPT = application/json
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] wsgi.version = (1, 0)
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] openstack.context = {'token_id': None, 'is_admin': False}
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] GATEWAY_INTERFACE = CGI/1.1
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] wsgi.run_once = False
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] wsgi.errors = <open file '<stderr>', mode 'w' at 0x7f0239dc9270>
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] wsgi.multiprocess = False
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] webob.is_body_seekable = True
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] CONTENT_TYPE = application/json
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] HTTP_ACCEPT_ENCODING = identity
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi]
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] ******************** REQUEST BODY ********************
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] {"auth": {"tenantName": "ubuntu", "passwordCredentials": {"username": "ubuntu", "password": "openstack"}}}
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi]
2012-04-03 15:42:01    DEBUG [routes.middleware] Matched POST /tokens
2012-04-03 15:42:01    DEBUG [routes.middleware] Route path: '{path_info:.*}', defaults: {'controller': <keystone.contrib.admin_crud.core.CrudExtension object at 0x33e30d0>}
2012-04-03 15:42:01    DEBUG [routes.middleware] Match dict: {'controller': <keystone.contrib.admin_crud.core.CrudExtension object at 0x33e30d0>, 'path_info': '/tokens'}
2012-04-03 15:42:01    DEBUG [routes.middleware] Matched POST /tokens
2012-04-03 15:42:01    DEBUG [routes.middleware] Route path: '{path_info:.*}', defaults: {'controller': <keystone.service.AdminRouter object at 0x27b0790>}
2012-04-03 15:42:01    DEBUG [routes.middleware] Match dict: {'controller': <keystone.service.AdminRouter object at 0x27b0790>, 'path_info': '/tokens'}
2012-04-03 15:42:01    DEBUG [routes.middleware] Matched POST /tokens
2012-04-03 15:42:01    DEBUG [routes.middleware] Route path: '/tokens', defaults: {'action': u'authenticate', 'controller': <keystone.service.TokenController object at 0x330ec90>}
2012-04-03 15:42:01    DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': <keystone.service.TokenController object at 0x330ec90>}
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] arg_dict: {}
2012-04-03 15:42:01    DEBUG [root] TOKEN_REF {'id': '628e20759fb84824a82047190e473f74', 'expires': datetime.datetime(2012, 4, 4, 13, 42, 1, 712334), 'user': {u'tenantId': u'ed0a2ebb66054096869605fb53c049d7', u'enabled': True, u'email': u'ubuntu@localhost', 'name': u'ubuntu', 'id': u'5e2f2e672c834e10801f6203c628a527'}, 'tenant': {u'description': None, u'enabled': True, 'id': u'ed0a2ebb66054096869605fb53c049d7', 'name': u'ubuntu'}, 'metadata': {u'roles': [u'60a1783c2f05437d91f2e1f369320c49', u'1b7ff17726cc4c228c2426959d7852ed']}}
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] ******************** RESPONSE HEADERS ********************
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] Content-Type = application/json
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] Vary = X-Auth-Token
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] Content-Length = 1645
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi]
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] ******************** RESPONSE BODY ********************
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] {"access": {"token": {"expires": "2012-04-04T13:42:01Z", "id": "628e20759fb84824a82047190e473f74", "tenant": {"description": null, "enabled": true, "id": "ed0a2ebb66054096869605fb53c049d7", "name": "ubuntu"}}, "serviceCatalog": [{"endpoints": [{"adminURL": "https://192.168.122.105:8080/v2";, "region": "RegionOne", "internalURL": "https://192.168.122.105:8080/v2/AUTH_ed0a2ebb66054096869605fb53c049d7";, "publicURL": "https://192.168.122.105:8080/v2/AUTH_ed0a2ebb66054096869605fb53c049d7"}], "endpoints_links": [], "type": "object-store", "name": "swift"}, {"endpoints": [{"adminURL": "http://192.168.122.102:9292/v1";, "region": "RegionOne", "internalURL": "http://192.168.122.102:9292/v1";, "publicURL": "http://192.168.122.102:9292/v1"}], "endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL": "http://192.168.122.101:8774/v1.1/ed0a2ebb66054096869605fb53c049d7";, "region": "RegionOne", "internalURL": "http://192.168.122.101:8774/v1.1/ed0a2ebb66054096869605fb53c049d7";, "publicURL": "http://192.168.122.101:8774/v1.1/ed0a2ebb66054096869605fb53c049d7"}], "endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL": "http://192.168.122.102:35357/v2.0";, "region": "RegionOne", "internalURL": "http://192.168.122.102:5000/v2.0";, "publicURL": "http://192.168.122.102:5000/v2.0"}], "endpoints_links": [], "type": "identity", "name": "keystone"}], "user": {"username": "ubuntu", "roles_links": [], "id": "5e2f2e672c834e10801f6203c628a527", "roles": [{"id": "60a1783c2f05437d91f2e1f369320c49", "name": "Admin"}, {"id": "1b7ff17726cc4c228c2426959d7852ed", "name": "Member"}], "name": "ubuntu"}}}
2012-04-03 15:42:01    DEBUG [eventlet.wsgi.server] 192.168.122.105 - - [03/Apr/2012 15:42:01] "POST /v2.0/tokens HTTP/1.1" 200 1793 0.121061

2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] ******************** REQUEST ENVIRON ********************
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] SCRIPT_NAME = /v2.0
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] webob.adhoc_attrs = {'response': <Response at 0x3ae9610 200 OK>}
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] REQUEST_METHOD = GET
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] PATH_INFO = /tokens/2adcf21b3ffd4663af1bedd90f71a587
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] SERVER_PROTOCOL = HTTP/1.0
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] HTTP_X_AUTH_TOKEN = 628e20759fb84824a82047190e473f74
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] eventlet.posthooks = []
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] SERVER_NAME = 192.168.122.102
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] REMOTE_ADDR = 192.168.122.105
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] eventlet.input = <eventlet.wsgi.Input object at 0x37f1910>
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] wsgi.url_scheme = http
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] SERVER_PORT = 35357
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] wsgi.input = <eventlet.wsgi.Input object at 0x37f1910>
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] HTTP_HOST = 192.168.122.102:35357
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] wsgi.multithread = True
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] HTTP_ACCEPT = application/json
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] wsgi.version = (1, 0)
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] openstack.context = {'token_id': '628e20759fb84824a82047190e473f74', 'is_admin': False}
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] GATEWAY_INTERFACE = CGI/1.1
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] wsgi.run_once = False
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] wsgi.errors = <open file '<stderr>', mode 'w' at 0x7f0239dc9270>
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] wsgi.multiprocess = False
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] CONTENT_TYPE = application/json
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] HTTP_ACCEPT_ENCODING = identity
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi]
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] ******************** REQUEST BODY ********************
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi]
2012-04-03 15:42:01    DEBUG [routes.middleware] Matched GET /tokens/2adcf21b3ffd4663af1bedd90f71a587
2012-04-03 15:42:01    DEBUG [routes.middleware] Route path: '{path_info:.*}', defaults: {'controller': <keystone.contrib.admin_crud.core.CrudExtension object at 0x33e30d0>}
2012-04-03 15:42:01    DEBUG [routes.middleware] Match dict: {'controller': <keystone.contrib.admin_crud.core.CrudExtension object at 0x33e30d0>, 'path_info': '/tokens/2adcf21b3ffd4663af1bedd90f71a587'}
2012-04-03 15:42:01    DEBUG [routes.middleware] Matched GET /tokens/2adcf21b3ffd4663af1bedd90f71a587
2012-04-03 15:42:01    DEBUG [routes.middleware] Route path: '{path_info:.*}', defaults: {'controller': <keystone.service.AdminRouter object at 0x27b0790>}
2012-04-03 15:42:01    DEBUG [routes.middleware] Match dict: {'controller': <keystone.service.AdminRouter object at 0x27b0790>, 'path_info': '/tokens/2adcf21b3ffd4663af1bedd90f71a587'}
2012-04-03 15:42:01    DEBUG [routes.middleware] Matched GET /tokens/2adcf21b3ffd4663af1bedd90f71a587
2012-04-03 15:42:01    DEBUG [routes.middleware] Route path: '/tokens/{token_id}', defaults: {'action': u'validate_token', 'controller': <keystone.service.TokenController object at 0x330ec90>}
2012-04-03 15:42:01    DEBUG [routes.middleware] Match dict: {'action': u'validate_token', 'token_id': u'2adcf21b3ffd4663af1bedd90f71a587', 'controller': <keystone.service.TokenController object at 0x330ec90>}
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] arg_dict: {'token_id': u'2adcf21b3ffd4663af1bedd90f71a587'}
2012-04-03 15:42:01    DEBUG [keystone.policy.backends.rules] enforce admin_required: {'tenant_id': u'ed0a2ebb66054096869605fb53c049d7', 'user_id': u'5e2f2e672c834e10801f6203c628a527', u'roles': [u'Admin', u'Member']}
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] ******************** RESPONSE HEADERS ********************
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] Content-Type = application/json
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] Vary = X-Auth-Token
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] Content-Length = 455
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi]
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] ******************** RESPONSE BODY ********************
2012-04-03 15:42:01    DEBUG [keystone.common.wsgi] {"access": {"token": {"expires": "2012-04-04T13:42:01Z", "id": "2adcf21b3ffd4663af1bedd90f71a587", "tenant": {"enabled": true, "description": null, "name": "ubuntu", "id": "ed0a2ebb66054096869605fb53c049d7"}}, "user": {"username": "ubuntu", "roles_links": [], "id": "5e2f2e672c834e10801f6203c628a527", "roles": [{"id": "60a1783c2f05437d91f2e1f369320c49", "name": "Admin"}, {"id": "1b7ff17726cc4c228c2426959d7852ed", "name": "Member"}], "name": "ubuntu"}}}
2012-04-03 15:42:01    DEBUG [eventlet.wsgi.server] 192.168.122.105 - - [03/Apr/2012 15:42:01] "GET /v2.0/tokens/2adcf21b3ffd4663af1bedd90f71a587 HTTP/1.1" 200 603 0.020642

^

Follow ups