From 331e8add4d35d754e2f6e70dfe81fcc4226bfa9c Mon Sep 17 00:00:00 2001 From: Sai Krishna Date: Mon, 9 May 2011 20:27:50 +0530 Subject: Yes, I modified, but I wont commit --- README.md | 5 +++++ etc/keystone.conf | 5 ++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index fa925ac4..cb26a947 100644 --- a/README.md +++ b/README.md @@ -92,6 +92,11 @@ INSTALLING KEYSTONE: $ sudo python setup.py install +RUNNING KEYSTONE (Eventlet Server): +----------------------------------- + sudo keystone (start|stop|restart) + + INSTALLING TEST SERVICE: ------------------------ diff --git a/etc/keystone.conf b/etc/keystone.conf index c85fd25a..f7c50bbb 100644 --- a/etc/keystone.conf +++ b/etc/keystone.conf @@ -17,7 +17,7 @@ default_store = file bind_host = 0.0.0.0 # Port the bind the API server to -bind_port = 8080 +bind_port = 8900 # Address to find the registry server registry_host = 0.0.0.0 @@ -27,5 +27,4 @@ registry_port = 9191 # Log to this file. Make sure you do not set the same log # file for both the API and registry servers! - - +log_file = /var/log/keystone.log -- cgit From a8381d77fd8ba4fece06a51b2d278f11c6a28157 Mon Sep 17 00:00:00 2001 From: Adipudi Praveena Date: Wed, 11 May 2011 12:46:09 +0530 Subject: Made PEP8 of server --- keystone/server.py | 378 +++++++++++++++++++++++++++++------------------------ 1 file changed, 208 insertions(+), 170 deletions(-) diff --git a/keystone/server.py b/keystone/server.py index 7bdd2a56..e0338f30 100755 --- a/keystone/server.py +++ b/keystone/server.py @@ -96,53 +96,55 @@ def wrap_error(func): @functools.wraps(func) def check_error(*args, **kwargs): try: - + return func(*args, **kwargs) - + except Exception as err: if isinstance(err, fault.IDMFault): return send_error(err.code, kwargs['req'], err) else: logging.exception(err) - return send_error(500, kwargs['req'], fault.IDMFault("Unhandled error", str(err))) + return send_error(500, kwargs['req'], + fault.IDMFault("Unhandled error", str(err))) return check_error def get_normalized_request_content(model, req): """initialize a model from json/xml contents of request body""" - + if req.content_type == "application/xml": - + ret = model.from_xml(req.body) elif req.content_type == "application/json": - + ret = model.from_json(req.body) else: - + raise fault.IDMFault("I don't understand the content type ", code=415) return ret + def send_error(code, req, result): content = None resp = Response() - + resp.headers['content-type'] = None resp.status = code - + if result: - + if is_xml_response(req): - + content = result.to_xml() resp.headers['content-type'] = "application/xml" else: - + content = result.to_json() resp.headers['content-type'] = "application/json" - resp.content_type_params={'charset' : 'UTF-8'} + resp.content_type_params = {'charset': 'UTF-8'} resp.unicode_body = content.decode('UTF-8') - + return resp @@ -153,9 +155,9 @@ def send_result(code, req, result): resp.status = code if code > 399: return resp - + if result: - + if is_xml_response(req): content = result.to_xml() resp.headers['content-type'] = "application/xml" @@ -163,16 +165,17 @@ def send_result(code, req, result): content = result.to_json() resp.headers['content-type'] = "application/json" - resp.content_type_params={'charset' : 'UTF-8'} + resp.content_type_params = {'charset': 'UTF-8'} resp.unicode_body = content.decode('UTF-8') return resp + class StaticFilesController(wsgi.Controller): def __init__(self, options): self.options = options - + @wrap_error def get_pdf_contract(self, req): resp = Response() @@ -193,7 +196,7 @@ class StaticFilesController(wsgi.Controller): return template.static_file(resp, req, "/xsd/" + xsd, root=get_app_root(), mimetype="application/xml") - + @wrap_error def get_xsd_atom_contract(self, req, xsd): resp = Response() @@ -201,14 +204,15 @@ class StaticFilesController(wsgi.Controller): root=get_app_root(), mimetype="application/xml") + class MiscController(wsgi.Controller): def __init__(self, options): self.options = options - + @wrap_error def get_version_info(self, req): - + resp = Response() resp.charset = 'UTF-8' if is_xml_response(req): @@ -223,52 +227,53 @@ class MiscController(wsgi.Controller): hostname = req.environ.get("SERVER_NAME") port = req.environ.get("SERVER_PORT") - resp.unicode_body= template.template(resp_file, HOST=hostname, PORT=port, - VERSION_STATUS=VERSION_STATUS, + resp.unicode_body = template.template(resp_file, HOST=hostname, + PORT=port, VERSION_STATUS=VERSION_STATUS, VERSION_DATE=VERSION_DATE) return resp - class AuthController(wsgi.Controller): def __init__(self, options): self.options = options self.request = None - + @wrap_error def authenticate(self, req): self.request = req - + creds = get_normalized_request_content(auth.PasswordCredentials, req) return send_result(200, req, service.authenticate(creds)) - + @wrap_error def validate_token(self, req, token_id): - + belongs_to = None if "belongsTo" in req.GET: belongs_to = req.GET["belongsTo"] - rval = service.validate_token(get_auth_token(req), token_id, belongs_to) - + rval = service.validate_token(get_auth_token(req), + token_id, belongs_to) + return send_result(200, req, rval) - + @wrap_error def delete_token(self, req, token_id): - return send_result(204, req, service.revoke_token(get_auth_token(req), token_id)) + return send_result(204, req, + service.revoke_token(get_auth_token(req), token_id)) class TenantController(wsgi.Controller): def __init__(self, options): self.options = options - + @wrap_error def create_tenant(self, req): tenant = get_normalized_request_content(tenants.Tenant, req) return send_result(201, req, service.create_tenant(get_auth_token(req), tenant)) - + @wrap_error def get_tenants(self, req): marker = None @@ -287,13 +292,12 @@ class TenantController(wsgi.Controller): tenants = service.get_tenants(get_auth_token(req), marker, limit, url) return send_result(200, req, tenants) - - + @wrap_error def get_tenant(self, req, tenant_id): tenant = service.get_tenant(get_auth_token(req), tenant_id) return send_result(200, req, tenant) - + @wrap_error def update_tenant(self, req, tenant_id): tenant = get_normalized_request_content(tenants.Tenant, req) @@ -305,15 +309,14 @@ class TenantController(wsgi.Controller): rval = service.delete_tenant(get_auth_token(req), tenant_id) return send_result(204, req, rval) - - # Tenant Group Methods @wrap_error def create_tenant_group(self, req, tenant_id): group = get_normalized_request_content(tenants.Group, req) return send_result(201, req, - service.create_tenant_group(get_auth_token(req), \ + service.create_tenant_group(get_auth_token(req), tenant_id, group)) + @wrap_error def get_tenant_groups(self, req, tenant_id): marker = None @@ -343,14 +346,14 @@ class TenantController(wsgi.Controller): @wrap_error def update_tenant_group(self, req, tenant_id, group_id): group = get_normalized_request_content(tenants.Group, req) - rval = service.update_tenant_group(get_auth_token(req),\ + rval = service.update_tenant_group(get_auth_token(req), tenant_id, group_id, group) return send_result(200, req, rval) - + @wrap_error def delete_tenant_group(self, req, tenant_id, group_id): rval = service.delete_tenant_group(get_auth_token(req), tenant_id, - group_id) + group_id) return send_result(204, req, rval) @wrap_error @@ -358,50 +361,34 @@ class TenantController(wsgi.Controller): marker = None if "marker" in req.GET: marker = request.GET["marker"] - + if "limit" in req.GET: limit = req.GET["limit"] else: limit = 10 - + url = '%s://%s:%s%s' % (req.environ['wsgi.url_scheme'], req.environ.get("SERVER_NAME"), req.environ.get("SERVER_PORT"), req.environ['PATH_INFO']) - + users = service.get_users_tenant_group(get_auth_token(req), tenant_id, group_id, marker, limit, url) return send_result(200, req, users) - - """ - @wrap_error - def add_user_tenant_group(tenantId, groupId, userId): - - return send_result(201, - service.add_user_tenant_group(get_auth_token(), - tenantId, groupId, userId)) - - - @wrap_error - def delete_user_tenant_group(tenantId, groupId, userId): - return send_result(204, - service.delete_user_tenant_group(get_auth_token(), - tenantId, groupId, userId)) - """ - @wrap_error def add_user_tenant_group(self, req, tenant_id, group_id, user_id): return send_result(201, req, service.add_user_tenant_group(\ get_auth_token(req), tenant_id, group_id, user_id)) - + @wrap_error def delete_user_tenant_group(self, req, tenant_id, group_id, user_id): return send_result(204, req, service.delete_user_tenant_group(\ get_auth_token(req), tenant_id, group_id, user_id)) + class UserController(wsgi.Controller): def __init__(self, options): @@ -411,7 +398,8 @@ class UserController(wsgi.Controller): def create_user(self, req, tenant_id): user = get_normalized_request_content(users.User, req) return send_result(201, req, - service.create_user(get_auth_token(req), tenant_id, user)) + service.create_user(get_auth_token(req), \ + tenant_id, user)) @wrap_error def get_tenant_users(self, req, tenant_id): @@ -423,12 +411,13 @@ class UserController(wsgi.Controller): else: limit = 10 url = '%s://%s:%s%s' % (req.environ['wsgi.url_scheme'], - req.environ.get("SERVER_NAME"), - req.environ.get("SERVER_PORT"), - req.environ['PATH_INFO']) - users = service.get_tenant_users(get_auth_token(req), tenant_id, marker, limit, url) + req.environ.get("SERVER_NAME"), + req.environ.get("SERVER_PORT"), + req.environ['PATH_INFO']) + users = service.get_tenant_users(get_auth_token(req), \ + tenant_id, marker, limit, url) return send_result(200, req, users) - + @wrap_error def get_user_groups(self, req, tenant_id, user_id): marker = None @@ -445,45 +434,46 @@ class UserController(wsgi.Controller): req.environ['PATH_INFO']) groups = service.get_user_groups(get_auth_token(req), - tenant_id,user_id, marker, limit,url) + tenant_id, user_id, marker, limit, url) return send_result(200, req, groups) - + @wrap_error def get_user(self, req, tenant_id, user_id): user = service.get_user(get_auth_token(req), tenant_id, user_id) return send_result(200, req, user) - + @wrap_error def update_user(self, req, user_id, tenant_id): user = get_normalized_request_content(users.User_Update, req) - rval = service.update_user(get_auth_token(req), user_id, user, tenant_id) + rval = service.update_user(get_auth_token(req), + user_id, user, tenant_id) return send_result(200, req, rval) - + @wrap_error def delete_user(self, req, user_id, tenant_id): rval = service.delete_user(get_auth_token(req), user_id, tenant_id) return send_result(204, req, rval) - + @wrap_error def set_user_password(self, req, user_id, tenant_id): user = get_normalized_request_content(users.User_Update, req) - rval = service.set_user_password(get_auth_token(req), user_id, user, tenant_id) + rval = service.set_user_password(get_auth_token(req), + user_id, user, tenant_id) return send_result(204, req, rval) # To be checked with Abdul not finished yet @wrap_error def set_user_enabled(self, req, user_id, tenant_id): user = get_normalized_request_content(users.User_Update, req) - rval = service.enable_disable_user(get_auth_token(req), user_id, user, tenant_id) + rval = service.enable_disable_user(get_auth_token(req), user_id, + user, tenant_id) return send_result(204, req, rval) - class GroupsController(wsgi.Controller): - - + def __init__(self, options): - + self.options = options @wrap_error @@ -492,6 +482,7 @@ class GroupsController(wsgi.Controller): return send_result(201, req, service.create_global_group(get_auth_token(req), group)) + @wrap_error def get_groups(self, req): marker = None @@ -509,60 +500,60 @@ class GroupsController(wsgi.Controller): req.environ['PATH_INFO']) groups = service.get_global_groups(get_auth_token(req), marker, limit, url) - + return send_result(200, req, groups) - + @wrap_error def get_group(self, req, group_id): tenant = service.get_global_group(get_auth_token(req), group_id) return send_result(200, req, tenant) - + @wrap_error def update_group(self, req, group_id): group = get_normalized_request_content(tenants.GlobalGroup, req) rval = service.update_global_group(get_auth_token(req), group_id, group) return send_result(200, req, rval) - + @wrap_error def delete_group(self, req, group_id): rval = service.delete_global_group(get_auth_token(req), group_id) return send_result(204, req, rval) - - + @wrap_error def get_users_global_group(self, req, group_id): - + marker = None if "marker" in req.GET: marker = req.GET["marker"] - + if "limit" in req.GET: limit = req.GET["limit"] else: limit = 10 - + url = '%s://%s:%s%s' % (req.environ['wsgi.url_scheme'], req.environ.get("SERVER_NAME"), req.environ.get("SERVER_PORT"), req.environ['PATH_INFO']) - + users = service.get_users_global_group(get_auth_token(req), group_id, marker, limit, url) return send_result(200, req, users) - + @wrap_error def add_user_global_group(self, req, group_id, user_id): - + return send_result(201, req, service.add_user_global_group(\ get_auth_token(req), group_id, user_id)) - + @wrap_error def delete_user_global_group(self, req, group_id, user_id): - + return send_result(204, req, service.delete_user_global_group(\ get_auth_token(req), group_id, user_id)) + class KeystoneAPI(wsgi.Router): """WSGI entry point for all Keystone Auth API requests.""" @@ -572,108 +563,155 @@ class KeystoneAPI(wsgi.Router): # Token Operations auth_controller = AuthController(options) - mapper.connect("/v1.0/token", controller=auth_controller, action="authenticate") + mapper.connect("/v1.0/token", controller=auth_controller, + action="authenticate") mapper.connect("/v1.0/token/{token_id}", controller=auth_controller, - action="validate_token", conditions=dict(method=["GET"])) + action="validate_token", + conditions=dict(method=["GET"])) mapper.connect("/v1.0/token/{token_id}", controller=auth_controller, - action="delete_token", conditions=dict(method=["DELETE"])) + action="delete_token", + conditions=dict(method=["DELETE"])) # Tenant Operations tenant_controller = TenantController(options) mapper.connect("/v1.0/tenants", controller=tenant_controller, - action="create_tenant", conditions=dict(method=["POST"])) + action="create_tenant", conditions=dict(method=["POST"])) mapper.connect("/v1.0/tenants", controller=tenant_controller, - action="get_tenants", conditions=dict(method=["GET"])) - mapper.connect("/v1.0/tenants/{tenant_id}", controller=tenant_controller, - action="get_tenant", conditions=dict(method=["GET"])) - mapper.connect("/v1.0/tenants/{tenant_id}", controller=tenant_controller, - action="update_tenant", conditions=dict(method=["PUT"])) - mapper.connect("/v1.0/tenants/{tenant_id}", controller=tenant_controller, - action="delete_tenant", conditions=dict(method=["DELETE"])) + action="get_tenants", conditions=dict(method=["GET"])) + mapper.connect("/v1.0/tenants/{tenant_id}", + controller=tenant_controller, + action="get_tenant", conditions=dict(method=["GET"])) + mapper.connect("/v1.0/tenants/{tenant_id}", + controller=tenant_controller, + action="update_tenant", conditions=dict(method=["PUT"])) + mapper.connect("/v1.0/tenants/{tenant_id}", + controller=tenant_controller, + action="delete_tenant", conditions=dict(method=["DELETE"])) # Tenant Group Operations - mapper.connect("/v1.0/tenant/{tenant_id}/groups", controller=tenant_controller, - action="create_tenant_group", conditions=dict(method=["POST"])) - mapper.connect("/v1.0/tenant/{tenant_id}/groups", controller=tenant_controller, - action="get_tenant_groups", conditions=dict(method=["GET"])) - mapper.connect("/v1.0/tenant/{tenant_id}/groups/{group_id}", controller=tenant_controller, - action="get_tenant_group", conditions=dict(method=["GET"])) - mapper.connect("/v1.0/tenant/{tenant_id}/groups/{group_id}", controller=tenant_controller, - action="update_tenant_group", conditions=dict(method=["PUT"])) - mapper.connect("/v1.0/tenant/{tenant_id}/groups/{group_id}", controller=tenant_controller, - action="delete_tenant_group", conditions=dict(method=["DELETE"])) - - mapper.connect("/v1.0/tenants/{tenant_id}/groups/{group_id}/users", controller=tenant_controller, - action="get_users_tenant_group", conditions=dict(method=["GET"])) - mapper.connect("/v1.0/tenants/{tenant_id}/groups/{group_id}/users/{user_id}", controller=tenant_controller, - action="add_user_tenant_group", conditions=dict(method=["PUT"])) - mapper.connect("/v1.0/tenants/{tenant_id}/groups/{group_id}/users/{user_id}", controller=tenant_controller, - action="delete_user_tenant_group", conditions=dict(method=["DELETE"])) - - + mapper.connect("/v1.0/tenant/{tenant_id}/groups", + controller=tenant_controller, + action="create_tenant_group", + conditions=dict(method=["POST"])) + mapper.connect("/v1.0/tenant/{tenant_id}/groups", + controller=tenant_controller, + action="get_tenant_groups", + conditions=dict(method=["GET"])) + mapper.connect("/v1.0/tenant/{tenant_id}/groups/{group_id}", + controller=tenant_controller, + action="get_tenant_group", + conditions=dict(method=["GET"])) + mapper.connect("/v1.0/tenant/{tenant_id}/groups/{group_id}", + controller=tenant_controller, + action="update_tenant_group", + conditions=dict(method=["PUT"])) + mapper.connect("/v1.0/tenant/{tenant_id}/groups/{group_id}", + controller=tenant_controller, + action="delete_tenant_group", + conditions=dict(method=["DELETE"])) + mapper.connect("/v1.0/tenants/{tenant_id}/groups/{group_id}/users", + controller=tenant_controller, + action="get_users_tenant_group", + conditions=dict(method=["GET"])) + mapper.connect("/v1.0/tenants/{tenant_id}/groups/{group_id}/\ + users/{user_id}", + controller=tenant_controller, + action="add_user_tenant_group", + conditions=dict(method=["PUT"])) + mapper.connect("/v1.0/tenants/{tenant_id}/groups/{group_id}/\ + users/{user_id}", + controller=tenant_controller, + action="delete_user_tenant_group", + conditions=dict(method=["DELETE"])) + # User Operations user_controller = UserController(options) - mapper.connect("/v1.0/tenants/{tenant_id}/users", controller=user_controller, - action="create_user", conditions=dict(method=["POST"])) - mapper.connect("/v1.0/tenants/{tenant_id}/users", controller=user_controller, - action="get_tenant_users", conditions=dict(method=["GET"])) - mapper.connect("/v1.0/tenants/{tenant_id}/users/{user_id}", controller=user_controller, - action="get_user", conditions=dict(method=["GET"])) - mapper.connect("/v1.0/tenants/{tenant_id}/users/{user_id}", controller=user_controller, - action="update_user", conditions=dict(method=["PUT"])) - mapper.connect("/v1.0/tenants/{tenant_id}/users/{user_id}", controller=user_controller, - action="delete_user", conditions=dict(method=["DELETE"])) - mapper.connect("/v1.0/tenants/{tenant_id}/users/{user_id}/password", controller=user_controller, - action="set_user_password", conditions=dict(method=["PUT"])) - - # Test this, test failed - mapper.connect("/v1.0/tenants/{tenant_id}/users/{user_id}/enabled", controller=user_controller, - action="set_user_enabled", conditions=dict(method=["PUT"])) + mapper.connect("/v1.0/tenants/{tenant_id}/users", + controller=user_controller, + action="create_user", + conditions=dict(method=["POST"])) + mapper.connect("/v1.0/tenants/{tenant_id}/users", + controller=user_controller, + action="get_tenant_users", + conditions=dict(method=["GET"])) + mapper.connect("/v1.0/tenants/{tenant_id}/users/{user_id}", + controller=user_controller, + action="get_user", + conditions=dict(method=["GET"])) + mapper.connect("/v1.0/tenants/{tenant_id}/users/{user_id}", + controller=user_controller, + action="update_user", + conditions=dict(method=["PUT"])) + mapper.connect("/v1.0/tenants/{tenant_id}/users/{user_id}", + controller=user_controller, + action="delete_user", + conditions=dict(method=["DELETE"])) + mapper.connect("/v1.0/tenants/{tenant_id}/users/{user_id}/password", + controller=user_controller, + action="set_user_password", + conditions=dict(method=["PUT"])) + mapper.connect("/v1.0/tenants/{tenant_id}/users/{user_id}/enabled", + controller=user_controller, + action="set_user_enabled", + conditions=dict(method=["PUT"])) #Global Groups groups_controller = GroupsController(options) mapper.connect("/v1.0/groups", controller=groups_controller, - action="create_group", conditions=dict(method=["POST"])) + action="create_group", conditions=dict(method=["POST"])) mapper.connect("/v1.0/groups", controller=groups_controller, - action="get_groups", conditions=dict(method=["GET"])) + action="get_groups", conditions=dict(method=["GET"])) mapper.connect("/v1.0/groups/{group_id}", controller=groups_controller, - action="get_group", conditions=dict(method=["GET"])) + action="get_group", conditions=dict(method=["GET"])) mapper.connect("/v1.0/groups/{group_id}", controller=groups_controller, - action="update_group", conditions=dict(method=["PUT"])) + action="update_group", conditions=dict(method=["PUT"])) mapper.connect("/v1.0/groups/{group_id}", controller=groups_controller, - action="delete_group", conditions=dict(method=["DELETE"])) - - - mapper.connect("/v1.0/groups/{group_id}/users", controller=groups_controller, - action="get_users_global_group", conditions=dict(method=["GET"])) - mapper.connect("/v1.0/groups/{group_id}/users/{user_id}", controller=groups_controller, - action="add_user_global_group", conditions=dict(method=["PUT"])) - mapper.connect("/v1.0/groups/{group_id}/users/{user_id}", controller=groups_controller, - action="delete_user_global_group", conditions=dict(method=["DELETE"])) - - + action="delete_group", conditions=dict(method=["DELETE"])) + mapper.connect("/v1.0/groups/{group_id}/users", + controller=groups_controller, + action="get_users_global_group", + conditions=dict(method=["GET"])) + mapper.connect("/v1.0/groups/{group_id}/users/{user_id}", + controller=groups_controller, + action="add_user_global_group", + conditions=dict(method=["PUT"])) + mapper.connect("/v1.0/groups/{group_id}/users/{user_id}", + controller=groups_controller, + action="delete_user_global_group", + conditions=dict(method=["DELETE"])) # Miscellaneous Operations misc_controller = MiscController(options) - mapper.connect("/v1.0/", controller=misc_controller, - action="get_version_info",conditions=dict(method=["GET"])) - mapper.connect("/v1.0", controller=misc_controller, - action="get_version_info",conditions=dict(method=["GET"])) + mapper.connect("/v1.0/", controller=misc_controller, + action="get_version_info", + conditions=dict(method=["GET"])) + mapper.connect("/v1.0", controller=misc_controller, + action="get_version_info", + conditions=dict(method=["GET"])) # Static Files Controller static_files_controller = StaticFilesController(options) - mapper.connect("/v1.0/idmdevguide.pdf", controller=static_files_controller, - action="get_pdf_contract",conditions=dict(method=["GET"])) - mapper.connect("/v1.0/identity.wadl", controller=static_files_controller, - action="get_identity_wadl",conditions=dict(method=["GET"])) - mapper.connect("/v1.0/xsd/{xsd}", controller=static_files_controller, - action="get_pdf_contract",conditions=dict(method=["GET"])) - mapper.connect("/v1.0/xsd/atom/{xsd}", controller=static_files_controller, - action="get_pdf_contract",conditions=dict(method=["GET"])) - + mapper.connect("/v1.0/idmdevguide.pdf", + controller=static_files_controller, + action="get_pdf_contract", + conditions=dict(method=["GET"])) + mapper.connect("/v1.0/identity.wadl", + controller=static_files_controller, + action="get_identity_wadl", + conditions=dict(method=["GET"])) + mapper.connect("/v1.0/xsd/{xsd}", + controller=static_files_controller, + action="get_pdf_contract", + conditions=dict(method=["GET"])) + mapper.connect("/v1.0/xsd/atom/{xsd}", + controller=static_files_controller, + action="get_pdf_contract", + conditions=dict(method=["GET"])) + super(KeystoneAPI, self).__init__(mapper) + def app_factory(global_conf, **local_conf): """paste.deploy app factory for creating Glance API server apps""" try: -- cgit From fe3f343572b55b95ff456eb11dd3211ade8a285b Mon Sep 17 00:00:00 2001 From: Adipudi Praveena Date: Wed, 11 May 2011 16:43:59 +0530 Subject: Modified and commented the code --- bin/keystone | 2 +- keystone/auth_protocols/auth_basic.py | 8 +- keystone/common/config.py | 2 +- keystone/db/sqlalchemy/api.py | 250 +++++++++++++++------------------- keystone/db/sqlalchemy/session.py | 8 +- keystone/logic/types/atom.py | 16 +-- keystone/logic/types/fault.py | 14 +- keystone/logic/types/tenant.py | 30 ++-- keystone/logic/types/user.py | 104 +++++++------- keystone/server.py | 47 +++++-- keystone/version.py | 6 +- 11 files changed, 240 insertions(+), 247 deletions(-) diff --git a/bin/keystone b/bin/keystone index 6407f8a0..895776b6 100755 --- a/bin/keystone +++ b/bin/keystone @@ -186,7 +186,7 @@ if __name__ == '__main__': sys.exit(msg) if command == 'start': - do_start(server,options, args) + do_start(server, options, args) if command == 'stop': do_stop(server, options, args) diff --git a/keystone/auth_protocols/auth_basic.py b/keystone/auth_protocols/auth_basic.py index 17f2261a..a7c317df 100644 --- a/keystone/auth_protocols/auth_basic.py +++ b/keystone/auth_protocols/auth_basic.py @@ -94,8 +94,8 @@ class AuthProtocol(object): # return 401 indicating we need Basic Auth credentials. return HTTPUnauthorized("Authentication required", [('WWW-Authenticate', - 'Basic realm="Use guest/guest"')] - )(env, start_response) + 'Basic realm="Use guest/guest"')])\ + (env, start_response) else: # Claims were provided - validate them import base64 @@ -108,8 +108,8 @@ class AuthProtocol(object): # Reject request (or ask for valid claims) return HTTPUnauthorized("Authentication required", [('WWW-Authenticate', - 'Basic realm="Use guest/guest"')] - )(env, start_response) + 'Basic realm="Use guest/guest"')])\ + (env, start_response) else: # Claims are valid, forward request _decorate_request_headers("X_IDENTITY_STATUS", "Invalid", diff --git a/keystone/common/config.py b/keystone/common/config.py index 47a482d6..a524498e 100644 --- a/keystone/common/config.py +++ b/keystone/common/config.py @@ -218,7 +218,7 @@ def find_config_file(options, args): # For debug only config_file = os.path.join(POSSIBLE_TOPDIR, 'etc', \ 'keystone.conf') - print "Running server from %s " % config_file + print "Running server from %s " % config_file return os.path.join(POSSIBLE_TOPDIR, 'etc', \ 'keystone.conf') diff --git a/keystone/db/sqlalchemy/api.py b/keystone/db/sqlalchemy/api.py index 4c8a59a3..af91a2c5 100644 --- a/keystone/db/sqlalchemy/api.py +++ b/keystone/db/sqlalchemy/api.py @@ -17,7 +17,7 @@ from session import get_session -from sqlalchemy.orm import joinedload,aliased +from sqlalchemy.orm import joinedload, aliased import models @@ -41,21 +41,21 @@ def tenant_get_all(session=None): return session.query(models.Tenant).all() -def tenant_get_page(marker,limit,session=None): +def tenant_get_page(marker, limit, session=None): if not session: session = get_session() if marker: return session.query(models.Tenant).filter("id>:marker").params(\ - marker = '%s' % marker).order_by\ - (models.Tenant.id.desc()).limit(limit).all() + marker='%s' % marker).order_by(\ + models.Tenant.id.desc()).limit(limit).all() else: return session.query(models.Tenant).order_by(\ models.Tenant.id.desc()).limit(limit).all() #return session.query(models.Tenant).all() -def tenant_get_page_markers(marker,limit,session=None): +def tenant_get_page_markers(marker, limit, session=None): if not session: session = get_session() first = session.query(models.Tenant).order_by(\ @@ -63,38 +63,38 @@ def tenant_get_page_markers(marker,limit,session=None): last = session.query(models.Tenant).order_by(\ models.Tenant.id.desc()).first() if marker is None: - marker=first.id - next=session.query(models.Tenant).filter("id > :marker").params(\ - marker = '%s' % marker).order_by(\ + marker = first.id + next = session.query(models.Tenant).filter("id > :marker").params(\ + marker='%s' % marker).order_by(\ models.Tenant.id).limit(limit).all() - prev=session.query(models.Tenant).filter("id < :marker").params(\ - marker = '%s' % marker).order_by(\ + prev = session.query(models.Tenant).filter("id < :marker").params(\ + marker='%s' % marker).order_by(\ models.Tenant.id.desc()).limit(int(limit)).all() if len(next) == 0: - next=last + next = last else: for t in next: - next=t + next = t if len(prev) == 0: - prev=first + prev = first else: for t in prev: - prev=t + prev = t if prev.id == marker: prev = None else: - prev=prev.id + prev = prev.id if next.id == last.id: next = None else: next = next.id - return (prev,next) + return (prev, next) def tenant_is_empty(id, session=None): if not session: session = get_session() - a_user = session.query(models.UserTenantAssociation).filter_by( + a_user = session.query(models.UserTenantAssociation).filter_by(\ tenant_id=id).first() if a_user != None: return False @@ -113,7 +113,7 @@ def tenant_update(id, values, session=None): tenant_ref.save(session=session) -def tenant_group_is_empty( id, session=None): +def tenant_group_is_empty(id, session=None): if not session: session = get_session() a_user = session.query(models.UserGroupAssociation).filter_by( @@ -123,6 +123,7 @@ def tenant_group_is_empty( id, session=None): return True + def tenant_delete(id, session=None): if not session: session = get_session() @@ -141,64 +142,69 @@ def tenant_group_create(values): def tenant_group_get(id, tenant, session=None): if not session: session = get_session() - result = session.query(models.Group).filter_by(id=id, tenant_id=tenant).first() + result = session.query(models.Group).filter_by(id=id, \ + tenant_id=tenant).first() return result -def tenant_group_get_page(tenantId, marker,limit,session=None): + +def tenant_group_get_page(tenantId, marker, limit, session=None): if not session: session = get_session() if marker: return session.query(models.Group).filter("id>:marker").params(\ - marker = '%s' % marker).filter_by(\ - tenant_id=tenantId).order_by\ - (models.Group.id.desc()).limit(limit).all() + marker='%s' % marker).filter_by(\ + tenant_id=tenantId).order_by(\ + models.Group.id.desc()).limit(limit).all() else: return session.query(models.Group).filter_by(tenant_id=tenantId)\ .order_by(models.Group.id.desc()).limit(limit).all() #return session.query(models.Tenant).all() -def tenant_group_get_page_markers(tenantId, marker,limit,session=None): +def tenant_group_get_page_markers(tenantId, marker, limit, session=None): if not session: session = get_session() - first = session.query(models.Group).filter_by(tenant_id=tenantId).order_by(\ - models.Group.id).first() - last = session.query(models.Group).filter_by(tenant_id=tenantId).order_by(\ - models.Group.id.desc()).first() - + first = session.query(models.Group).filter_by(\ + tenant_id=tenantId).order_by(\ + models.Group.id).first() + last = session.query(models.Group).filter_by(\ + tenant_id=tenantId).order_by(\ + models.Group.id.desc()).first() + if first is None: - return (None,None) + return (None, None) if marker is None: marker = first.id - next=session.query(models.Group).filter("id > :marker").params(\ - marker = '%s' % marker).filter_by(\ + next = session.query(models.Group).filter("id > :marker").params(\ + marker='%s' % marker).filter_by(\ tenant_id=tenantId).order_by(\ models.Group.id).limit(limit).all() - prev=session.query(models.Group).filter("id < :marker").params(\ - marker = '%s' % marker).filter_by(\ + prev = session.query(models.Group).filter("id < :marker").params(\ + marker='%s' % marker).filter_by(\ tenant_id=tenantId).order_by(\ models.Group.id.desc()).limit(int(limit)).all() if len(next) == 0: - next=last + next = last else: for t in next: - next=t + next = t if len(prev) == 0: - prev=first + prev = first else: for t in prev: - prev=t + prev = t if prev.id == marker: prev = None else: - prev=prev.id + prev = prev.id if next.id == last.id: next = None else: next = next.id - return (prev,next) + return (prev, next) + def tenant_group_update(id, tenant_id, values, session=None): if not session: @@ -209,18 +215,19 @@ def tenant_group_update(id, tenant_id, values, session=None): tenant_ref.save(session=session) -def tenant_group_delete(id,tenant_id, session=None): +def tenant_group_delete(id, tenant_id, session=None): if not session: session = get_session() with session.begin(): - tenantgroup_ref = tenant_group_get(id,tenant_id, session) + tenantgroup_ref = tenant_group_get(id, tenant_id, session) session.delete(tenantgroup_ref) + def user_get_by_group(user_id, group_id, session=None): if not session: session = get_session() - result = session.query(models.UserGroupAssociation).filter_by( - group_id=group_id, user_id=user_id).first() + result = session.query(models.UserGroupAssociation).filter_by(\ + group_id=group_id, user_id=user_id).first() return result @@ -239,7 +246,6 @@ def user_tenant_group_delete(id, group_id, session=None): session.delete(usertenantgroup_ref) - def user_create(values): user_ref = models.User() user_ref.update(values) @@ -250,16 +256,16 @@ def user_create(values): def user_get(id, session=None): if not session: session = get_session() - result = session.query(models.User).options(joinedload('groups')).options( - joinedload('tenants')).filter_by(id=id).first() + result = session.query(models.User).options(joinedload('groups')).options(\ + joinedload('tenants')).filter_by(id=id).first() return result def user_groups(id, session=None): if not session: session = get_session() - result = session.query(models.Group).filter_by( - user_id=id) + result = session.query(models.Group).filter_by(\ + user_id=id) return result @@ -271,24 +277,27 @@ def user_update(id, values, session=None): user_ref.update(values) user_ref.save(session=session) + def users_tenant_group_get_page(group_id, marker, limit, session=None): if not session: session = get_session() uga = aliased(models.UserGroupAssociation) user = aliased(models.User) if marker: - return session.query(user, uga).join( + return session.query(user, uga).join(\ (uga, uga.user_id == user.id)).\ filter(uga.group_id == group_id).\ - filter("id>=:marker").params( - marker='%s' % marker).order_by( + filter("id>=:marker").params(\ + marker='%s' % marker).order_by(\ user.id).limit(limit).all() else: return session.query(user, uga).\ join((uga, uga.user_id == user.id)).\ - filter(uga.group_id == group_id).order_by( + filter(uga.group_id == group_id).order_by(\ user.id).limit(limit).all() -def users_tenant_group_get_page_markers(group_id, marker,limit,session=None): + + +def users_tenant_group_get_page_markers(group_id, marker, limit, session=None): if not session: session = get_session() uga = aliased(models.UserGroupAssociation) @@ -303,13 +312,13 @@ def users_tenant_group_get_page_markers(group_id, marker,limit,session=None): (uga, uga.user_id == user.id)).\ filter(uga.group_id == group_id).\ filter("id > :marker").params(\ - marker = '%s' % marker).order_by(\ + marker='%s' % marker).order_by(\ user.id).limit(limit).all() - prev= session.query(user).join( + prev = session.query(user).join(\ (uga, uga.user_id == user.id)).\ filter(uga.group_id == group_id).\ filter("id < :marker").params(\ - marker = '%s' % marker).order_by(\ + marker='%s' % marker).order_by(\ user.id.desc()).limit(int(limit)).all() if len(next) == 0: next = last @@ -324,7 +333,7 @@ def users_tenant_group_get_page_markers(group_id, marker,limit,session=None): if prev.id == marker: prev = None else: - prev=prev.id + prev = prev.id if next.id == last.id: next = None else: @@ -342,85 +351,32 @@ def group_get(id, session=None): def group_users(id, session=None): if not session: session = get_session() - result = session.query(models.User).filter_by( + result = session.query(models.User).filter_by(\ group_id=id) return result -""" -def users_tenant_group_get_page(group_id, marker,limit,session=None): - if not session: - session = get_session() - - if marker: - return session.query(models.User).filter_by(\ - group_id=group_id).filter("id>:marker").params(\ - marker = '%s' % marker).order_by\ - (models.User.id.desc()).limit(limit).all() - else: - return session.query(models.User).filter_by(\ - group_id=group_id).order_by(\ - models.User.id.desc()).limit(limit).all() - -def users_tenant_group_get_page_markers(group_id, marker,limit,session=None): - if not session: - session = get_session() - first = session.query(models.User).order_by(\ - models.User.id).first() - last = session.query(models.User).order_by(\ - models.User.id.desc()).first() - if marker is None: - marker=first.id - next=session.query(models.User).filter_by(\ - group_id=group_id).filter("id > :marker").params(\ - marker = '%s' % marker).order_by(\ - models.User.id).limit(limit).all() - prev=session.query(models.User).filter_by(\ - group_id=group_id).filter("id < :marker").params(\ - marker = '%s' % marker).order_by(\ - models.User.id.desc()).limit(int(limit)).all() - if len(next) == 0: - next=last - else: - for t in next: - next=t - if len(prev) == 0: - prev=first - else: - for t in prev: - prev=t - if prev.id == marker: - prev = None - else: - prev=prev.id - if next.id == last.id: - next = None - else: - next = next.id - return (prev,next) -""" - def group_get_all(session=None): if not session: session = get_session() result = session.query(models.Group) return result -def group_get_page(marker,limit,session=None): + +def group_get_page(marker, limit, session=None): if not session: session = get_session() if marker: return session.query(models.Group).filter("id>:marker").params(\ - marker = '%s' % marker).order_by\ - (models.Group.id.desc()).limit(limit).all() + marker='%s' % marker).order_by(\ + models.Group.id.desc()).limit(limit).all() else: return session.query(models.Group).order_by(\ models.Group.id.desc()).limit(limit).all() - -def group_get_page_markers(marker,limit,session=None): +def group_get_page_markers(marker, limit, session=None): if not session: session = get_session() first = session.query(models.Group).order_by(\ @@ -428,32 +384,32 @@ def group_get_page_markers(marker,limit,session=None): last = session.query(models.Group).order_by(\ models.Group.id.desc()).first() if marker is None: - marker=first.id - next=session.query(models.Group).filter("id > :marker").params(\ - marker = '%s' % marker).order_by(\ + marker = first.id + next = session.query(models.Group).filter("id > :marker").params(\ + marker='%s' % marker).order_by(\ models.Group.id).limit(limit).all() - prev=session.query(models.Group).filter("id < :marker").params(\ - marker = '%s' % marker).order_by(\ + prev = session.query(models.Group).filter("id < :marker").params(\ + marker='%s' % marker).order_by(\ models.Group.id.desc()).limit(int(limit)).all() if len(next) == 0: - next=last + next = last else: for t in next: - next=t + next = t if len(prev) == 0: - prev=first + prev = first else: for t in prev: - prev=t + prev = t if prev.id == marker: prev = None else: - prev=prev.id + prev = prev.id if next.id == last.id: next = None else: next = next.id - return (prev,next) + return (prev, next) def group_delete(id, session=None): @@ -493,24 +449,28 @@ def token_for_user(user_id, session=None): user_id=user_id).order_by("expires desc").first() return result + def user_tenant_create(values): user_tenant_ref = models.UserTenantAssociation() user_tenant_ref.update(values) user_tenant_ref.save() return user_tenant_ref + def user_get_update(id, session=None): if not session: session = get_session() result = session.query(models.User).filter_by(id=id).first() return result + def user_get_email(email, session=None): if not session: session = get_session() result = session.query(models.User).filter_by(email=email).first() return result + def users_get_by_tenant_get_page(tenant_id, marker, limit, session=None): if not session: session = get_session() @@ -529,7 +489,9 @@ def users_get_by_tenant_get_page(tenant_id, marker, limit, session=None): filter(uta.tenant_id == tenant_id).order_by( user.id).limit(limit).all() -def users_get_by_tenant_get_page_markers(tenant_id, marker, limit, session=None): + +def users_get_by_tenant_get_page_markers(tenant_id, marker, limit,\ + session=None): if not session: session = get_session() uta = aliased(models.UserTenantAssociation) @@ -544,19 +506,21 @@ def users_get_by_tenant_get_page_markers(tenant_id, marker, limit, session=None) order_by(user.id.desc()).first() if marker is None: marker = first.id - next, nextuta = session.query(user, uta).join((uta, uta.user_id == user.id)).\ + next, nextuta = session.query(user, uta).join((uta, + uta.user_id == user.id)).\ filter(uta.tenant_id == tenant_id).\ filter("id >= :marker").params( marker='%s' % marker).order_by( user.id).limit(int(limit) + 1).all() - prev, prevuta = session.query(user, uta).join((uta, uta.user_id == user.id)).\ + prev, prevuta = session.query(user, uta).join((uta, \ + uta.user_id == user.id)).\ filter(uta.tenant_id == tenant_id).\ filter("id < :marker").params( marker='%s' % marker).order_by( user.id.desc()).limit(int(limit)).all() next_len = len(next) prev_len = len(prev) - + if next_len == 0: next = last else: @@ -577,6 +541,7 @@ def users_get_by_tenant_get_page_markers(tenant_id, marker, limit, session=None) next = next.id return (prev, next) + def user_groups_get_all(user_id, session=None): if not session: session = get_session() @@ -587,13 +552,14 @@ def user_groups_get_all(user_id, session=None): filter(uga.user_id == user_id).order_by( group.id).all() + def groups_get_by_user_get_page(user_id, marker, limit, session=None): if not session: session = get_session() uga = aliased(models.UserGroupAssociation) group = aliased(models.Group) if marker: - return session.query(group, uga).join( + return session.query(group, uga).join(\ (uga, uga.group_id == group.id)).\ filter(uga.user_id == user_id).\ filter("id>=:marker").params( @@ -604,6 +570,8 @@ def groups_get_by_user_get_page(user_id, marker, limit, session=None): join((uga, uga.group_id == group.id)).\ filter(uga.user_id == user_id).order_by( group.id).limit(limit).all() + + def groups_get_by_user_get_page_markers(user_id, marker, limit, session=None): if not session: session = get_session() @@ -626,7 +594,6 @@ def groups_get_by_user_get_page_markers(user_id, marker, limit, session=None): marker='%s' % marker).order_by( group.id).limit(int(limit)).all() - prev = session.query(group, uga).join( (uga, uga.group_id == group.id)).\ filter(uga.user_id == user_id).\ @@ -635,7 +602,7 @@ def groups_get_by_user_get_page_markers(user_id, marker, limit, session=None): group.id).limit(int(limit) + 1).all() next_len = len(next) prev_len = len(prev) - + if next_len == 0: next = last else: @@ -664,40 +631,41 @@ def user_delete(id, session=None): user_ref = user_get(id, session) session.delete(user_ref) + def user_get_by_tenant(id, tenant_id, session=None): if not session: session = get_session() - user_tenant = session.query(models.UserTenantAssociation).filter_by( + user_tenant = session.query(models.UserTenantAssociation).filter_by(\ tenant_id=tenant_id, user_id=id).first() return user_tenant + def user_get_by_group(id, session=None): if not session: session = get_session() user_group = session.query(models.Group).filter_by(tenant_id=id).all() return user_group + def user_delete_tenant(id, tenant_id, session=None): if not session: session = get_session() with session.begin(): user_tenant_ref = user_get_by_tenant(id, tenant_id, session) - print user_tenant_ref session.delete(user_tenant_ref) - user_group_ref = user_get_by_group(tenant_id,session) - print user_group_ref + user_group_ref = user_get_by_group(tenant_id, session) if user_group_ref is not None: for user_group in user_group_ref: group_users=session.query(models.UserGroupAssociation).filter_by( \ user_id=id, group_id = user_group.id).all() for group_user in group_users: session.delete(group_user) - user_tenant_ref= session.query(models.UserTenantAssociation).filter_by( \ + user_tenant_ref = session.query(models.UserTenantAssociation).filter_by( \ user_id=id).first() if user_tenant_ref is None: user_ref = user_get(id, session) session.delete(user_ref) - + def user_tenant_group(values): user_ref = models.UserGroupAssociation() user_ref.update(values) diff --git a/keystone/db/sqlalchemy/session.py b/keystone/db/sqlalchemy/session.py index b67d1aa4..3e7b5a1f 100644 --- a/keystone/db/sqlalchemy/session.py +++ b/keystone/db/sqlalchemy/session.py @@ -29,13 +29,13 @@ from sqlalchemy.orm import sessionmaker _ENGINE = None _MAKER = None + def get_connection_string(): path = os.path.realpath(__file__) dbpath = os.path.normpath(os.path.join(path, - os.pardir, # sqlalchemy - os.pardir, # db - os.pardir # keystone - )) + os.pardir, # sqlalchemy + os.pardir, # db + os.pardir)) # keystone connection_string = "sqlite:///%s/keystone.db" % dbpath logging.debug('SQL ALchemy connection string: %s', connection_string) return connection_string diff --git a/keystone/logic/types/atom.py b/keystone/logic/types/atom.py index fd09b79e..0b2345d9 100644 --- a/keystone/logic/types/atom.py +++ b/keystone/logic/types/atom.py @@ -14,6 +14,7 @@ # limitations under the License. from lxml import etree + class Link(object): "An atom link" @@ -23,8 +24,7 @@ class Link(object): self.link_type = link_type self.hreflang = hreflang self.title = title - - + def to_dict(self): links = {} if self.link_type: @@ -33,16 +33,16 @@ class Link(object): links["hreflang"] = self.hreflang if self.title: links["title"] = self.title - + links["rel"] = self.rel links["href"] = self.href return {'links': links} - + def to_dom(self): - ATOM_NAMESPACE ="http://www.w3.org/2005/Atom" + ATOM_NAMESPACE = "http://www.w3.org/2005/Atom" ATOM = "{%s}" % ATOM_NAMESPACE - NSMAP = {'atom' : ATOM_NAMESPACE} - dom = etree.Element(ATOM+"link", nsmap=NSMAP) + NSMAP = {'atom': ATOM_NAMESPACE} + dom = etree.Element(ATOM + "link", nsmap=NSMAP) if self.link_type: dom.set("link_type", self.link_type) if self.link_type: @@ -51,4 +51,4 @@ class Link(object): dom.set("title", self.title) dom.set("rel", self.rel) dom.set("href", self.href) - return dom \ No newline at end of file + return dom diff --git a/keystone/logic/types/fault.py b/keystone/logic/types/fault.py index e35ca50a..27032c7c 100644 --- a/keystone/logic/types/fault.py +++ b/keystone/logic/types/fault.py @@ -73,7 +73,7 @@ class BadRequestFault(IDMFault): class UnauthorizedFault(IDMFault): "User is unauthorized" - + def __init__(self, msg, details=None, code=401): super(UnauthorizedFault, self).__init__(msg, details, code) self.key = "unauthorized" @@ -86,6 +86,7 @@ class ForbiddenFault(IDMFault): super(ForbiddenFault, self).__init__(msg, details, code) self.key = "forbidden" + class TenantDisabledFault(IDMFault): "The tenant is disabled" @@ -109,14 +110,15 @@ class TenantConflictFault(IDMFault): super(TenantConflictFault, self).__init__(msg, details, code) self.key = "tenantConflict" + class TenantGroupConflictFault(IDMFault): "The tenant Group already exists?" def __init__(self, msg, details=None, code=409): super(TenantGroupConflictFault, self).__init__(msg, details, code) self.key = "tenantGroupConflict" - - + + class OverlimitFault(IDMFault): "A limit has been exceeded" @@ -125,7 +127,8 @@ class OverlimitFault(IDMFault): self.args = (code, msg, details, retry_at) self.retry_at = retry_at self.key = "overLimit" - + + class UserConflictFault(IDMFault): "The User already exists?" @@ -133,6 +136,7 @@ class UserConflictFault(IDMFault): super(UserConflictFault, self).__init__(msg, details, code) self.key = "userConflict" + class UserDisabledFault(IDMFault): "The user is disabled" @@ -140,6 +144,7 @@ class UserDisabledFault(IDMFault): super(UserDisabledFault, self).__init__(msg, details, code) self.key = "userDisabled" + class EmailConflictFault(IDMFault): "The Email already exists?" @@ -147,6 +152,7 @@ class EmailConflictFault(IDMFault): super(EmailConflictFault, self).__init__(msg, details, code) self.key = "emailConflict" + class UserGroupConflictFault(IDMFault): "The user already exists in group?" diff --git a/keystone/logic/types/tenant.py b/keystone/logic/types/tenant.py index de64faee..f57fc523 100644 --- a/keystone/logic/types/tenant.py +++ b/keystone/logic/types/tenant.py @@ -109,7 +109,7 @@ class Tenants(object): def to_xml(self): dom = etree.Element("tenants") - dom.set(u"xmlns","http://docs.openstack.org/idm/api/v1.0") + dom.set(u"xmlns", "http://docs.openstack.org/idm/api/v1.0") for t in self.values: dom.append(t.to_dom()) @@ -122,7 +122,7 @@ class Tenants(object): def to_json(self): values = [t.to_dict()["tenant"] for t in self.values] links = [t.to_dict()["links"] for t in self.links] - return json.dumps({"tenants": {"values": values,"links":links}}) + return json.dumps({"tenants": {"values": values, "links": links}}) class Group(object): @@ -145,12 +145,12 @@ class Group(object): if root == None: raise fault.BadRequestFault("Expecting Group") group_id = root.get("id") - tenant_id=None + tenant_id = None if root.get("tenantId"): tenant_id = root.get("tenantId") else: tenant_id = None - + desc = root.find("{http://docs.openstack.org/idm/api/v1.0}" "description") if desc == None: @@ -222,7 +222,7 @@ class Groups(object): def to_xml(self): dom = etree.Element("groups") - dom.set(u"xmlns","http://docs.openstack.org/idm/api/v1.0") + dom.set(u"xmlns", "http://docs.openstack.org/idm/api/v1.0") for t in self.values: dom.append(t.to_dom()) @@ -235,7 +235,7 @@ class Groups(object): def to_json(self): values = [t.to_dict()["group"] for t in self.values] links = [t.to_dict()["links"] for t in self.links] - return json.dumps({"groups": {"values": values,"links":links}}) + return json.dumps({"groups": {"values": values, "links": links}}) class GlobalGroup(object): @@ -244,7 +244,6 @@ class GlobalGroup(object): def __init__(self, group_id, description, tenant_id=None): self.description = description self.group_id = group_id - @staticmethod def from_xml(xml_str): @@ -255,7 +254,7 @@ class GlobalGroup(object): if root == None: raise fault.BadRequestFault("Expecting Group") group_id = root.get("id") - + desc = root.find("{http://docs.openstack.org/idm/api/v1.0}" "description") if desc == None: @@ -290,7 +289,7 @@ class GlobalGroup(object): xmlns="http://docs.openstack.org/idm/api/v1.0") if self.group_id: dom.set("id", self.group_id) - + desc = etree.Element("description") desc.text = self.description dom.append(desc) @@ -304,7 +303,7 @@ class GlobalGroup(object): if self.group_id: group["id"] = self.group_id group["description"] = self.description - + return {'group': group} def to_json(self): @@ -320,7 +319,7 @@ class GlobalGroups(object): def to_xml(self): dom = etree.Element("groups") - dom.set(u"xmlns","http://docs.openstack.org/idm/api/v1.0") + dom.set(u"xmlns", "http://docs.openstack.org/idm/api/v1.0") for t in self.values: dom.append(t.to_dom()) @@ -333,10 +332,7 @@ class GlobalGroups(object): def to_json(self): values = [t.to_dict()["group"] for t in self.values] links = [t.to_dict()["links"] for t in self.links] - return json.dumps({"groups": {"values": values,"links":links}}) - - - + return json.dumps({"groups": {"values": values, "links": links}}) class User(object): @@ -432,7 +428,7 @@ class Users(object): def to_xml(self): dom = etree.Element("users") - dom.set(u"xmlns","http://docs.openstack.org/idm/api/v1.0") + dom.set(u"xmlns", "http://docs.openstack.org/idm/api/v1.0") for t in self.values: dom.append(t.to_dom()) @@ -445,4 +441,4 @@ class Users(object): def to_json(self): values = [t.to_dict()["user"] for t in self.values] links = [t.to_dict()["links"] for t in self.links] - return json.dumps({"users": {"values": values,"links":links}}) + return json.dumps({"users": {"values": values, "links": links}}) diff --git a/keystone/logic/types/user.py b/keystone/logic/types/user.py index f3a56a5d..2c50de65 100644 --- a/keystone/logic/types/user.py +++ b/keystone/logic/types/user.py @@ -22,13 +22,13 @@ import string class User(object): "A user." - def __init__(self, password,user_id, tenant_id, email,enabled): + def __init__(self, password, user_id, tenant_id, email, enabled): self.user_id = user_id self.tenant_id = tenant_id self.password = password self.email = email self.enabled = enabled and True or False - + @staticmethod def from_xml(xml_str): try: @@ -37,7 +37,7 @@ class User(object): root = dom.find("{http://docs.openstack.org/idm/api/v1.0}user") if root == None: raise fault.BadRequestFault("Expecting User") - user_id=root.get("id") + user_id = root.get("id") tenant_id = root.get("tenantId") email = root.get("email") password = root.get("password") @@ -49,7 +49,7 @@ class User(object): elif password == None: raise fault.BadRequestFault("Expecting User password") elif email == None: - raise fault.BadRequestFault("Expecting User email") + raise fault.BadRequestFault("Expecting User email") if enabled == None or enabled == "true" or enabled == "yes": set_enabled = True elif enabled == "false" or enabled == "no": @@ -57,8 +57,8 @@ class User(object): else: raise fault.BadRequestFault("Bad enabled attribute!") if password == '': - password=user_id - return User(password,user_id,tenant_id,email,set_enabled) + password = user_id + return User(password, user_id, tenant_id, email, set_enabled) except etree.LxmlError as e: raise fault.BadRequestFault("Cannot parse User", str(e)) @@ -86,12 +86,12 @@ class User(object): if "enabled" in user: set_enabled = user["enabled"] if not isinstance(set_enabled, bool): - raise fault.BadRequestFault("Bad enabled attribute!") + raise fault.BadRequestFault("Bad enabled attribute!") else: - set_enabled=True + set_enabled = True if password == '': - password=user_id - return User(password,user_id,tenant_id,email,set_enabled) + password = user_id + return User(password, user_id, tenant_id, email, set_enabled) except (ValueError, TypeError) as e: raise fault.BadRequestFault("Cannot parse Tenant", str(e)) @@ -101,15 +101,13 @@ class User(object): if self.email: dom.set("email", self.email) if self.tenant_id: - dom.set("tenantId",self.tenant_id) + dom.set("tenantId", self.tenant_id) if self.user_id: - dom.set("id",self.user_id) + dom.set("id", self.user_id) if self.enabled: - dom.set("enabled",string.lower(str(self.enabled))) + dom.set("enabled", string.lower(str(self.enabled))) if self.password: - dom.set("password",self.password) - - + dom.set("password", self.password) return dom def to_xml(self): @@ -118,29 +116,32 @@ class User(object): def to_dict(self): user = {} - + if self.user_id: user["id"] = self.user_id - user["tenantId"]=self.tenant_id + user["tenantId"] = self.tenant_id if self.password: - user["password"]=self.password - user["email"]=self.email - user["enabled"]=self.enabled + user["password"] = self.password + user["email"] = self.email + user["enabled"] = self.enabled return {'user': user} - + def to_json(self): - return json.dumps(self.to_dict()) - + return json.dumps(self.to_dict()) + + class User_Update(object): "A user." - def __init__(self, password,user_id, tenant_id, email,enabled, group=None): + def __init__(self, password, user_id, tenant_id, email, + enabled, group=None): self.user_id = user_id self.tenant_id = tenant_id self.password = password self.email = email self.enabled = enabled and True or False - self.group=group + self.group = group + @staticmethod def from_xml(xml_str): try: @@ -149,11 +150,11 @@ class User_Update(object): root = dom.find("{http://docs.openstack.org/idm/api/v1.0}user") if root == None: raise fault.BadRequestFault("Expecting User") - user_id=root.get("id") + user_id = root.get("id") tenant_id = root.get("tenantId") email = root.get("email") password = root.get("password") - enabled = root.get("enabled") + enabled = root.get("enabled") if enabled == None or enabled == "true" or enabled == "yes": set_enabled = True elif enabled == "false" or enabled == "no": @@ -161,8 +162,8 @@ class User_Update(object): else: raise fault.BadRequestFault("Bad enabled attribute!") if password == '': - password=user_id - return User(password,user_id,tenant_id,email,set_enabled) + password = user_id + return User(password, user_id, tenant_id, email, set_enabled) except etree.LxmlError as e: raise fault.BadRequestFault("Cannot parse User", str(e)) @@ -181,24 +182,24 @@ class User_Update(object): if not "password" in user: password = None else: - password=user["password"] + password = user["password"] if not "tenantId" in user: - tenant_id=None + tenant_id = None else: tenant_id = user["tenantId"] if not "email" in user: - email=None - else: + email = None + else: email = user["email"] if "enabled" in user: set_enabled = user["enabled"] if not isinstance(set_enabled, bool): - raise fault.BadRequestFault("Bad enabled attribute!") + raise fault.BadRequestFault("Bad enabled attribute!") else: - set_enabled=True + set_enabled = True if password == '': - password=user_id - return User(password,user_id,tenant_id,email,set_enabled) + password = user_id + return User(password, user_id, tenant_id, email, set_enabled) except (ValueError, TypeError) as e: raise fault.BadRequestFault("Cannot parse Tenant", str(e)) @@ -208,13 +209,13 @@ class User_Update(object): if self.email: dom.set("email", self.email) if self.tenant_id: - dom.set("tenantId",self.tenant_id) + dom.set("tenantId", self.tenant_id) if self.user_id: - dom.set("id",self.user_id) + dom.set("id", self.user_id) if self.enabled is not None: - dom.set("enabled",string.lower(str(self.enabled))) + dom.set("enabled", string.lower(str(self.enabled))) if self.password: - dom.set("password",self.password) + dom.set("password", self.password) if self.group is not None: print '78' for group in self.group: @@ -226,24 +227,25 @@ class User_Update(object): def to_dict(self): user = {} - + if self.user_id: user["id"] = self.user_id if self.user_id: - user["tenantId"]=self.tenant_id + user["tenantId"] = self.tenant_id if self.password: - user["password"]=self.password + user["password"] = self.password if self.email: - user["email"]=self.email + user["email"] = self.email if self.enabled is not None: - user["enabled"]=self.enabled + user["enabled"] = self.enabled if self.group is not None: - values=[t.to_dict()["group"] for t in self.group] + values = [t.to_dict()["group"] for t in self.group] user["groups"] = {"values": values} return {'user': user} - + def to_json(self): - return json.dumps(self.to_dict()) + return json.dumps(self.to_dict()) + class Users(object): "A collection of users." @@ -264,4 +266,4 @@ class Users(object): def to_json(self): values = [t.to_dict()["user"] for t in self.values] links = [t.to_dict()["links"] for t in self.links] - return json.dumps({"users": {"values": values, "links": links}}) \ No newline at end of file + return json.dumps({"users": {"values": values, "links": links}}) diff --git a/keystone/server.py b/keystone/server.py index e0338f30..39a309e1 100755 --- a/keystone/server.py +++ b/keystone/server.py @@ -66,7 +66,6 @@ import keystone.logic.types.fault as fault import keystone.logic.types.user as users import keystone.common.template as template -# Shall give [app:server paste value from conf file ] logger = logging.getLogger('keystone.server') VERSION_STATUS = "ALPHA" @@ -74,6 +73,10 @@ VERSION_DATE = "2011-04-23T00:00:00Z" service = serv.IDMService() +""" +General Functions for the server.py use +""" + def is_xml_response(req): if not "Accept" in req.headers: @@ -96,9 +99,7 @@ def wrap_error(func): @functools.wraps(func) def check_error(*args, **kwargs): try: - return func(*args, **kwargs) - except Exception as err: if isinstance(err, fault.IDMFault): return send_error(err.code, kwargs['req'], err) @@ -110,16 +111,13 @@ def wrap_error(func): def get_normalized_request_content(model, req): - """initialize a model from json/xml contents of request body""" + """Initialize a model from json/xml contents of request body""" if req.content_type == "application/xml": - ret = model.from_xml(req.body) elif req.content_type == "application/json": - ret = model.from_json(req.body) else: - raise fault.IDMFault("I don't understand the content type ", code=415) return ret @@ -172,6 +170,10 @@ def send_result(code, req, result): class StaticFilesController(wsgi.Controller): + """ + Static Files Controller - + Controller for contract documents + """ def __init__(self, options): self.options = options @@ -205,7 +207,11 @@ class StaticFilesController(wsgi.Controller): mimetype="application/xml") -class MiscController(wsgi.Controller): +class VersionController(wsgi.Controller): + """ + Version Controller - + Controller for version related methods + """ def __init__(self, options): self.options = options @@ -234,6 +240,10 @@ class MiscController(wsgi.Controller): class AuthController(wsgi.Controller): + """ + Auth Controller - + Controller for token related operations + """ def __init__(self, options): self.options = options @@ -264,6 +274,10 @@ class AuthController(wsgi.Controller): class TenantController(wsgi.Controller): + """ + Tenant Controller - + Controller for Tenant and Tenant Group related operations + """ def __init__(self, options): self.options = options @@ -309,7 +323,6 @@ class TenantController(wsgi.Controller): rval = service.delete_tenant(get_auth_token(req), tenant_id) return send_result(204, req, rval) - # Tenant Group Methods @wrap_error def create_tenant_group(self, req, tenant_id): group = get_normalized_request_content(tenants.Group, req) @@ -390,6 +403,10 @@ class TenantController(wsgi.Controller): class UserController(wsgi.Controller): + """ + User Controller - + Controller for User related operations + """ def __init__(self, options): self.options = options @@ -461,7 +478,6 @@ class UserController(wsgi.Controller): user_id, user, tenant_id) return send_result(204, req, rval) - # To be checked with Abdul not finished yet @wrap_error def set_user_enabled(self, req, user_id, tenant_id): user = get_normalized_request_content(users.User_Update, req) @@ -471,9 +487,12 @@ class UserController(wsgi.Controller): class GroupsController(wsgi.Controller): + """ + Groups Controller - + Controller for Group related operations + """ def __init__(self, options): - self.options = options @wrap_error @@ -682,11 +701,11 @@ class KeystoneAPI(wsgi.Router): conditions=dict(method=["DELETE"])) # Miscellaneous Operations - misc_controller = MiscController(options) - mapper.connect("/v1.0/", controller=misc_controller, + version_controller = VersionController(options) + mapper.connect("/v1.0/", controller=version_controller, action="get_version_info", conditions=dict(method=["GET"])) - mapper.connect("/v1.0", controller=misc_controller, + mapper.connect("/v1.0", controller=version_controller, action="get_version_info", conditions=dict(method=["GET"])) diff --git a/keystone/version.py b/keystone/version.py index 332f5841..770259b4 100755 --- a/keystone/version.py +++ b/keystone/version.py @@ -13,10 +13,13 @@ # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. + +""" Version file for the python daemon script """ + KEYSTONE_VERSION = ['1', '0'] MAJOR, MINOR = KEYSTONE_VERSION -FINAL = True # This becomes true at Release Candidate time +FINAL = True def canonical_version_string(): @@ -28,4 +31,3 @@ def version_string(): return canonical_version_string() else: return '%s-dev' % (canonical_version_string(),) - -- cgit From 5ef1c5b04e7404bef5652437bf0a8108aac62e17 Mon Sep 17 00:00:00 2001 From: Sai Krishna Date: Wed, 11 May 2011 18:02:24 +0530 Subject: Modified and tests. Tests groups throwing some minor errors still --- etc/keystone.conf | 2 +- keystone.log | 4983 +++++++++++++++++++++++++++++++++++++++++++++ keystone/logic/service.py | 4 +- test/unit/test_token.py | 10 +- 4 files changed, 4991 insertions(+), 8 deletions(-) diff --git a/etc/keystone.conf b/etc/keystone.conf index 4c0d2024..a4815c35 100644 --- a/etc/keystone.conf +++ b/etc/keystone.conf @@ -17,7 +17,7 @@ default_store = file bind_host = 0.0.0.0 # Port the bind the API server to -bind_port = 8900 +bind_port = 8080 # Address to find the registry server registry_host = 0.0.0.0 diff --git a/keystone.log b/keystone.log index e3ff8799..4cd91fdc 100644 --- a/keystone.log +++ b/keystone.log @@ -17,3 +17,4986 @@ 2011-05-11 17:06:16 DEBUG [routes.middleware] Route path: '/v1.0/', defaults: {'action': u'get_version_info', 'controller': } 2011-05-11 17:06:16 DEBUG [routes.middleware] Match dict: {'action': u'get_version_info', 'controller': } 2011-05-11 17:06:16 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:06:16] "GET /v1.0/ HTTP/1.1" 200 1081 0.091914 +2011-05-11 17:53:44 DEBUG [server] ******************************************************************************** +2011-05-11 17:53:44 DEBUG [server] Configuration options gathered from config file: +2011-05-11 17:53:44 DEBUG [server] /home/psaikrishna/code_git/keystone_eai/keystone_new/newtoday2/keystone/etc/keystone.conf +2011-05-11 17:53:44 DEBUG [server] ================================================ +2011-05-11 17:53:44 DEBUG [server] bind_host 0.0.0.0 +2011-05-11 17:53:44 DEBUG [server] bind_port 8900 +2011-05-11 17:53:44 DEBUG [server] debug False +2011-05-11 17:53:44 DEBUG [server] default_store file +2011-05-11 17:53:44 DEBUG [server] log_file keystone.log +2011-05-11 17:53:44 DEBUG [server] registry_host 0.0.0.0 +2011-05-11 17:53:44 DEBUG [server] registry_port 9191 +2011-05-11 17:53:44 DEBUG [server] verbose True +2011-05-11 17:53:44 DEBUG [server] ******************************************************************************** +2011-05-11 17:53:44 DEBUG [routes.middleware] Initialized with method overriding = True, and path info altering = True +2011-05-11 17:53:44 DEBUG [eventlet.wsgi.server] (7710) wsgi starting up on http://0.0.0.0:8900/ +2011-05-11 17:55:48 DEBUG [server] ******************************************************************************** +2011-05-11 17:55:48 DEBUG [server] Configuration options gathered from config file: +2011-05-11 17:55:48 DEBUG [server] /home/psaikrishna/code_git/keystone_eai/keystone_new/newtoday2/keystone/etc/keystone.conf +2011-05-11 17:55:48 DEBUG [server] ================================================ +2011-05-11 17:55:48 DEBUG [server] bind_host 0.0.0.0 +2011-05-11 17:55:48 DEBUG [server] bind_port 8900 +2011-05-11 17:55:48 DEBUG [server] debug False +2011-05-11 17:55:48 DEBUG [server] default_store file +2011-05-11 17:55:48 DEBUG [server] log_file keystone.log +2011-05-11 17:55:48 DEBUG [server] registry_host 0.0.0.0 +2011-05-11 17:55:48 DEBUG [server] registry_port 9191 +2011-05-11 17:55:48 DEBUG [server] verbose True +2011-05-11 17:55:48 DEBUG [server] ******************************************************************************** +2011-05-11 17:55:48 DEBUG [routes.middleware] Initialized with method overriding = True, and path info altering = True +2011-05-11 17:55:48 DEBUG [eventlet.wsgi.server] (7867) wsgi starting up on http://0.0.0.0:8900/ +2011-05-11 17:56:53 DEBUG [server] ******************************************************************************** +2011-05-11 17:56:53 DEBUG [server] Configuration options gathered from config file: +2011-05-11 17:56:53 DEBUG [server] /home/psaikrishna/code_git/keystone_eai/keystone_new/newtoday2/keystone/etc/keystone.conf +2011-05-11 17:56:53 DEBUG [server] ================================================ +2011-05-11 17:56:53 DEBUG [server] bind_host 0.0.0.0 +2011-05-11 17:56:53 DEBUG [server] bind_port 8900 +2011-05-11 17:56:53 DEBUG [server] debug False +2011-05-11 17:56:53 DEBUG [server] default_store file +2011-05-11 17:56:53 DEBUG [server] log_file keystone.log +2011-05-11 17:56:53 DEBUG [server] registry_host 0.0.0.0 +2011-05-11 17:56:53 DEBUG [server] registry_port 9191 +2011-05-11 17:56:53 DEBUG [server] verbose True +2011-05-11 17:56:53 DEBUG [server] ******************************************************************************** +2011-05-11 17:56:53 DEBUG [routes.middleware] Initialized with method overriding = True, and path info altering = True +2011-05-11 17:56:53 DEBUG [eventlet.wsgi.server] (8111) wsgi starting up on http://0.0.0.0:8900/ +2011-05-11 17:57:07 DEBUG [server] ******************************************************************************** +2011-05-11 17:57:07 DEBUG [server] Configuration options gathered from config file: +2011-05-11 17:57:07 DEBUG [server] /home/psaikrishna/code_git/keystone_eai/keystone_new/newtoday2/keystone/etc/keystone.conf +2011-05-11 17:57:07 DEBUG [server] ================================================ +2011-05-11 17:57:07 DEBUG [server] bind_host 0.0.0.0 +2011-05-11 17:57:07 DEBUG [server] bind_port 8900 +2011-05-11 17:57:07 DEBUG [server] debug False +2011-05-11 17:57:07 DEBUG [server] default_store file +2011-05-11 17:57:07 DEBUG [server] log_file keystone.log +2011-05-11 17:57:07 DEBUG [server] registry_host 0.0.0.0 +2011-05-11 17:57:07 DEBUG [server] registry_port 9191 +2011-05-11 17:57:07 DEBUG [server] verbose True +2011-05-11 17:57:07 DEBUG [server] ******************************************************************************** +2011-05-11 17:57:07 DEBUG [routes.middleware] Initialized with method overriding = True, and path info altering = True +2011-05-11 17:57:07 DEBUG [eventlet.wsgi.server] (8117) wsgi starting up on http://0.0.0.0:8900/ +2011-05-11 17:57:46 DEBUG [server] ******************************************************************************** +2011-05-11 17:57:46 DEBUG [server] Configuration options gathered from config file: +2011-05-11 17:57:46 DEBUG [server] /home/psaikrishna/code_git/keystone_eai/keystone_new/newtoday2/keystone/etc/keystone.conf +2011-05-11 17:57:46 DEBUG [server] ================================================ +2011-05-11 17:57:46 DEBUG [server] bind_host 0.0.0.0 +2011-05-11 17:57:46 DEBUG [server] bind_port 8080 +2011-05-11 17:57:46 DEBUG [server] debug False +2011-05-11 17:57:46 DEBUG [server] default_store file +2011-05-11 17:57:46 DEBUG [server] log_file keystone.log +2011-05-11 17:57:46 DEBUG [server] registry_host 0.0.0.0 +2011-05-11 17:57:46 DEBUG [server] registry_port 9191 +2011-05-11 17:57:46 DEBUG [server] verbose True +2011-05-11 17:57:46 DEBUG [server] ******************************************************************************** +2011-05-11 17:57:46 DEBUG [routes.middleware] Initialized with method overriding = True, and path info altering = True +2011-05-11 17:57:46 DEBUG [eventlet.wsgi.server] (8201) wsgi starting up on http://0.0.0.0:8080/ +2011-05-11 17:57:50 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:57:50 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:57:50 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:57:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:57:50] "POST /v1.0/token HTTP/1.1" 200 319 0.042365 +2011-05-11 17:57:50 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:57:50 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:57:50 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:57:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:57:50] "POST /v1.0/token HTTP/1.1" 200 319 0.012164 +2011-05-11 17:57:50 DEBUG [routes.middleware] Matched DELETE /v1.0/token/887665443383838 +2011-05-11 17:57:50 DEBUG [routes.middleware] Route path: '/v1.0/token/{token_id}', defaults: {'action': u'delete_token', 'controller': } +2011-05-11 17:57:50 DEBUG [routes.middleware] Match dict: {'action': u'delete_token', 'token_id': u'887665443383838', 'controller': } +2011-05-11 17:57:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:57:50] "DELETE /v1.0/token/887665443383838 HTTP/1.1" 204 103 0.090654 +2011-05-11 17:57:50 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:57:50 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:57:50 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:57:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:57:50] "POST /v1.0/token HTTP/1.1" 200 347 0.093415 +2011-05-11 17:57:50 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:57:50 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:57:50 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:57:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:57:50] "POST /v1.0/token HTTP/1.1" 403 208 0.010302 +2011-05-11 17:57:50 DEBUG [routes.middleware] Matched DELETE /v1.0/token/bf716482-5f25-4c20-9fb9-38814e6b8d6b +2011-05-11 17:57:50 DEBUG [routes.middleware] Route path: '/v1.0/token/{token_id}', defaults: {'action': u'delete_token', 'controller': } +2011-05-11 17:57:50 DEBUG [routes.middleware] Match dict: {'action': u'delete_token', 'token_id': u'bf716482-5f25-4c20-9fb9-38814e6b8d6b', 'controller': } +2011-05-11 17:57:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:57:51] "DELETE /v1.0/token/bf716482-5f25-4c20-9fb9-38814e6b8d6b HTTP/1.1" 204 103 0.079909 +2011-05-11 17:57:51 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:57:51 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:57:51 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:57:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:57:51] "POST /v1.0/token HTTP/1.1" 200 347 0.101981 +2011-05-11 17:57:51 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:57:51 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:57:51 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:57:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:57:51] "POST /v1.0/token HTTP/1.1" 403 266 0.025958 +2011-05-11 17:57:51 DEBUG [routes.middleware] Matched DELETE /v1.0/token/8c436e8a-8a21-4425-b96a-791b1403ec35 +2011-05-11 17:57:51 DEBUG [routes.middleware] Route path: '/v1.0/token/{token_id}', defaults: {'action': u'delete_token', 'controller': } +2011-05-11 17:57:51 DEBUG [routes.middleware] Match dict: {'action': u'delete_token', 'token_id': u'8c436e8a-8a21-4425-b96a-791b1403ec35', 'controller': } +2011-05-11 17:57:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:57:51] "DELETE /v1.0/token/8c436e8a-8a21-4425-b96a-791b1403ec35 HTTP/1.1" 204 103 0.094893 +2011-05-11 17:57:51 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:57:51 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:57:51 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:57:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:57:51] "POST /v1.0/token HTTP/1.1" 200 347 0.101855 +2011-05-11 17:57:51 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:57:51 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:57:51 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:57:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:57:51] "POST /v1.0/token HTTP/1.1" 400 198 0.003572 +2011-05-11 17:57:51 DEBUG [routes.middleware] Matched DELETE /v1.0/token/2cf22347-031f-47d9-88e2-bb1328615300 +2011-05-11 17:57:51 DEBUG [routes.middleware] Route path: '/v1.0/token/{token_id}', defaults: {'action': u'delete_token', 'controller': } +2011-05-11 17:57:51 DEBUG [routes.middleware] Match dict: {'action': u'delete_token', 'token_id': u'2cf22347-031f-47d9-88e2-bb1328615300', 'controller': } +2011-05-11 17:57:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:57:51] "DELETE /v1.0/token/2cf22347-031f-47d9-88e2-bb1328615300 HTTP/1.1" 204 103 0.094521 +2011-05-11 17:57:51 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:57:51 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:57:51 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:57:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:57:51] "POST /v1.0/token HTTP/1.1" 200 347 0.092247 +2011-05-11 17:57:51 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:57:51 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:57:51 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:57:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:57:51] "POST /v1.0/token HTTP/1.1" 400 254 0.002240 +2011-05-11 17:57:51 DEBUG [routes.middleware] Matched DELETE /v1.0/token/fa78272b-2eae-4ade-b103-0a7a946f0f4a +2011-05-11 17:57:51 DEBUG [routes.middleware] Route path: '/v1.0/token/{token_id}', defaults: {'action': u'delete_token', 'controller': } +2011-05-11 17:57:51 DEBUG [routes.middleware] Match dict: {'action': u'delete_token', 'token_id': u'fa78272b-2eae-4ade-b103-0a7a946f0f4a', 'controller': } +2011-05-11 17:57:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:57:51] "DELETE /v1.0/token/fa78272b-2eae-4ade-b103-0a7a946f0f4a HTTP/1.1" 204 103 0.094209 +2011-05-11 17:57:51 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:57:51 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:57:51 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:57:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:57:51] "POST /v1.0/token HTTP/1.1" 200 347 0.094746 +2011-05-11 17:57:51 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:57:51 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:57:51 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:57:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:57:51] "POST /v1.0/token HTTP/1.1" 200 372 0.023045 +2011-05-11 17:57:51 DEBUG [routes.middleware] Matched DELETE /v1.0/token/639190d6-b1fd-421c-ae55-cd94cd53a361 +2011-05-11 17:57:51 DEBUG [routes.middleware] Route path: '/v1.0/token/{token_id}', defaults: {'action': u'delete_token', 'controller': } +2011-05-11 17:57:51 DEBUG [routes.middleware] Match dict: {'action': u'delete_token', 'token_id': u'639190d6-b1fd-421c-ae55-cd94cd53a361', 'controller': } +2011-05-11 17:57:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:57:51] "DELETE /v1.0/token/639190d6-b1fd-421c-ae55-cd94cd53a361 HTTP/1.1" 204 103 0.084355 +2011-05-11 17:58:06 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:06 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:06 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:06 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:06] "POST /v1.0/token HTTP/1.1" 200 347 0.091112 +2011-05-11 17:58:06 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 17:58:06 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 17:58:06 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 17:58:06 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:06] "POST /v1.0/groups HTTP/1.1" 201 202 0.175665 +2011-05-11 17:58:06 DEBUG [routes.middleware] Matched POST /v1.0/tenants/GlobalTenant/users +2011-05-11 17:58:06 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:58:06 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 17:58:06 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:06] "POST /v1.0/tenants/GlobalTenant/users HTTP/1.1" 201 262 0.188078 +2011-05-11 17:58:06 DEBUG [routes.middleware] Matched PUT /v1.0/groups/test_global_group/users/test_user +2011-05-11 17:58:06 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'add_user_global_group', 'controller': } +2011-05-11 17:58:06 DEBUG [routes.middleware] Match dict: {'action': u'add_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 17:58:06 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:06] "PUT /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 201 246 0.099408 +2011-05-11 17:58:06 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group/users/test_user +2011-05-11 17:58:06 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'delete_user_global_group', 'controller': } +2011-05-11 17:58:06 DEBUG [routes.middleware] Match dict: {'action': u'delete_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 17:58:07 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:07] "DELETE /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 204 103 0.097478 +2011-05-11 17:58:07 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant/users/test_user +2011-05-11 17:58:07 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:58:07 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'GlobalTenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:58:07 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:07] "DELETE /v1.0/tenants/GlobalTenant/users/test_user HTTP/1.1" 204 103 0.122649 +2011-05-11 17:58:07 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group +2011-05-11 17:58:07 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 17:58:07 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group'} +2011-05-11 17:58:07 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:07] "DELETE /v1.0/groups/test_global_group HTTP/1.1" 204 103 0.090008 +2011-05-11 17:58:07 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:07 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:07 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:07 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:07] "POST /v1.0/token HTTP/1.1" 200 347 0.012689 +2011-05-11 17:58:07 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 17:58:07 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 17:58:07 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 17:58:07 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:07] "POST /v1.0/groups HTTP/1.1" 201 202 0.084901 +2011-05-11 17:58:07 DEBUG [routes.middleware] Matched POST /v1.0/tenants/GlobalTenant/users +2011-05-11 17:58:07 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:58:07 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 17:58:07 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:07] "POST /v1.0/tenants/GlobalTenant/users HTTP/1.1" 201 262 0.165162 +2011-05-11 17:58:07 DEBUG [routes.middleware] Matched PUT /v1.0/groups/test_global_group/users/test_user +2011-05-11 17:58:07 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'add_user_global_group', 'controller': } +2011-05-11 17:58:07 DEBUG [routes.middleware] Match dict: {'action': u'add_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 17:58:07 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:07] "PUT /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 201 246 0.117822 +2011-05-11 17:58:07 DEBUG [routes.middleware] Matched PUT /v1.0/groups/test_global_group/users/test_user +2011-05-11 17:58:07 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'add_user_global_group', 'controller': } +2011-05-11 17:58:07 DEBUG [routes.middleware] Match dict: {'action': u'add_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 17:58:07 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:07] "PUT /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 409 225 0.045359 +2011-05-11 17:58:07 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group/users/test_user +2011-05-11 17:58:07 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'delete_user_global_group', 'controller': } +2011-05-11 17:58:07 DEBUG [routes.middleware] Match dict: {'action': u'delete_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 17:58:07 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:07] "DELETE /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 204 103 0.112171 +2011-05-11 17:58:07 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant/users/test_user +2011-05-11 17:58:07 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:58:07 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'GlobalTenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:58:07 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:07] "DELETE /v1.0/tenants/GlobalTenant/users/test_user HTTP/1.1" 204 103 0.114197 +2011-05-11 17:58:07 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group +2011-05-11 17:58:07 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 17:58:07 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group'} +2011-05-11 17:58:08 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:08] "DELETE /v1.0/groups/test_global_group HTTP/1.1" 204 103 0.113862 +2011-05-11 17:58:08 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:08 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:08 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:08 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:08] "POST /v1.0/token HTTP/1.1" 200 347 0.023023 +2011-05-11 17:58:08 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 17:58:08 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 17:58:08 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 17:58:08 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:08] "POST /v1.0/groups HTTP/1.1" 201 202 0.088276 +2011-05-11 17:58:08 DEBUG [routes.middleware] Matched POST /v1.0/tenants/GlobalTenant/users +2011-05-11 17:58:08 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:58:08 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 17:58:08 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:08] "POST /v1.0/tenants/GlobalTenant/users HTTP/1.1" 201 262 0.180283 +2011-05-11 17:58:08 DEBUG [routes.middleware] Matched PUT /v1.0/groups/test_global_group/users/test_user +2011-05-11 17:58:08 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'add_user_global_group', 'controller': } +2011-05-11 17:58:08 DEBUG [routes.middleware] Match dict: {'action': u'add_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 17:58:08 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:08] "PUT /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 201 273 0.122000 +2011-05-11 17:58:08 DEBUG [routes.middleware] Matched PUT /v1.0/groups/test_global_group/users/test_user +2011-05-11 17:58:08 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'add_user_global_group', 'controller': } +2011-05-11 17:58:08 DEBUG [routes.middleware] Match dict: {'action': u'add_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 17:58:08 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:08] "PUT /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 409 288 0.048097 +2011-05-11 17:58:08 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group/users/test_user +2011-05-11 17:58:08 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'delete_user_global_group', 'controller': } +2011-05-11 17:58:08 DEBUG [routes.middleware] Match dict: {'action': u'delete_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 17:58:08 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:08] "DELETE /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 204 103 0.121342 +2011-05-11 17:58:08 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant/users/test_user +2011-05-11 17:58:08 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:58:08 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'GlobalTenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:58:08 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:08] "DELETE /v1.0/tenants/GlobalTenant/users/test_user HTTP/1.1" 204 103 0.096638 +2011-05-11 17:58:08 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group +2011-05-11 17:58:08 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 17:58:08 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group'} +2011-05-11 17:58:08 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:08] "DELETE /v1.0/groups/test_global_group HTTP/1.1" 204 103 0.098488 +2011-05-11 17:58:08 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:08 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:08 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:08 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:08] "POST /v1.0/token HTTP/1.1" 200 347 0.025222 +2011-05-11 17:58:08 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 17:58:08 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 17:58:08 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 17:58:09 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:09] "POST /v1.0/groups HTTP/1.1" 201 202 0.088047 +2011-05-11 17:58:09 DEBUG [routes.middleware] Matched POST /v1.0/tenants/GlobalTenant/users +2011-05-11 17:58:09 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:58:09 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 17:58:09 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:09] "POST /v1.0/tenants/GlobalTenant/users HTTP/1.1" 201 262 0.171768 +2011-05-11 17:58:09 DEBUG [routes.middleware] Matched PUT /v1.0/groups/test_global_group/users/test_user +2011-05-11 17:58:09 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'add_user_global_group', 'controller': } +2011-05-11 17:58:09 DEBUG [routes.middleware] Match dict: {'action': u'add_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 17:58:09 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:09] "PUT /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 403 214 0.018918 +2011-05-11 17:58:09 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group/users/test_user +2011-05-11 17:58:09 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'delete_user_global_group', 'controller': } +2011-05-11 17:58:09 DEBUG [routes.middleware] Match dict: {'action': u'delete_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 17:58:09 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:09] "DELETE /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 404 218 0.043693 +2011-05-11 17:58:09 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant/users/test_user +2011-05-11 17:58:09 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:58:09 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'GlobalTenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:58:09 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:09] "DELETE /v1.0/tenants/GlobalTenant/users/test_user HTTP/1.1" 204 103 0.113801 +2011-05-11 17:58:09 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group +2011-05-11 17:58:09 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 17:58:09 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group'} +2011-05-11 17:58:09 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:09] "DELETE /v1.0/groups/test_global_group HTTP/1.1" 204 103 0.099462 +2011-05-11 17:58:09 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:09 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:09 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:09 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:09] "POST /v1.0/token HTTP/1.1" 200 347 0.021022 +2011-05-11 17:58:09 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 17:58:09 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 17:58:09 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 17:58:09 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:09] "POST /v1.0/groups HTTP/1.1" 201 202 0.098017 +2011-05-11 17:58:09 DEBUG [routes.middleware] Matched POST /v1.0/tenants/GlobalTenant/users +2011-05-11 17:58:09 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:58:09 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 17:58:09 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:09] "POST /v1.0/tenants/GlobalTenant/users HTTP/1.1" 201 262 0.172028 +2011-05-11 17:58:09 DEBUG [routes.middleware] Matched PUT /v1.0/groups/test_global_group/users/test_user +2011-05-11 17:58:09 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'add_user_global_group', 'controller': } +2011-05-11 17:58:09 DEBUG [routes.middleware] Match dict: {'action': u'add_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 17:58:09 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:09] "PUT /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 403 272 0.021295 +2011-05-11 17:58:09 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group/users/test_user +2011-05-11 17:58:09 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'delete_user_global_group', 'controller': } +2011-05-11 17:58:09 DEBUG [routes.middleware] Match dict: {'action': u'delete_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 17:58:09 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:09] "DELETE /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 404 218 0.044895 +2011-05-11 17:58:09 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant/users/test_user +2011-05-11 17:58:09 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:58:09 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'GlobalTenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:58:09 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:09] "DELETE /v1.0/tenants/GlobalTenant/users/test_user HTTP/1.1" 204 103 0.157618 +2011-05-11 17:58:10 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group +2011-05-11 17:58:10 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 17:58:10 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group'} +2011-05-11 17:58:10 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:10] "DELETE /v1.0/groups/test_global_group HTTP/1.1" 204 103 0.157675 +2011-05-11 17:58:10 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:10 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:10 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:10 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:10] "POST /v1.0/token HTTP/1.1" 200 347 0.025000 +2011-05-11 17:58:10 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 17:58:10 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 17:58:10 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 17:58:10 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:10] "POST /v1.0/groups HTTP/1.1" 201 202 0.144389 +2011-05-11 17:58:10 DEBUG [routes.middleware] Matched POST /v1.0/tenants/GlobalTenant/users +2011-05-11 17:58:10 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:58:10 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 17:58:10 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:10] "POST /v1.0/tenants/GlobalTenant/users HTTP/1.1" 201 262 0.162430 +2011-05-11 17:58:10 DEBUG [routes.middleware] Matched PUT /v1.0/groups/test_global_group/users/test_user +2011-05-11 17:58:10 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'add_user_global_group', 'controller': } +2011-05-11 17:58:10 DEBUG [routes.middleware] Match dict: {'action': u'add_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 17:58:10 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:10] "PUT /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 401 221 0.018273 +2011-05-11 17:58:10 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group/users/test_user +2011-05-11 17:58:10 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'delete_user_global_group', 'controller': } +2011-05-11 17:58:10 DEBUG [routes.middleware] Match dict: {'action': u'delete_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 17:58:10 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:10] "DELETE /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 404 218 0.042471 +2011-05-11 17:58:10 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant/users/test_user +2011-05-11 17:58:10 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:58:10 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'GlobalTenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:58:10 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:10] "DELETE /v1.0/tenants/GlobalTenant/users/test_user HTTP/1.1" 204 103 0.114742 +2011-05-11 17:58:10 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group +2011-05-11 17:58:10 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 17:58:10 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group'} +2011-05-11 17:58:10 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:10] "DELETE /v1.0/groups/test_global_group HTTP/1.1" 204 103 0.097526 +2011-05-11 17:58:10 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:10 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:10 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:10 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:10] "POST /v1.0/token HTTP/1.1" 200 347 0.020034 +2011-05-11 17:58:10 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 17:58:10 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 17:58:10 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 17:58:10 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:10] "POST /v1.0/groups HTTP/1.1" 201 202 0.091851 +2011-05-11 17:58:10 DEBUG [routes.middleware] Matched POST /v1.0/tenants/GlobalTenant/users +2011-05-11 17:58:10 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:58:10 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 17:58:11 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:11] "POST /v1.0/tenants/GlobalTenant/users HTTP/1.1" 201 262 0.180448 +2011-05-11 17:58:11 DEBUG [routes.middleware] Matched PUT /v1.0/groups/test_global_group/users/test_user +2011-05-11 17:58:11 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'add_user_global_group', 'controller': } +2011-05-11 17:58:11 DEBUG [routes.middleware] Match dict: {'action': u'add_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 17:58:11 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:11] "PUT /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 401 279 0.018711 +2011-05-11 17:58:11 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group/users/test_user +2011-05-11 17:58:11 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'delete_user_global_group', 'controller': } +2011-05-11 17:58:11 DEBUG [routes.middleware] Match dict: {'action': u'delete_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 17:58:11 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:11] "DELETE /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 404 218 0.044656 +2011-05-11 17:58:11 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant/users/test_user +2011-05-11 17:58:11 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:58:11 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'GlobalTenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:58:11 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:11] "DELETE /v1.0/tenants/GlobalTenant/users/test_user HTTP/1.1" 204 103 0.138455 +2011-05-11 17:58:11 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group +2011-05-11 17:58:11 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 17:58:11 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group'} +2011-05-11 17:58:11 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:11] "DELETE /v1.0/groups/test_global_group HTTP/1.1" 204 103 0.122905 +2011-05-11 17:58:11 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:11 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:11 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:11 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:11] "POST /v1.0/token HTTP/1.1" 200 347 0.014254 +2011-05-11 17:58:11 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 17:58:11 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 17:58:11 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 17:58:11 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:11] "POST /v1.0/groups HTTP/1.1" 201 202 0.090033 +2011-05-11 17:58:11 DEBUG [routes.middleware] Matched POST /v1.0/tenants/GlobalTenant/users +2011-05-11 17:58:11 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:58:11 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 17:58:11 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:11] "POST /v1.0/tenants/GlobalTenant/users HTTP/1.1" 201 262 0.156301 +2011-05-11 17:58:11 DEBUG [routes.middleware] Matched PUT /v1.0/groups/test_global_group/users/test_user +2011-05-11 17:58:11 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'add_user_global_group', 'controller': } +2011-05-11 17:58:11 DEBUG [routes.middleware] Match dict: {'action': u'add_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 17:58:11 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:11] "PUT /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 201 273 0.123058 +2011-05-11 17:58:11 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group/users/test_user +2011-05-11 17:58:11 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'delete_user_global_group', 'controller': } +2011-05-11 17:58:11 DEBUG [routes.middleware] Match dict: {'action': u'delete_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 17:58:11 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:11] "DELETE /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 204 103 0.089802 +2011-05-11 17:58:11 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant/users/test_user +2011-05-11 17:58:11 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:58:11 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'GlobalTenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:58:12 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:12] "DELETE /v1.0/tenants/GlobalTenant/users/test_user HTTP/1.1" 204 103 0.106290 +2011-05-11 17:58:12 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group +2011-05-11 17:58:12 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 17:58:12 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group'} +2011-05-11 17:58:12 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:12] "DELETE /v1.0/groups/test_global_group HTTP/1.1" 204 103 0.089585 +2011-05-11 17:58:12 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:12 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:12 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:12 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:12] "POST /v1.0/token HTTP/1.1" 200 347 0.019632 +2011-05-11 17:58:12 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 17:58:12 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 17:58:12 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 17:58:12 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:12] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 404 211 0.025101 +2011-05-11 17:58:12 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 17:58:12 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 17:58:12 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 17:58:12 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:12] "POST /v1.0/groups HTTP/1.1" 201 206 0.089067 +2011-05-11 17:58:12 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 17:58:12 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 17:58:12 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 17:58:12 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:12] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 204 103 0.096299 +2011-05-11 17:58:12 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 17:58:12 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:12 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 17:58:12 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:12] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.096973 +2011-05-11 17:58:12 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:12 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:12 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:12 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:12] "POST /v1.0/token HTTP/1.1" 200 347 0.027256 +2011-05-11 17:58:12 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 17:58:12 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 17:58:12 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 17:58:12 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:12] "POST /v1.0/groups HTTP/1.1" 201 206 0.143065 +2011-05-11 17:58:12 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 17:58:12 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 17:58:12 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 17:58:12 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:12] "POST /v1.0/groups HTTP/1.1" 409 226 0.020458 +2011-05-11 17:58:12 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 17:58:12 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 17:58:12 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 17:58:12 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:12] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 204 103 0.090848 +2011-05-11 17:58:12 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 17:58:12 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:12 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 17:58:12 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:12] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.097370 +2011-05-11 17:58:12 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:12 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:12 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:12 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:12] "POST /v1.0/token HTTP/1.1" 200 347 0.020215 +2011-05-11 17:58:12 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 17:58:12 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 17:58:12 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 17:58:13 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:13] "POST /v1.0/groups HTTP/1.1" 201 270 0.149442 +2011-05-11 17:58:13 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 17:58:13 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 17:58:13 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 17:58:13 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:13] "POST /v1.0/groups HTTP/1.1" 409 291 0.025950 +2011-05-11 17:58:13 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 17:58:13 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 17:58:13 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 17:58:13 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:13] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 204 103 0.092381 +2011-05-11 17:58:13 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 17:58:13 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:13 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 17:58:13 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:13] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.089512 +2011-05-11 17:58:13 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:13 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:13 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:13 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:13] "POST /v1.0/token HTTP/1.1" 200 347 0.023960 +2011-05-11 17:58:13 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 17:58:13 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 17:58:13 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 17:58:13 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:13] "POST /v1.0/groups HTTP/1.1" 403 214 0.017975 +2011-05-11 17:58:13 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 17:58:13 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 17:58:13 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 17:58:13 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:13] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 404 211 0.090081 +2011-05-11 17:58:13 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 17:58:13 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:13 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 17:58:13 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:13] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.092915 +2011-05-11 17:58:13 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:13 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:13 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:13 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:13] "POST /v1.0/token HTTP/1.1" 200 347 0.025239 +2011-05-11 17:58:13 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 17:58:13 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 17:58:13 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 17:58:13 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:13] "POST /v1.0/groups HTTP/1.1" 403 272 0.017690 +2011-05-11 17:58:13 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 17:58:13 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 17:58:13 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 17:58:13 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:13] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 404 211 0.095499 +2011-05-11 17:58:13 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 17:58:13 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:13 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 17:58:13 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:13] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.107108 +2011-05-11 17:58:13 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:13 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:13 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:13 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:13] "POST /v1.0/token HTTP/1.1" 200 347 0.023862 +2011-05-11 17:58:13 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 17:58:13 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 17:58:13 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 17:58:13 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:13] "POST /v1.0/groups HTTP/1.1" 403 202 0.023123 +2011-05-11 17:58:13 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 17:58:13 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 17:58:13 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 17:58:13 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:13] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 404 211 0.102227 +2011-05-11 17:58:13 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 17:58:13 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:13 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 17:58:13 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:13] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.106919 +2011-05-11 17:58:13 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:13 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:13 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:14 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:14] "POST /v1.0/token HTTP/1.1" 200 347 0.029132 +2011-05-11 17:58:14 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 17:58:14 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 17:58:14 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 17:58:14 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:14] "POST /v1.0/groups HTTP/1.1" 403 257 0.015353 +2011-05-11 17:58:14 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 17:58:14 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 17:58:14 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 17:58:14 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:14] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 404 211 0.105699 +2011-05-11 17:58:14 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 17:58:14 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:14 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 17:58:14 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:14] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.098677 +2011-05-11 17:58:14 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:14 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:14 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:14 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:14] "POST /v1.0/token HTTP/1.1" 200 347 0.022403 +2011-05-11 17:58:14 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 17:58:14 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 17:58:14 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 17:58:14 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:14] "POST /v1.0/groups HTTP/1.1" 404 210 0.011883 +2011-05-11 17:58:14 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 17:58:14 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 17:58:14 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 17:58:14 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:14] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 404 211 0.094551 +2011-05-11 17:58:14 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 17:58:14 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:14 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 17:58:14 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:14] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.105363 +2011-05-11 17:58:14 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:14 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:14 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:14 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:14] "POST /v1.0/token HTTP/1.1" 200 347 0.023793 +2011-05-11 17:58:14 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 17:58:14 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 17:58:14 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 17:58:14 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:14] "POST /v1.0/groups HTTP/1.1" 404 268 0.007439 +2011-05-11 17:58:14 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 17:58:14 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 17:58:14 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 17:58:14 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:14] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 404 211 0.116798 +2011-05-11 17:58:14 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 17:58:14 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:14 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 17:58:14 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:14] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.157483 +2011-05-11 17:58:14 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:14 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:14 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:14 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:14] "POST /v1.0/token HTTP/1.1" 200 347 0.024132 +2011-05-11 17:58:14 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 17:58:14 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 17:58:14 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 17:58:14 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:14] "POST /v1.0/groups HTTP/1.1" 401 194 0.005600 +2011-05-11 17:58:14 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 17:58:14 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 17:58:14 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 17:58:14 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:14] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 404 211 0.111947 +2011-05-11 17:58:14 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 17:58:14 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:14 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 17:58:15 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:15] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.107244 +2011-05-11 17:58:15 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:15 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:15 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:15 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:15] "POST /v1.0/token HTTP/1.1" 200 347 0.029542 +2011-05-11 17:58:15 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 17:58:15 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 17:58:15 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 17:58:15 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:15] "POST /v1.0/groups HTTP/1.1" 401 252 0.002623 +2011-05-11 17:58:15 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 17:58:15 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 17:58:15 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 17:58:15 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:15] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 404 211 0.107444 +2011-05-11 17:58:15 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 17:58:15 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:15 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 17:58:15 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:15] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.098464 +2011-05-11 17:58:15 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:15 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:15 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:15 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:15] "POST /v1.0/token HTTP/1.1" 200 347 0.022469 +2011-05-11 17:58:15 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 17:58:15 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 17:58:15 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 17:58:15 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:15] "POST /v1.0/groups HTTP/1.1" 201 270 0.162465 +2011-05-11 17:58:15 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 17:58:15 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 17:58:15 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 17:58:15 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:15] "POST /v1.0/groups HTTP/1.1" 401 221 0.018852 +2011-05-11 17:58:15 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 17:58:15 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 17:58:15 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 17:58:15 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:15] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 204 103 0.100828 +2011-05-11 17:58:15 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 17:58:15 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:15 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 17:58:15 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:15] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.147378 +2011-05-11 17:58:15 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:15 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:15 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:15 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:15] "POST /v1.0/token HTTP/1.1" 200 347 0.037192 +2011-05-11 17:58:15 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 17:58:15 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 17:58:15 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 17:58:15 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:15] "POST /v1.0/groups HTTP/1.1" 401 279 0.022774 +2011-05-11 17:58:15 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 17:58:15 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 17:58:15 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 17:58:15 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:15] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 404 211 0.108846 +2011-05-11 17:58:15 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 17:58:15 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:15 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 17:58:16 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:16] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.119844 +2011-05-11 17:58:16 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:16 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:16 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:16 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:16] "POST /v1.0/token HTTP/1.1" 200 347 0.020057 +2011-05-11 17:58:16 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 17:58:16 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 17:58:16 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 17:58:16 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:16] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 404 269 0.090885 +2011-05-11 17:58:16 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 17:58:16 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 17:58:16 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 17:58:16 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:16] "POST /v1.0/groups HTTP/1.1" 201 270 0.092594 +2011-05-11 17:58:16 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 17:58:16 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 17:58:16 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 17:58:16 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:16] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 204 103 0.113585 +2011-05-11 17:58:16 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 17:58:16 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:16 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 17:58:16 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:16] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.091229 +2011-05-11 17:58:16 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:16 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:16 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:16 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:16] "POST /v1.0/token HTTP/1.1" 200 347 0.010821 +2011-05-11 17:58:16 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:58:16 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:16 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:16 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:16] "POST /v1.0/tenants HTTP/1.1" 201 215 0.088384 +2011-05-11 17:58:16 DEBUG [routes.middleware] Matched POST /v1.0/tenant/GlobalTenant/groups +2011-05-11 17:58:16 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 17:58:16 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 17:58:16 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:16] "POST /v1.0/tenant/GlobalTenant/groups HTTP/1.1" 201 238 0.089134 +2011-05-11 17:58:16 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_delete +2011-05-11 17:58:16 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 17:58:16 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_delete'} +2011-05-11 17:58:16 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:16] "DELETE /v1.0/groups/test_global_group_delete HTTP/1.1" 204 103 0.113558 +2011-05-11 17:58:16 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 17:58:16 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:16 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 17:58:16 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:16] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.096072 +2011-05-11 17:58:16 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 17:58:16 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 17:58:16 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 17:58:17 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:17] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 404 211 0.091948 +2011-05-11 17:58:17 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 17:58:17 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:17 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 17:58:17 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:17] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.092881 +2011-05-11 17:58:17 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:17 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:17 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:17 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:17] "POST /v1.0/token HTTP/1.1" 200 347 0.015217 +2011-05-11 17:58:17 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_1 +2011-05-11 17:58:17 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 17:58:17 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_1'} +2011-05-11 17:58:17 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:17] "DELETE /v1.0/groups/test_global_group_1 HTTP/1.1" 404 211 0.089451 +2011-05-11 17:58:17 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 17:58:17 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 17:58:17 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 17:58:17 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:17] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 404 211 0.027135 +2011-05-11 17:58:17 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 17:58:17 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:17 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 17:58:17 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:17] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.100242 +2011-05-11 17:58:17 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:17 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:17 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:17 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:17] "POST /v1.0/token HTTP/1.1" 200 347 0.018568 +2011-05-11 17:58:17 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_1 +2011-05-11 17:58:17 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 17:58:17 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_1'} +2011-05-11 17:58:17 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:17] "DELETE /v1.0/groups/test_global_group_1 HTTP/1.1" 404 269 0.098296 +2011-05-11 17:58:17 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 17:58:17 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 17:58:17 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 17:58:17 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:17] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 404 211 0.030841 +2011-05-11 17:58:17 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 17:58:17 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:17 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 17:58:17 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:17] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.091567 +2011-05-11 17:58:17 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:17 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:17 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:17 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:17] "POST /v1.0/token HTTP/1.1" 200 347 0.019504 +2011-05-11 17:58:17 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:58:17 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:17 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:17 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:17] "POST /v1.0/tenants HTTP/1.1" 201 268 0.083331 +2011-05-11 17:58:17 DEBUG [routes.middleware] Matched POST /v1.0/tenant/GlobalTenant/groups +2011-05-11 17:58:17 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 17:58:17 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 17:58:17 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:17] "POST /v1.0/tenant/GlobalTenant/groups HTTP/1.1" 201 287 0.091046 +2011-05-11 17:58:17 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_delete +2011-05-11 17:58:17 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 17:58:17 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_delete'} +2011-05-11 17:58:17 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:17] "DELETE /v1.0/groups/test_global_group_delete HTTP/1.1" 204 103 0.112776 +2011-05-11 17:58:17 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 17:58:17 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:17 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 17:58:18 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:18] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.105545 +2011-05-11 17:58:18 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 17:58:18 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 17:58:18 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 17:58:18 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:18] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 404 211 0.088529 +2011-05-11 17:58:18 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 17:58:18 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:18 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 17:58:18 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:18] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.097812 +2011-05-11 17:58:18 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:18 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:18 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:18 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:18] "POST /v1.0/token HTTP/1.1" 200 347 0.025492 +2011-05-11 17:58:18 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 17:58:18 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 17:58:18 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 17:58:18 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:18] "POST /v1.0/groups HTTP/1.1" 201 202 0.161755 +2011-05-11 17:58:18 DEBUG [routes.middleware] Matched POST /v1.0/tenants/GlobalTenant/users +2011-05-11 17:58:18 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:58:18 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 17:58:18 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:18] "POST /v1.0/tenants/GlobalTenant/users HTTP/1.1" 201 262 0.170064 +2011-05-11 17:58:18 DEBUG [routes.middleware] Matched PUT /v1.0/groups/test_global_group/users/test_user +2011-05-11 17:58:18 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'add_user_global_group', 'controller': } +2011-05-11 17:58:18 DEBUG [routes.middleware] Match dict: {'action': u'add_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 17:58:18 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:18] "PUT /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 201 246 0.114364 +2011-05-11 17:58:18 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group/users/test_user +2011-05-11 17:58:18 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'delete_user_global_group', 'controller': } +2011-05-11 17:58:18 DEBUG [routes.middleware] Match dict: {'action': u'delete_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 17:58:18 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:18] "DELETE /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 204 103 0.113468 +2011-05-11 17:58:18 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group/users/test_user +2011-05-11 17:58:18 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'delete_user_global_group', 'controller': } +2011-05-11 17:58:18 DEBUG [routes.middleware] Match dict: {'action': u'delete_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 17:58:18 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:18] "DELETE /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 404 218 0.041644 +2011-05-11 17:58:18 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant/users/test_user +2011-05-11 17:58:18 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:58:18 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'GlobalTenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:58:19 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:19] "DELETE /v1.0/tenants/GlobalTenant/users/test_user HTTP/1.1" 204 103 0.119551 +2011-05-11 17:58:19 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group +2011-05-11 17:58:19 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 17:58:19 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group'} +2011-05-11 17:58:19 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:19] "DELETE /v1.0/groups/test_global_group HTTP/1.1" 204 103 0.097542 +2011-05-11 17:58:19 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:19 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:19 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:19 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:19] "POST /v1.0/token HTTP/1.1" 200 347 0.021695 +2011-05-11 17:58:19 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 17:58:19 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 17:58:19 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 17:58:19 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:19] "POST /v1.0/groups HTTP/1.1" 201 202 0.096020 +2011-05-11 17:58:19 DEBUG [routes.middleware] Matched POST /v1.0/tenants/GlobalTenant/users +2011-05-11 17:58:19 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:58:19 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 17:58:19 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:19] "POST /v1.0/tenants/GlobalTenant/users HTTP/1.1" 201 262 0.179648 +2011-05-11 17:58:19 DEBUG [routes.middleware] Matched PUT /v1.0/groups/test_global_group/users/test_user +2011-05-11 17:58:19 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'add_user_global_group', 'controller': } +2011-05-11 17:58:19 DEBUG [routes.middleware] Match dict: {'action': u'add_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 17:58:19 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:19] "PUT /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 403 214 0.025136 +2011-05-11 17:58:19 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group/users/test_user +2011-05-11 17:58:19 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'delete_user_global_group', 'controller': } +2011-05-11 17:58:19 DEBUG [routes.middleware] Match dict: {'action': u'delete_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 17:58:19 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:19] "DELETE /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 404 218 0.043436 +2011-05-11 17:58:19 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group/users/test_user +2011-05-11 17:58:19 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'delete_user_global_group', 'controller': } +2011-05-11 17:58:19 DEBUG [routes.middleware] Match dict: {'action': u'delete_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 17:58:19 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:19] "DELETE /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 404 218 0.045049 +2011-05-11 17:58:19 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group/users/test_user +2011-05-11 17:58:19 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'delete_user_global_group', 'controller': } +2011-05-11 17:58:19 DEBUG [routes.middleware] Match dict: {'action': u'delete_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 17:58:19 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:19] "DELETE /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 404 218 0.042001 +2011-05-11 17:58:19 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant/users/test_user +2011-05-11 17:58:19 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:58:19 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'GlobalTenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:58:19 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:19] "DELETE /v1.0/tenants/GlobalTenant/users/test_user HTTP/1.1" 204 103 0.115081 +2011-05-11 17:58:19 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group +2011-05-11 17:58:19 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 17:58:19 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group'} +2011-05-11 17:58:19 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:19] "DELETE /v1.0/groups/test_global_group HTTP/1.1" 204 103 0.096946 +2011-05-11 17:58:19 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:19 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:19 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:19 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:19] "POST /v1.0/token HTTP/1.1" 200 347 0.022794 +2011-05-11 17:58:19 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 17:58:19 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 17:58:19 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 17:58:19 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:19] "POST /v1.0/groups HTTP/1.1" 201 202 0.154979 +2011-05-11 17:58:19 DEBUG [routes.middleware] Matched POST /v1.0/tenants/GlobalTenant/users +2011-05-11 17:58:19 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:58:19 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 17:58:20 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:20] "POST /v1.0/tenants/GlobalTenant/users HTTP/1.1" 201 262 0.172085 +2011-05-11 17:58:20 DEBUG [routes.middleware] Matched PUT /v1.0/groups/test_global_group/users/test_user +2011-05-11 17:58:20 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'add_user_global_group', 'controller': } +2011-05-11 17:58:20 DEBUG [routes.middleware] Match dict: {'action': u'add_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 17:58:20 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:20] "PUT /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 403 214 0.018060 +2011-05-11 17:58:20 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group/users/test_user +2011-05-11 17:58:20 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'delete_user_global_group', 'controller': } +2011-05-11 17:58:20 DEBUG [routes.middleware] Match dict: {'action': u'delete_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 17:58:20 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:20] "DELETE /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 404 218 0.042894 +2011-05-11 17:58:20 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group/users/test_user +2011-05-11 17:58:20 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'delete_user_global_group', 'controller': } +2011-05-11 17:58:20 DEBUG [routes.middleware] Match dict: {'action': u'delete_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 17:58:20 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:20] "DELETE /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 404 276 0.049420 +2011-05-11 17:58:20 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group/users/test_user +2011-05-11 17:58:20 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'delete_user_global_group', 'controller': } +2011-05-11 17:58:20 DEBUG [routes.middleware] Match dict: {'action': u'delete_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 17:58:20 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:20] "DELETE /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 404 218 0.049981 +2011-05-11 17:58:20 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant/users/test_user +2011-05-11 17:58:20 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:58:20 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'GlobalTenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:58:20 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:20] "DELETE /v1.0/tenants/GlobalTenant/users/test_user HTTP/1.1" 204 103 0.134497 +2011-05-11 17:58:20 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group +2011-05-11 17:58:20 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 17:58:20 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group'} +2011-05-11 17:58:20 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:20] "DELETE /v1.0/groups/test_global_group HTTP/1.1" 204 103 0.122079 +2011-05-11 17:58:20 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:20 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:20 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:20 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:20] "POST /v1.0/token HTTP/1.1" 200 347 0.020795 +2011-05-11 17:58:20 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 17:58:20 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 17:58:20 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 17:58:20 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:20] "POST /v1.0/groups HTTP/1.1" 201 202 0.085711 +2011-05-11 17:58:20 DEBUG [routes.middleware] Matched POST /v1.0/tenants/GlobalTenant/users +2011-05-11 17:58:20 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:58:20 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 17:58:20 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:20] "POST /v1.0/tenants/GlobalTenant/users HTTP/1.1" 201 262 0.169329 +2011-05-11 17:58:20 DEBUG [routes.middleware] Matched PUT /v1.0/groups/test_global_group/users/test_user +2011-05-11 17:58:20 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'add_user_global_group', 'controller': } +2011-05-11 17:58:20 DEBUG [routes.middleware] Match dict: {'action': u'add_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 17:58:21 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:21] "PUT /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 201 246 0.150281 +2011-05-11 17:58:21 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group/users/test_user +2011-05-11 17:58:21 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'delete_user_global_group', 'controller': } +2011-05-11 17:58:21 DEBUG [routes.middleware] Match dict: {'action': u'delete_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 17:58:21 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:21] "DELETE /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 204 103 0.105327 +2011-05-11 17:58:21 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group/users/test_user +2011-05-11 17:58:21 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'delete_user_global_group', 'controller': } +2011-05-11 17:58:21 DEBUG [routes.middleware] Match dict: {'action': u'delete_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 17:58:21 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:21] "DELETE /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 404 218 0.044859 +2011-05-11 17:58:21 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant/users/test_user +2011-05-11 17:58:21 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:58:21 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'GlobalTenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:58:21 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:21] "DELETE /v1.0/tenants/GlobalTenant/users/test_user HTTP/1.1" 204 103 0.116827 +2011-05-11 17:58:21 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group +2011-05-11 17:58:21 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 17:58:21 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group'} +2011-05-11 17:58:21 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:21] "DELETE /v1.0/groups/test_global_group HTTP/1.1" 204 103 0.097510 +2011-05-11 17:58:21 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:21 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:21 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:21 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:21] "POST /v1.0/token HTTP/1.1" 200 347 0.019772 +2011-05-11 17:58:21 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 17:58:21 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 17:58:21 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 17:58:21 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:21] "POST /v1.0/groups HTTP/1.1" 201 206 0.099638 +2011-05-11 17:58:21 DEBUG [routes.middleware] Matched GET /v1.0/groups/test_global_group_add +2011-05-11 17:58:21 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'get_group', 'controller': } +2011-05-11 17:58:21 DEBUG [routes.middleware] Match dict: {'action': u'get_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 17:58:21 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:21] "GET /v1.0/groups/test_global_group_add HTTP/1.1" 200 201 0.025684 +2011-05-11 17:58:21 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 17:58:21 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 17:58:21 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 17:58:21 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:21] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 204 103 0.106211 +2011-05-11 17:58:21 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 17:58:21 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:21 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 17:58:21 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:21] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.103976 +2011-05-11 17:58:21 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:21 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:21 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:21 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:21] "POST /v1.0/token HTTP/1.1" 200 347 0.020084 +2011-05-11 17:58:21 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 17:58:21 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 17:58:21 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 17:58:21 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:21] "POST /v1.0/groups HTTP/1.1" 201 206 0.157533 +2011-05-11 17:58:21 DEBUG [routes.middleware] Matched GET /v1.0/groups/global_group_bad +2011-05-11 17:58:21 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'get_group', 'controller': } +2011-05-11 17:58:21 DEBUG [routes.middleware] Match dict: {'action': u'get_group', 'controller': , 'group_id': u'global_group_bad'} +2011-05-11 17:58:21 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:21] "GET /v1.0/groups/global_group_bad HTTP/1.1" 404 211 0.031867 +2011-05-11 17:58:21 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 17:58:21 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 17:58:21 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 17:58:22 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:22] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 204 103 0.097470 +2011-05-11 17:58:22 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 17:58:22 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:22 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 17:58:22 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:22] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.107358 +2011-05-11 17:58:22 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:22 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:22 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:22 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:22] "POST /v1.0/token HTTP/1.1" 200 347 0.023723 +2011-05-11 17:58:22 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 17:58:22 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 17:58:22 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 17:58:22 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:22] "POST /v1.0/groups HTTP/1.1" 201 270 0.158730 +2011-05-11 17:58:22 DEBUG [routes.middleware] Matched GET /v1.0/groups/global_group_bad +2011-05-11 17:58:22 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'get_group', 'controller': } +2011-05-11 17:58:22 DEBUG [routes.middleware] Match dict: {'action': u'get_group', 'controller': , 'group_id': u'global_group_bad'} +2011-05-11 17:58:22 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:22] "GET /v1.0/groups/global_group_bad HTTP/1.1" 404 269 0.028410 +2011-05-11 17:58:22 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 17:58:22 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 17:58:22 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 17:58:22 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:22] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 204 103 0.099252 +2011-05-11 17:58:22 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 17:58:22 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:22 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 17:58:22 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:22] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.096896 +2011-05-11 17:58:22 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:22 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:22 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:22 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:22] "POST /v1.0/token HTTP/1.1" 200 347 0.022800 +2011-05-11 17:58:22 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 17:58:22 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 17:58:22 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 17:58:22 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:22] "POST /v1.0/groups HTTP/1.1" 201 270 0.160612 +2011-05-11 17:58:22 DEBUG [routes.middleware] Matched GET /v1.0/groups/test_global_group_add +2011-05-11 17:58:22 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'get_group', 'controller': } +2011-05-11 17:58:22 DEBUG [routes.middleware] Match dict: {'action': u'get_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 17:58:22 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:22] "GET /v1.0/groups/test_global_group_add HTTP/1.1" 200 265 0.026839 +2011-05-11 17:58:22 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 17:58:22 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 17:58:22 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 17:58:22 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:22] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 204 103 0.107693 +2011-05-11 17:58:22 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 17:58:22 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:22 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 17:58:23 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:23] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.097513 +2011-05-11 17:58:23 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:23 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:23 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:23 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:23] "POST /v1.0/token HTTP/1.1" 200 347 0.023870 +2011-05-11 17:58:23 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 17:58:23 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 17:58:23 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 17:58:23 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:23] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 404 211 0.107371 +2011-05-11 17:58:23 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 17:58:23 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 17:58:23 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 17:58:23 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:23] "POST /v1.0/groups HTTP/1.1" 201 206 0.099257 +2011-05-11 17:58:23 DEBUG [routes.middleware] Matched GET /v1.0/groups +2011-05-11 17:58:23 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'get_groups', 'controller': } +2011-05-11 17:58:23 DEBUG [routes.middleware] Match dict: {'action': u'get_groups', 'controller': } +2011-05-11 17:58:23 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:23] "GET /v1.0/groups HTTP/1.1" 200 230 0.037366 +2011-05-11 17:58:23 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 17:58:23 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 17:58:23 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 17:58:23 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:23] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 204 103 0.096196 +2011-05-11 17:58:23 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 17:58:23 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:23 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 17:58:23 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:23] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.097476 +2011-05-11 17:58:23 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:23 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:23 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:23 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:23] "POST /v1.0/token HTTP/1.1" 200 347 0.021032 +2011-05-11 17:58:23 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 17:58:23 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 17:58:23 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 17:58:23 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:23] "POST /v1.0/groups HTTP/1.1" 201 206 0.156099 +2011-05-11 17:58:23 DEBUG [routes.middleware] Matched GET /v1.0/groups +2011-05-11 17:58:23 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'get_groups', 'controller': } +2011-05-11 17:58:23 DEBUG [routes.middleware] Match dict: {'action': u'get_groups', 'controller': } +2011-05-11 17:58:23 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:23] "GET /v1.0/groups HTTP/1.1" 403 202 0.019678 +2011-05-11 17:58:23 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 17:58:23 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 17:58:23 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 17:58:23 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:23] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 204 103 0.100473 +2011-05-11 17:58:23 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 17:58:23 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:23 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 17:58:23 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:23] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.097075 +2011-05-11 17:58:23 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:23 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:23 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:23 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:23] "POST /v1.0/token HTTP/1.1" 200 347 0.023255 +2011-05-11 17:58:23 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 17:58:23 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 17:58:23 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 17:58:24 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:24] "POST /v1.0/groups HTTP/1.1" 201 270 0.144847 +2011-05-11 17:58:24 DEBUG [routes.middleware] Matched GET /v1.0/groups +2011-05-11 17:58:24 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'get_groups', 'controller': } +2011-05-11 17:58:24 DEBUG [routes.middleware] Match dict: {'action': u'get_groups', 'controller': } +2011-05-11 17:58:24 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:24] "GET /v1.0/groups HTTP/1.1" 403 257 0.020349 +2011-05-11 17:58:24 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 17:58:24 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 17:58:24 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 17:58:24 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:24] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 204 103 0.099254 +2011-05-11 17:58:24 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 17:58:24 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:24 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 17:58:24 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:24] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.089142 +2011-05-11 17:58:24 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:24 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:24 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:24 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:24] "POST /v1.0/token HTTP/1.1" 200 347 0.020002 +2011-05-11 17:58:24 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 17:58:24 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 17:58:24 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 17:58:24 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:24] "POST /v1.0/groups HTTP/1.1" 201 206 0.157930 +2011-05-11 17:58:24 DEBUG [routes.middleware] Matched GET /v1.0/groups +2011-05-11 17:58:24 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'get_groups', 'controller': } +2011-05-11 17:58:24 DEBUG [routes.middleware] Match dict: {'action': u'get_groups', 'controller': } +2011-05-11 17:58:24 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:24] "GET /v1.0/groups HTTP/1.1" 401 221 0.020173 +2011-05-11 17:58:24 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 17:58:24 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 17:58:24 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 17:58:24 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:24] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 204 103 0.114461 +2011-05-11 17:58:24 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 17:58:24 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:24 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 17:58:24 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:24] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.096852 +2011-05-11 17:58:24 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:24 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:24 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:24 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:24] "POST /v1.0/token HTTP/1.1" 200 347 0.107576 +2011-05-11 17:58:24 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 17:58:24 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 17:58:24 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 17:58:25 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:25] "POST /v1.0/groups HTTP/1.1" 201 270 0.366622 +2011-05-11 17:58:25 DEBUG [routes.middleware] Matched GET /v1.0/groups +2011-05-11 17:58:25 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'get_groups', 'controller': } +2011-05-11 17:58:25 DEBUG [routes.middleware] Match dict: {'action': u'get_groups', 'controller': } +2011-05-11 17:58:25 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:25] "GET /v1.0/groups HTTP/1.1" 401 279 0.030348 +2011-05-11 17:58:25 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 17:58:25 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 17:58:25 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 17:58:25 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:25] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 204 103 0.108652 +2011-05-11 17:58:25 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 17:58:25 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:25 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 17:58:25 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:25] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.129640 +2011-05-11 17:58:25 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:25 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:25 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:25 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:25] "POST /v1.0/token HTTP/1.1" 200 347 0.032503 +2011-05-11 17:58:25 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 17:58:25 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 17:58:25 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 17:58:25 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:25] "POST /v1.0/groups HTTP/1.1" 201 270 0.144363 +2011-05-11 17:58:25 DEBUG [routes.middleware] Matched GET /v1.0/groups +2011-05-11 17:58:25 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'get_groups', 'controller': } +2011-05-11 17:58:25 DEBUG [routes.middleware] Match dict: {'action': u'get_groups', 'controller': } +2011-05-11 17:58:25 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:25] "GET /v1.0/groups HTTP/1.1" 200 329 0.027195 +2011-05-11 17:58:25 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 17:58:25 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 17:58:25 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 17:58:25 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:25] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 204 103 0.094029 +2011-05-11 17:58:25 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 17:58:25 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:25 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 17:58:25 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:25] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.097759 +2011-05-11 17:58:25 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:25 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:25 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:25 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:25] "POST /v1.0/token HTTP/1.1" 200 347 0.020557 +2011-05-11 17:58:25 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 17:58:25 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 17:58:25 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 17:58:26 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:26] "POST /v1.0/groups HTTP/1.1" 201 202 0.146641 +2011-05-11 17:58:26 DEBUG [routes.middleware] Matched POST /v1.0/tenants/GlobalTenant/users +2011-05-11 17:58:26 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:58:26 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 17:58:26 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:26] "POST /v1.0/tenants/GlobalTenant/users HTTP/1.1" 201 262 0.171555 +2011-05-11 17:58:26 DEBUG [routes.middleware] Matched PUT /v1.0/groups/test_global_group/users/test_user +2011-05-11 17:58:26 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'add_user_global_group', 'controller': } +2011-05-11 17:58:26 DEBUG [routes.middleware] Match dict: {'action': u'add_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 17:58:26 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:26] "PUT /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 201 246 0.122094 +2011-05-11 17:58:26 DEBUG [routes.middleware] Matched GET /v1.0/groups/test_global_group/users +2011-05-11 17:58:26 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users', defaults: {'action': u'get_users_global_group', 'controller': } +2011-05-11 17:58:26 DEBUG [routes.middleware] Match dict: {'action': u'get_users_global_group', 'controller': , 'group_id': u'test_global_group'} +2011-05-11 17:58:26 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:26] "GET /v1.0/groups/test_global_group/users HTTP/1.1" 200 236 0.031796 +2011-05-11 17:58:26 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group/users/test_user +2011-05-11 17:58:26 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'delete_user_global_group', 'controller': } +2011-05-11 17:58:26 DEBUG [routes.middleware] Match dict: {'action': u'delete_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 17:58:26 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:26] "DELETE /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 204 103 0.089461 +2011-05-11 17:58:26 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant/users/test_user +2011-05-11 17:58:26 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:58:26 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'GlobalTenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:58:26 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:26] "DELETE /v1.0/tenants/GlobalTenant/users/test_user HTTP/1.1" 204 103 0.106293 +2011-05-11 17:58:26 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group +2011-05-11 17:58:26 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 17:58:26 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group'} +2011-05-11 17:58:26 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:26] "DELETE /v1.0/groups/test_global_group HTTP/1.1" 204 103 0.098510 +2011-05-11 17:58:26 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:26 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:26 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:26 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:26] "POST /v1.0/token HTTP/1.1" 200 347 0.021147 +2011-05-11 17:58:26 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 17:58:26 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 17:58:26 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 17:58:26 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:26] "POST /v1.0/groups HTTP/1.1" 201 202 0.091088 +2011-05-11 17:58:26 DEBUG [routes.middleware] Matched POST /v1.0/tenants/GlobalTenant/users +2011-05-11 17:58:26 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:58:26 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 17:58:26 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:26] "POST /v1.0/tenants/GlobalTenant/users HTTP/1.1" 201 262 0.155377 +2011-05-11 17:58:27 DEBUG [routes.middleware] Matched PUT /v1.0/groups/test_global_group/users/test_user +2011-05-11 17:58:27 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'add_user_global_group', 'controller': } +2011-05-11 17:58:27 DEBUG [routes.middleware] Match dict: {'action': u'add_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 17:58:27 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:27] "PUT /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 201 246 0.114248 +2011-05-11 17:58:27 DEBUG [routes.middleware] Matched GET /v1.0/groups/test_global_group/users +2011-05-11 17:58:27 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users', defaults: {'action': u'get_users_global_group', 'controller': } +2011-05-11 17:58:27 DEBUG [routes.middleware] Match dict: {'action': u'get_users_global_group', 'controller': , 'group_id': u'test_global_group'} +2011-05-11 17:58:27 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:27] "GET /v1.0/groups/test_global_group/users HTTP/1.1" 403 202 0.017792 +2011-05-11 17:58:27 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group/users/test_user +2011-05-11 17:58:27 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'delete_user_global_group', 'controller': } +2011-05-11 17:58:27 DEBUG [routes.middleware] Match dict: {'action': u'delete_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 17:58:27 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:27] "DELETE /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 204 103 0.118883 +2011-05-11 17:58:27 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant/users/test_user +2011-05-11 17:58:27 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:58:27 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'GlobalTenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:58:27 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:27] "DELETE /v1.0/tenants/GlobalTenant/users/test_user HTTP/1.1" 204 103 0.122718 +2011-05-11 17:58:27 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group +2011-05-11 17:58:27 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 17:58:27 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group'} +2011-05-11 17:58:27 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:27] "DELETE /v1.0/groups/test_global_group HTTP/1.1" 204 103 0.097493 +2011-05-11 17:58:27 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:27 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:27 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:27 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:27] "POST /v1.0/token HTTP/1.1" 200 347 0.026435 +2011-05-11 17:58:27 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 17:58:27 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 17:58:27 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 17:58:27 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:27] "POST /v1.0/groups HTTP/1.1" 201 202 0.101420 +2011-05-11 17:58:27 DEBUG [routes.middleware] Matched POST /v1.0/tenants/GlobalTenant/users +2011-05-11 17:58:27 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:58:27 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 17:58:27 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:27] "POST /v1.0/tenants/GlobalTenant/users HTTP/1.1" 201 262 0.180105 +2011-05-11 17:58:27 DEBUG [routes.middleware] Matched PUT /v1.0/groups/test_global_group/users/test_user +2011-05-11 17:58:27 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'add_user_global_group', 'controller': } +2011-05-11 17:58:27 DEBUG [routes.middleware] Match dict: {'action': u'add_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 17:58:27 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:27] "PUT /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 201 246 0.113722 +2011-05-11 17:58:27 DEBUG [routes.middleware] Matched GET /v1.0/groups/test_global_group/users +2011-05-11 17:58:27 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users', defaults: {'action': u'get_users_global_group', 'controller': } +2011-05-11 17:58:27 DEBUG [routes.middleware] Match dict: {'action': u'get_users_global_group', 'controller': , 'group_id': u'test_global_group'} +2011-05-11 17:58:27 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:27] "GET /v1.0/groups/test_global_group/users HTTP/1.1" 403 257 0.016766 +2011-05-11 17:58:27 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group/users/test_user +2011-05-11 17:58:27 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'delete_user_global_group', 'controller': } +2011-05-11 17:58:27 DEBUG [routes.middleware] Match dict: {'action': u'delete_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 17:58:28 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:28] "DELETE /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 204 103 0.117616 +2011-05-11 17:58:28 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant/users/test_user +2011-05-11 17:58:28 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:58:28 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'GlobalTenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:58:28 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:28] "DELETE /v1.0/tenants/GlobalTenant/users/test_user HTTP/1.1" 204 103 0.122473 +2011-05-11 17:58:28 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group +2011-05-11 17:58:28 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 17:58:28 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group'} +2011-05-11 17:58:28 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:28] "DELETE /v1.0/groups/test_global_group HTTP/1.1" 204 103 0.114161 +2011-05-11 17:58:28 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:28 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:28 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:28 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:28] "POST /v1.0/token HTTP/1.1" 200 347 0.020378 +2011-05-11 17:58:28 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 17:58:28 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 17:58:28 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 17:58:28 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:28] "POST /v1.0/groups HTTP/1.1" 201 202 0.100124 +2011-05-11 17:58:28 DEBUG [routes.middleware] Matched POST /v1.0/tenants/GlobalTenant/users +2011-05-11 17:58:28 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:58:28 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 17:58:28 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:28] "POST /v1.0/tenants/GlobalTenant/users HTTP/1.1" 201 262 0.180170 +2011-05-11 17:58:28 DEBUG [routes.middleware] Matched PUT /v1.0/groups/test_global_group/users/test_user +2011-05-11 17:58:28 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'add_user_global_group', 'controller': } +2011-05-11 17:58:28 DEBUG [routes.middleware] Match dict: {'action': u'add_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 17:58:28 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:28] "PUT /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 201 246 0.122512 +2011-05-11 17:58:28 DEBUG [routes.middleware] Matched GET /v1.0/groups/test_global_group/users +2011-05-11 17:58:28 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users', defaults: {'action': u'get_users_global_group', 'controller': } +2011-05-11 17:58:28 DEBUG [routes.middleware] Match dict: {'action': u'get_users_global_group', 'controller': , 'group_id': u'test_global_group'} +2011-05-11 17:58:28 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:28] "GET /v1.0/groups/test_global_group/users HTTP/1.1" 403 214 0.018294 +2011-05-11 17:58:28 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group/users/test_user +2011-05-11 17:58:28 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'delete_user_global_group', 'controller': } +2011-05-11 17:58:28 DEBUG [routes.middleware] Match dict: {'action': u'delete_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 17:58:28 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:28] "DELETE /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 204 103 0.125998 +2011-05-11 17:58:28 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant/users/test_user +2011-05-11 17:58:28 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:58:28 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'GlobalTenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:58:29 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:29] "DELETE /v1.0/tenants/GlobalTenant/users/test_user HTTP/1.1" 204 103 0.122134 +2011-05-11 17:58:29 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group +2011-05-11 17:58:29 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 17:58:29 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group'} +2011-05-11 17:58:29 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:29] "DELETE /v1.0/groups/test_global_group HTTP/1.1" 204 103 0.097329 +2011-05-11 17:58:29 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:29 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:29 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:29 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:29] "POST /v1.0/token HTTP/1.1" 200 347 0.022389 +2011-05-11 17:58:29 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 17:58:29 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 17:58:29 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 17:58:29 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:29] "POST /v1.0/groups HTTP/1.1" 201 202 0.098954 +2011-05-11 17:58:29 DEBUG [routes.middleware] Matched POST /v1.0/tenants/GlobalTenant/users +2011-05-11 17:58:29 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:58:29 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 17:58:29 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:29] "POST /v1.0/tenants/GlobalTenant/users HTTP/1.1" 201 262 0.171929 +2011-05-11 17:58:29 DEBUG [routes.middleware] Matched PUT /v1.0/groups/test_global_group/users/test_user +2011-05-11 17:58:29 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'add_user_global_group', 'controller': } +2011-05-11 17:58:29 DEBUG [routes.middleware] Match dict: {'action': u'add_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 17:58:29 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:29] "PUT /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 201 246 0.106031 +2011-05-11 17:58:29 DEBUG [routes.middleware] Matched GET /v1.0/groups/test_global_group/users +2011-05-11 17:58:29 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users', defaults: {'action': u'get_users_global_group', 'controller': } +2011-05-11 17:58:29 DEBUG [routes.middleware] Match dict: {'action': u'get_users_global_group', 'controller': , 'group_id': u'test_global_group'} +2011-05-11 17:58:29 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:29] "GET /v1.0/groups/test_global_group/users HTTP/1.1" 403 272 0.020873 +2011-05-11 17:58:29 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group/users/test_user +2011-05-11 17:58:29 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'delete_user_global_group', 'controller': } +2011-05-11 17:58:29 DEBUG [routes.middleware] Match dict: {'action': u'delete_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 17:58:29 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:29] "DELETE /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 204 103 0.117656 +2011-05-11 17:58:29 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant/users/test_user +2011-05-11 17:58:29 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:58:29 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'GlobalTenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:58:29 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:29] "DELETE /v1.0/tenants/GlobalTenant/users/test_user HTTP/1.1" 204 103 0.137760 +2011-05-11 17:58:29 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group +2011-05-11 17:58:29 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 17:58:29 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group'} +2011-05-11 17:58:29 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:29] "DELETE /v1.0/groups/test_global_group HTTP/1.1" 204 103 0.111515 +2011-05-11 17:58:29 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:29 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:29 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:29 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:29] "POST /v1.0/token HTTP/1.1" 200 347 0.038167 +2011-05-11 17:58:29 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 17:58:29 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 17:58:29 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 17:58:30 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:30] "POST /v1.0/groups HTTP/1.1" 201 202 0.107412 +2011-05-11 17:58:30 DEBUG [routes.middleware] Matched POST /v1.0/tenants/GlobalTenant/users +2011-05-11 17:58:30 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:58:30 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 17:58:30 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:30] "POST /v1.0/tenants/GlobalTenant/users HTTP/1.1" 201 262 0.163635 +2011-05-11 17:58:30 DEBUG [routes.middleware] Matched PUT /v1.0/groups/test_global_group/users/test_user +2011-05-11 17:58:30 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'add_user_global_group', 'controller': } +2011-05-11 17:58:30 DEBUG [routes.middleware] Match dict: {'action': u'add_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 17:58:30 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:30] "PUT /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 201 246 0.148702 +2011-05-11 17:58:30 DEBUG [routes.middleware] Matched GET /v1.0/groups/test_global_group/users +2011-05-11 17:58:30 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users', defaults: {'action': u'get_users_global_group', 'controller': } +2011-05-11 17:58:30 DEBUG [routes.middleware] Match dict: {'action': u'get_users_global_group', 'controller': , 'group_id': u'test_global_group'} +2011-05-11 17:58:30 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:30] "GET /v1.0/groups/test_global_group/users HTTP/1.1" 401 221 0.014642 +2011-05-11 17:58:30 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group/users/test_user +2011-05-11 17:58:30 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'delete_user_global_group', 'controller': } +2011-05-11 17:58:30 DEBUG [routes.middleware] Match dict: {'action': u'delete_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 17:58:30 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:30] "DELETE /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 204 103 0.114622 +2011-05-11 17:58:30 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant/users/test_user +2011-05-11 17:58:30 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:58:30 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'GlobalTenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:58:30 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:30] "DELETE /v1.0/tenants/GlobalTenant/users/test_user HTTP/1.1" 204 103 0.113935 +2011-05-11 17:58:30 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group +2011-05-11 17:58:30 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 17:58:30 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group'} +2011-05-11 17:58:30 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:30] "DELETE /v1.0/groups/test_global_group HTTP/1.1" 204 103 0.313749 +2011-05-11 17:58:30 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:30 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:30 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:30 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:30] "POST /v1.0/token HTTP/1.1" 200 347 0.021155 +2011-05-11 17:58:30 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 17:58:30 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 17:58:30 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 17:58:31 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:31] "POST /v1.0/groups HTTP/1.1" 201 202 0.106329 +2011-05-11 17:58:31 DEBUG [routes.middleware] Matched POST /v1.0/tenants/GlobalTenant/users +2011-05-11 17:58:31 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:58:31 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 17:58:31 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:31] "POST /v1.0/tenants/GlobalTenant/users HTTP/1.1" 201 262 0.171972 +2011-05-11 17:58:31 DEBUG [routes.middleware] Matched PUT /v1.0/groups/test_global_group/users/test_user +2011-05-11 17:58:31 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'add_user_global_group', 'controller': } +2011-05-11 17:58:31 DEBUG [routes.middleware] Match dict: {'action': u'add_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 17:58:31 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:31] "PUT /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 201 246 0.113856 +2011-05-11 17:58:31 DEBUG [routes.middleware] Matched GET /v1.0/groups/test_global_group/users +2011-05-11 17:58:31 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users', defaults: {'action': u'get_users_global_group', 'controller': } +2011-05-11 17:58:31 DEBUG [routes.middleware] Match dict: {'action': u'get_users_global_group', 'controller': , 'group_id': u'test_global_group'} +2011-05-11 17:58:31 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:31] "GET /v1.0/groups/test_global_group/users HTTP/1.1" 401 279 0.018717 +2011-05-11 17:58:31 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group/users/test_user +2011-05-11 17:58:31 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'delete_user_global_group', 'controller': } +2011-05-11 17:58:31 DEBUG [routes.middleware] Match dict: {'action': u'delete_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 17:58:31 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:31] "DELETE /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 204 103 0.110294 +2011-05-11 17:58:31 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant/users/test_user +2011-05-11 17:58:31 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:58:31 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'GlobalTenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:58:31 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:31] "DELETE /v1.0/tenants/GlobalTenant/users/test_user HTTP/1.1" 204 103 0.122162 +2011-05-11 17:58:31 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group +2011-05-11 17:58:31 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 17:58:31 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group'} +2011-05-11 17:58:31 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:31] "DELETE /v1.0/groups/test_global_group HTTP/1.1" 204 103 0.097103 +2011-05-11 17:58:31 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:31 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:31 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:31 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:31] "POST /v1.0/token HTTP/1.1" 200 347 0.021500 +2011-05-11 17:58:31 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 17:58:31 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 17:58:31 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 17:58:31 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:31] "POST /v1.0/groups HTTP/1.1" 201 202 0.086778 +2011-05-11 17:58:31 DEBUG [routes.middleware] Matched POST /v1.0/tenants/GlobalTenant/users +2011-05-11 17:58:31 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:58:31 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 17:58:32 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:32] "POST /v1.0/tenants/GlobalTenant/users HTTP/1.1" 201 262 0.179952 +2011-05-11 17:58:32 DEBUG [routes.middleware] Matched PUT /v1.0/groups/test_global_group/users/test_user +2011-05-11 17:58:32 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'add_user_global_group', 'controller': } +2011-05-11 17:58:32 DEBUG [routes.middleware] Match dict: {'action': u'add_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 17:58:32 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:32] "PUT /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 201 273 0.130974 +2011-05-11 17:58:32 DEBUG [routes.middleware] Matched GET /v1.0/groups/test_global_group/users +2011-05-11 17:58:32 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users', defaults: {'action': u'get_users_global_group', 'controller': } +2011-05-11 17:58:32 DEBUG [routes.middleware] Match dict: {'action': u'get_users_global_group', 'controller': , 'group_id': u'test_global_group'} +2011-05-11 17:58:32 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:32] "GET /v1.0/groups/test_global_group/users HTTP/1.1" 200 301 0.053996 +2011-05-11 17:58:32 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group/users/test_user +2011-05-11 17:58:32 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'delete_user_global_group', 'controller': } +2011-05-11 17:58:32 DEBUG [routes.middleware] Match dict: {'action': u'delete_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 17:58:32 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:32] "DELETE /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 204 103 0.129676 +2011-05-11 17:58:32 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant/users/test_user +2011-05-11 17:58:32 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:58:32 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'GlobalTenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:58:32 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:32] "DELETE /v1.0/tenants/GlobalTenant/users/test_user HTTP/1.1" 204 103 0.124390 +2011-05-11 17:58:32 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group +2011-05-11 17:58:32 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 17:58:32 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group'} +2011-05-11 17:58:32 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:32] "DELETE /v1.0/groups/test_global_group HTTP/1.1" 204 103 0.096385 +2011-05-11 17:58:32 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:32 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:32 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:32 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:32] "POST /v1.0/token HTTP/1.1" 200 347 0.021111 +2011-05-11 17:58:32 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 17:58:32 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 17:58:32 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 17:58:32 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:32] "POST /v1.0/groups HTTP/1.1" 201 206 0.099595 +2011-05-11 17:58:32 DEBUG [routes.middleware] Matched PUT /v1.0/groups/test_global_group_add +2011-05-11 17:58:32 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'update_group', 'controller': } +2011-05-11 17:58:32 DEBUG [routes.middleware] Match dict: {'action': u'update_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 17:58:32 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:32] "PUT /v1.0/groups/test_global_group_add HTTP/1.1" 200 217 0.097315 +2011-05-11 17:58:32 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 17:58:32 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 17:58:32 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 17:58:32 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:32] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 204 103 0.104845 +2011-05-11 17:58:32 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 17:58:32 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:32 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 17:58:32 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:32] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.089053 +2011-05-11 17:58:33 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:33 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:33 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:33 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:33] "POST /v1.0/token HTTP/1.1" 200 347 0.019523 +2011-05-11 17:58:33 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 17:58:33 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 17:58:33 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 17:58:33 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:33] "POST /v1.0/groups HTTP/1.1" 201 206 0.157477 +2011-05-11 17:58:33 DEBUG [routes.middleware] Matched PUT /v1.0/groups/test_global_group_add +2011-05-11 17:58:33 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'update_group', 'controller': } +2011-05-11 17:58:33 DEBUG [routes.middleware] Match dict: {'action': u'update_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 17:58:33 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:33] "PUT /v1.0/groups/test_global_group_add HTTP/1.1" 400 205 0.002386 +2011-05-11 17:58:33 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 17:58:33 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 17:58:33 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 17:58:33 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:33] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 204 103 0.099704 +2011-05-11 17:58:33 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 17:58:33 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:33 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 17:58:33 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:33] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.105090 +2011-05-11 17:58:33 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:33 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:33 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:33 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:33] "POST /v1.0/token HTTP/1.1" 200 347 0.019915 +2011-05-11 17:58:33 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 17:58:33 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 17:58:33 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 17:58:33 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:33] "POST /v1.0/groups HTTP/1.1" 201 270 0.157700 +2011-05-11 17:58:33 DEBUG [routes.middleware] Matched PUT /v1.0/groups/test_global_group_add +2011-05-11 17:58:33 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'update_group', 'controller': } +2011-05-11 17:58:33 DEBUG [routes.middleware] Match dict: {'action': u'update_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 17:58:33 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:33] "PUT /v1.0/groups/test_global_group_add HTTP/1.1" 400 362 0.002579 +2011-05-11 17:58:33 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 17:58:33 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 17:58:33 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 17:58:33 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:33] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 204 103 0.106640 +2011-05-11 17:58:33 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 17:58:33 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:33 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 17:58:33 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:33] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.113078 +2011-05-11 17:58:33 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:33 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:33 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:33 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:33] "POST /v1.0/token HTTP/1.1" 200 347 0.020797 +2011-05-11 17:58:33 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 17:58:33 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 17:58:33 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 17:58:34 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:34] "POST /v1.0/groups HTTP/1.1" 201 206 0.171713 +2011-05-11 17:58:34 DEBUG [routes.middleware] Matched GET /v1.0/groups/NonexistingID +2011-05-11 17:58:34 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'get_group', 'controller': } +2011-05-11 17:58:34 DEBUG [routes.middleware] Match dict: {'action': u'get_group', 'controller': , 'group_id': u'NonexistingID'} +2011-05-11 17:58:34 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:34] "GET /v1.0/groups/NonexistingID HTTP/1.1" 404 211 0.033604 +2011-05-11 17:58:34 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 17:58:34 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 17:58:34 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 17:58:34 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:34] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 204 103 0.093595 +2011-05-11 17:58:34 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 17:58:34 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:34 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 17:58:34 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:34] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.097529 +2011-05-11 17:58:34 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:34 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:34 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:34 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:34] "POST /v1.0/token HTTP/1.1" 200 347 0.022162 +2011-05-11 17:58:34 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:58:34 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:34 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:34 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:34] "POST /v1.0/tenants HTTP/1.1" 201 268 0.097138 +2011-05-11 17:58:34 DEBUG [routes.middleware] Matched GET /v1.0/groups/NonexistingID +2011-05-11 17:58:34 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'get_group', 'controller': } +2011-05-11 17:58:34 DEBUG [routes.middleware] Match dict: {'action': u'get_group', 'controller': , 'group_id': u'NonexistingID'} +2011-05-11 17:58:34 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:34] "GET /v1.0/groups/NonexistingID HTTP/1.1" 404 269 0.029559 +2011-05-11 17:58:34 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 17:58:34 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 17:58:34 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 17:58:34 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:34] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 404 211 0.028852 +2011-05-11 17:58:34 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 17:58:34 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:34 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 17:58:34 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:34] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.093328 +2011-05-11 17:58:34 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:34 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:34 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:34 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:34] "POST /v1.0/token HTTP/1.1" 200 347 0.023977 +2011-05-11 17:58:34 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 17:58:34 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 17:58:34 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 17:58:34 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:34] "POST /v1.0/groups HTTP/1.1" 201 206 0.146543 +2011-05-11 17:58:34 DEBUG [routes.middleware] Matched PUT /v1.0/groups/test_global_group_add +2011-05-11 17:58:34 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'update_group', 'controller': } +2011-05-11 17:58:34 DEBUG [routes.middleware] Match dict: {'action': u'update_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 17:58:34 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:34] "PUT /v1.0/groups/test_global_group_add HTTP/1.1" 200 259 0.105419 +2011-05-11 17:58:34 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 17:58:34 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 17:58:34 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 17:58:34 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:34] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 204 103 0.103224 +2011-05-11 17:58:34 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 17:58:34 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:34 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 17:58:35 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:35] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.097333 +2011-05-11 17:58:47 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:47 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:47 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:47 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:47] "POST /v1.0/token HTTP/1.1" 200 347 0.012498 +2011-05-11 17:58:47 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant +2011-05-11 17:58:47 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:47 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 17:58:47 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:47] "DELETE /v1.0/tenants/test_tenant HTTP/1.1" 404 207 0.012231 +2011-05-11 17:58:47 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:58:47 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:47 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:47 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:47] "POST /v1.0/tenants HTTP/1.1" 201 214 0.092518 +2011-05-11 17:58:47 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant +2011-05-11 17:58:47 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:47 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 17:58:47 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:47] "DELETE /v1.0/tenants/test_tenant HTTP/1.1" 204 103 0.097656 +2011-05-11 17:58:47 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:47 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:47 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:47 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:47] "POST /v1.0/token HTTP/1.1" 200 347 0.017484 +2011-05-11 17:58:47 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:58:47 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:47 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:47 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:47] "POST /v1.0/tenants HTTP/1.1" 201 214 0.079804 +2011-05-11 17:58:47 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:58:47 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:47 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:47 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:47] "POST /v1.0/tenants HTTP/1.1" 409 215 0.019189 +2011-05-11 17:58:47 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:58:47 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:47 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:58:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:48] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.022855 +2011-05-11 17:58:48 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:48 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:48 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:48] "POST /v1.0/token HTTP/1.1" 200 347 0.020844 +2011-05-11 17:58:48 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:58:48 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:48 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:48] "POST /v1.0/tenants HTTP/1.1" 409 275 0.030138 +2011-05-11 17:58:48 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:58:48 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:48 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:48] "POST /v1.0/tenants HTTP/1.1" 409 275 0.019358 +2011-05-11 17:58:48 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:58:48 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:48 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:58:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:48] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.022944 +2011-05-11 17:58:48 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:48 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:48 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:48] "POST /v1.0/token HTTP/1.1" 200 347 0.019649 +2011-05-11 17:58:48 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:58:48 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:48 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:48] "POST /v1.0/tenants HTTP/1.1" 409 215 0.025638 +2011-05-11 17:58:48 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:58:48 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:48 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:48] "POST /v1.0/tenants HTTP/1.1" 403 214 0.018956 +2011-05-11 17:58:48 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:58:48 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:48 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:58:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:48] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.026279 +2011-05-11 17:58:48 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:48 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:48 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:48] "POST /v1.0/token HTTP/1.1" 200 347 0.024310 +2011-05-11 17:58:48 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:58:48 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:48 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:48] "POST /v1.0/tenants HTTP/1.1" 409 275 0.024158 +2011-05-11 17:58:48 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:58:48 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:48 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:48] "POST /v1.0/tenants HTTP/1.1" 403 272 0.018935 +2011-05-11 17:58:48 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:58:48 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:48 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:58:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:48] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.030203 +2011-05-11 17:58:48 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:48 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:48 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:48] "POST /v1.0/token HTTP/1.1" 200 347 0.020711 +2011-05-11 17:58:48 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:58:48 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:48 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:48] "POST /v1.0/tenants HTTP/1.1" 409 215 0.023359 +2011-05-11 17:58:48 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:58:48 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:48 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:48] "POST /v1.0/tenants HTTP/1.1" 403 202 0.018744 +2011-05-11 17:58:48 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:58:48 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:48 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:58:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:48] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.021927 +2011-05-11 17:58:48 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:48 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:48 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:48] "POST /v1.0/token HTTP/1.1" 200 347 0.022672 +2011-05-11 17:58:48 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:58:48 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:48 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:48] "POST /v1.0/tenants HTTP/1.1" 409 275 0.020263 +2011-05-11 17:58:48 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:58:48 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:48 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:48] "POST /v1.0/tenants HTTP/1.1" 403 257 0.018759 +2011-05-11 17:58:48 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:58:48 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:48 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:58:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:48] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.022821 +2011-05-11 17:58:48 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:48 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:48 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:48] "POST /v1.0/token HTTP/1.1" 200 347 0.027705 +2011-05-11 17:58:48 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:58:48 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:48 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:48] "POST /v1.0/tenants HTTP/1.1" 409 215 0.023199 +2011-05-11 17:58:48 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:58:48 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:48 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:48] "POST /v1.0/tenants HTTP/1.1" 401 221 0.019990 +2011-05-11 17:58:48 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:58:48 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:48 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:58:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:48] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.021159 +2011-05-11 17:58:48 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:48 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:48 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:48] "POST /v1.0/token HTTP/1.1" 200 347 0.020130 +2011-05-11 17:58:48 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:58:48 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:48 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:48] "POST /v1.0/tenants HTTP/1.1" 409 275 0.022998 +2011-05-11 17:58:48 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:58:48 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:48 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:48] "POST /v1.0/tenants HTTP/1.1" 401 279 0.018991 +2011-05-11 17:58:48 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:58:48 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:48 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:58:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:48] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.026987 +2011-05-11 17:58:48 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:48 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:48 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:48] "POST /v1.0/token HTTP/1.1" 200 347 0.021224 +2011-05-11 17:58:48 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:58:48 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:48 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:48] "POST /v1.0/tenants HTTP/1.1" 409 215 0.020966 +2011-05-11 17:58:48 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:58:48 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:48 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:48] "POST /v1.0/tenants HTTP/1.1" 404 210 0.009511 +2011-05-11 17:58:48 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:58:48 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:48 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:58:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:48] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.027592 +2011-05-11 17:58:48 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:48 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:48 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:48] "POST /v1.0/token HTTP/1.1" 200 347 0.021990 +2011-05-11 17:58:48 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:58:48 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:48 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:48] "POST /v1.0/tenants HTTP/1.1" 409 275 0.025275 +2011-05-11 17:58:48 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:58:48 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:48 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:48] "POST /v1.0/tenants HTTP/1.1" 404 268 0.005752 +2011-05-11 17:58:48 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:58:48 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:48 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:58:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:48] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.027604 +2011-05-11 17:58:48 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:48 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:48 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:48] "POST /v1.0/token HTTP/1.1" 200 347 0.022075 +2011-05-11 17:58:48 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:58:48 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:48 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:48] "POST /v1.0/tenants HTTP/1.1" 409 215 0.020064 +2011-05-11 17:58:48 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:58:48 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:48 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:48] "POST /v1.0/tenants HTTP/1.1" 401 194 0.004195 +2011-05-11 17:58:48 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:58:48 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:48 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:58:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:48] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.032834 +2011-05-11 17:58:48 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:48 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:48 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:49 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:49] "POST /v1.0/token HTTP/1.1" 200 347 0.025275 +2011-05-11 17:58:49 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:58:49 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:49 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:49 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:49] "POST /v1.0/tenants HTTP/1.1" 409 275 0.018261 +2011-05-11 17:58:49 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:58:49 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:49 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:49 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:49] "POST /v1.0/tenants HTTP/1.1" 401 252 0.005561 +2011-05-11 17:58:49 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:58:49 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:49 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:58:49 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:49] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.025826 +2011-05-11 17:58:49 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:49 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:49 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:49 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:49] "POST /v1.0/token HTTP/1.1" 200 347 0.023831 +2011-05-11 17:58:49 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant +2011-05-11 17:58:49 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:49 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 17:58:49 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:49] "DELETE /v1.0/tenants/test_tenant HTTP/1.1" 204 103 0.093317 +2011-05-11 17:58:49 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:58:49 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:49 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:49 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:49] "POST /v1.0/tenants HTTP/1.1" 201 267 0.097915 +2011-05-11 17:58:49 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant +2011-05-11 17:58:49 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:49 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 17:58:49 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:49] "DELETE /v1.0/tenants/test_tenant HTTP/1.1" 204 103 0.096741 +2011-05-11 17:58:49 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:49 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:49 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:49 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:49] "POST /v1.0/token HTTP/1.1" 200 347 0.022289 +2011-05-11 17:58:49 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:58:49 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:49 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:49 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:49] "POST /v1.0/tenants HTTP/1.1" 201 221 0.090831 +2011-05-11 17:58:49 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant_delete +2011-05-11 17:58:49 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:49 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'test_tenant_delete', 'controller': } +2011-05-11 17:58:49 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:49] "DELETE /v1.0/tenants/test_tenant_delete HTTP/1.1" 204 103 0.096083 +2011-05-11 17:58:49 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:58:49 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:49 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:58:49 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:49] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.030850 +2011-05-11 17:58:49 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:49 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:49 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:49 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:49] "POST /v1.0/token HTTP/1.1" 200 347 0.024417 +2011-05-11 17:58:49 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant_delete111 +2011-05-11 17:58:49 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:49 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'test_tenant_delete111', 'controller': } +2011-05-11 17:58:49 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:49] "DELETE /v1.0/tenants/test_tenant_delete111 HTTP/1.1" 404 207 0.021727 +2011-05-11 17:58:49 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:58:49 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:49 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:58:49 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:49] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.025033 +2011-05-11 17:58:49 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:49 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:49 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:49 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:49] "POST /v1.0/token HTTP/1.1" 200 347 0.020180 +2011-05-11 17:58:49 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant_delete111 +2011-05-11 17:58:49 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:49 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'test_tenant_delete111', 'controller': } +2011-05-11 17:58:49 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:49] "DELETE /v1.0/tenants/test_tenant_delete111 HTTP/1.1" 404 265 0.022756 +2011-05-11 17:58:49 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:58:49 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:49 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:58:49 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:49] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.023030 +2011-05-11 17:58:49 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:49 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:49 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:49 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:49] "POST /v1.0/token HTTP/1.1" 200 347 0.022896 +2011-05-11 17:58:49 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:58:49 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:49 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:49 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:49] "POST /v1.0/tenants HTTP/1.1" 201 274 0.081462 +2011-05-11 17:58:49 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant_delete +2011-05-11 17:58:49 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:49 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'test_tenant_delete', 'controller': } +2011-05-11 17:58:49 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:49] "DELETE /v1.0/tenants/test_tenant_delete HTTP/1.1" 204 103 0.096356 +2011-05-11 17:58:49 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:58:49 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:50 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:58:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:50] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.024934 +2011-05-11 17:58:50 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:50 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:50 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:50] "POST /v1.0/token HTTP/1.1" 200 347 0.021190 +2011-05-11 17:58:50 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:58:50 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:50 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:50] "POST /v1.0/tenants HTTP/1.1" 409 215 0.022360 +2011-05-11 17:58:50 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234 +2011-05-11 17:58:50 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'get_tenant', 'controller': } +2011-05-11 17:58:50 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:58:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:50] "GET /v1.0/tenants/1234 HTTP/1.1" 200 201 0.023048 +2011-05-11 17:58:50 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:58:50 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:50 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:58:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:50] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.021819 +2011-05-11 17:58:50 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:50 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:50 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:50] "POST /v1.0/token HTTP/1.1" 200 347 0.020168 +2011-05-11 17:58:50 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:58:50 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:50 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:50] "POST /v1.0/tenants HTTP/1.1" 409 215 0.023787 +2011-05-11 17:58:50 DEBUG [routes.middleware] Matched GET /v1.0/tenants/tenant_bad +2011-05-11 17:58:50 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'get_tenant', 'controller': } +2011-05-11 17:58:50 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant', 'tenant_id': u'tenant_bad', 'controller': } +2011-05-11 17:58:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:50] "GET /v1.0/tenants/tenant_bad HTTP/1.1" 404 207 0.021360 +2011-05-11 17:58:50 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:58:50 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:50 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:58:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:50] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.028970 +2011-05-11 17:58:50 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:50 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:50 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:50] "POST /v1.0/token HTTP/1.1" 200 347 0.021940 +2011-05-11 17:58:50 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:58:50 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:50 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:50] "POST /v1.0/tenants HTTP/1.1" 409 215 0.022262 +2011-05-11 17:58:50 DEBUG [routes.middleware] Matched GET /v1.0/tenants/tenant_bad +2011-05-11 17:58:50 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'get_tenant', 'controller': } +2011-05-11 17:58:50 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant', 'tenant_id': u'tenant_bad', 'controller': } +2011-05-11 17:58:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:50] "GET /v1.0/tenants/tenant_bad HTTP/1.1" 404 265 0.024080 +2011-05-11 17:58:50 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:58:50 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:50 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:58:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:50] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.021834 +2011-05-11 17:58:50 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:50 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:50 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:50] "POST /v1.0/token HTTP/1.1" 200 347 0.054810 +2011-05-11 17:58:50 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:58:50 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:50 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:50] "POST /v1.0/tenants HTTP/1.1" 409 215 0.022807 +2011-05-11 17:58:50 DEBUG [routes.middleware] Matched GET /v1.0/tenants/NonexistingID +2011-05-11 17:58:50 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'get_tenant', 'controller': } +2011-05-11 17:58:50 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant', 'tenant_id': u'NonexistingID', 'controller': } +2011-05-11 17:58:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:50] "GET /v1.0/tenants/NonexistingID HTTP/1.1" 404 207 0.025773 +2011-05-11 17:58:50 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:58:50 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:50 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:58:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:50] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.022480 +2011-05-11 17:58:50 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:50 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:50 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:50] "POST /v1.0/token HTTP/1.1" 200 347 0.018888 +2011-05-11 17:58:50 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:58:50 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:50 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:50] "POST /v1.0/tenants HTTP/1.1" 409 215 0.016625 +2011-05-11 17:58:50 DEBUG [routes.middleware] Matched GET /v1.0/tenants/NonexistingID +2011-05-11 17:58:50 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'get_tenant', 'controller': } +2011-05-11 17:58:50 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant', 'tenant_id': u'NonexistingID', 'controller': } +2011-05-11 17:58:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:50] "GET /v1.0/tenants/NonexistingID HTTP/1.1" 404 265 0.016314 +2011-05-11 17:58:50 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:58:50 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:50 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:58:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:50] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.019661 +2011-05-11 17:58:50 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:50 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:50 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:50] "POST /v1.0/token HTTP/1.1" 200 347 0.022026 +2011-05-11 17:58:50 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:58:50 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:50 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:50] "POST /v1.0/tenants HTTP/1.1" 409 215 0.014994 +2011-05-11 17:58:50 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234 +2011-05-11 17:58:50 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'get_tenant', 'controller': } +2011-05-11 17:58:50 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:58:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:50] "GET /v1.0/tenants/1234 HTTP/1.1" 200 255 0.021747 +2011-05-11 17:58:50 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:58:50 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:50 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:58:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:50] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.015196 +2011-05-11 17:58:50 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:50 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:50 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:50] "POST /v1.0/token HTTP/1.1" 200 347 0.014313 +2011-05-11 17:58:50 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:58:50 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:50 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:50] "POST /v1.0/tenants HTTP/1.1" 409 215 0.013050 +2011-05-11 17:58:50 DEBUG [routes.middleware] Matched GET /v1.0/tenants +2011-05-11 17:58:50 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'get_tenants', 'controller': } +2011-05-11 17:58:50 DEBUG [routes.middleware] Match dict: {'action': u'get_tenants', 'controller': } +2011-05-11 17:58:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:50] "GET /v1.0/tenants HTTP/1.1" 200 303 0.017786 +2011-05-11 17:58:50 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:58:50 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:50 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:58:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:50] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.014506 +2011-05-11 17:58:50 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:50 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:50 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:50] "POST /v1.0/token HTTP/1.1" 200 347 0.011847 +2011-05-11 17:58:50 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:58:50 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:50 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:50] "POST /v1.0/tenants HTTP/1.1" 409 215 0.011304 +2011-05-11 17:58:50 DEBUG [routes.middleware] Matched GET /v1.0/tenants +2011-05-11 17:58:50 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'get_tenants', 'controller': } +2011-05-11 17:58:50 DEBUG [routes.middleware] Match dict: {'action': u'get_tenants', 'controller': } +2011-05-11 17:58:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:50] "GET /v1.0/tenants HTTP/1.1" 403 202 0.011436 +2011-05-11 17:58:50 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:58:50 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:50 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:58:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:50] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.012964 +2011-05-11 17:58:50 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:50 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:50 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:50] "POST /v1.0/token HTTP/1.1" 200 347 0.013209 +2011-05-11 17:58:50 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:58:50 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:50 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:50] "POST /v1.0/tenants HTTP/1.1" 409 215 0.014697 +2011-05-11 17:58:50 DEBUG [routes.middleware] Matched GET /v1.0/tenants +2011-05-11 17:58:50 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'get_tenants', 'controller': } +2011-05-11 17:58:50 DEBUG [routes.middleware] Match dict: {'action': u'get_tenants', 'controller': } +2011-05-11 17:58:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:50] "GET /v1.0/tenants HTTP/1.1" 403 257 0.013895 +2011-05-11 17:58:50 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:58:50 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:50 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:58:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:50] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.017500 +2011-05-11 17:58:50 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:50 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:50 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:50] "POST /v1.0/token HTTP/1.1" 200 347 0.017921 +2011-05-11 17:58:50 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:58:50 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:50 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:50] "POST /v1.0/tenants HTTP/1.1" 409 215 0.013882 +2011-05-11 17:58:50 DEBUG [routes.middleware] Matched GET /v1.0/tenants +2011-05-11 17:58:50 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'get_tenants', 'controller': } +2011-05-11 17:58:50 DEBUG [routes.middleware] Match dict: {'action': u'get_tenants', 'controller': } +2011-05-11 17:58:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:50] "GET /v1.0/tenants HTTP/1.1" 401 221 0.014428 +2011-05-11 17:58:50 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:58:50 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:50 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:58:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:50] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.019127 +2011-05-11 17:58:50 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:50 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:50 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:50] "POST /v1.0/token HTTP/1.1" 200 347 0.016297 +2011-05-11 17:58:50 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:58:50 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:50 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:50] "POST /v1.0/tenants HTTP/1.1" 409 215 0.017915 +2011-05-11 17:58:50 DEBUG [routes.middleware] Matched GET /v1.0/tenants +2011-05-11 17:58:50 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'get_tenants', 'controller': } +2011-05-11 17:58:50 DEBUG [routes.middleware] Match dict: {'action': u'get_tenants', 'controller': } +2011-05-11 17:58:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:50] "GET /v1.0/tenants HTTP/1.1" 401 279 0.018739 +2011-05-11 17:58:50 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:58:50 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:50 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:58:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:50] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.023080 +2011-05-11 17:58:50 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:50 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:50 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:51] "POST /v1.0/token HTTP/1.1" 200 347 0.028280 +2011-05-11 17:58:51 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:58:51 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:51 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:51] "POST /v1.0/tenants HTTP/1.1" 409 215 0.022328 +2011-05-11 17:58:51 DEBUG [routes.middleware] Matched GET /v1.0/tenants +2011-05-11 17:58:51 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'get_tenants', 'controller': } +2011-05-11 17:58:51 DEBUG [routes.middleware] Match dict: {'action': u'get_tenants', 'controller': } +2011-05-11 17:58:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:51] "GET /v1.0/tenants HTTP/1.1" 200 458 0.038185 +2011-05-11 17:58:51 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:58:51 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:51 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:58:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:51] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.026484 +2011-05-11 17:58:51 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:51 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:51 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:51] "POST /v1.0/token HTTP/1.1" 200 347 0.018562 +2011-05-11 17:58:51 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:58:51 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:51 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:51] "POST /v1.0/tenants HTTP/1.1" 409 215 0.019927 +2011-05-11 17:58:51 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234 +2011-05-11 17:58:51 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'update_tenant', 'controller': } +2011-05-11 17:58:51 DEBUG [routes.middleware] Match dict: {'action': u'update_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:58:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:51] "PUT /v1.0/tenants/1234 HTTP/1.1" 200 205 0.099496 +2011-05-11 17:58:51 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:58:51 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:51 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:58:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:51] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.027071 +2011-05-11 17:58:51 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:51 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:51 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:51] "POST /v1.0/token HTTP/1.1" 200 347 0.028657 +2011-05-11 17:58:51 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:58:51 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:51 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:51] "POST /v1.0/tenants HTTP/1.1" 409 215 0.019505 +2011-05-11 17:58:51 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234 +2011-05-11 17:58:51 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'update_tenant', 'controller': } +2011-05-11 17:58:51 DEBUG [routes.middleware] Match dict: {'action': u'update_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:58:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:51] "PUT /v1.0/tenants/1234 HTTP/1.1" 400 206 0.002333 +2011-05-11 17:58:51 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:58:51 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:51 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:58:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:51] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.028854 +2011-05-11 17:58:51 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:51 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:51 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:51] "POST /v1.0/token HTTP/1.1" 200 347 0.018973 +2011-05-11 17:58:51 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:58:51 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:51 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:51] "POST /v1.0/tenants HTTP/1.1" 409 215 0.021174 +2011-05-11 17:58:51 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234 +2011-05-11 17:58:51 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'update_tenant', 'controller': } +2011-05-11 17:58:51 DEBUG [routes.middleware] Match dict: {'action': u'update_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:58:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:51] "PUT /v1.0/tenants/1234 HTTP/1.1" 400 363 0.004495 +2011-05-11 17:58:51 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:58:51 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:51 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:58:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:51] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.023818 +2011-05-11 17:58:51 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:51 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:51 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:51] "POST /v1.0/token HTTP/1.1" 200 347 0.022188 +2011-05-11 17:58:51 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:58:51 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:51 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:51] "POST /v1.0/tenants HTTP/1.1" 409 215 0.023152 +2011-05-11 17:58:51 DEBUG [routes.middleware] Matched GET /v1.0/tenants/NonexistingID +2011-05-11 17:58:51 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'get_tenant', 'controller': } +2011-05-11 17:58:51 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant', 'tenant_id': u'NonexistingID', 'controller': } +2011-05-11 17:58:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:51] "GET /v1.0/tenants/NonexistingID HTTP/1.1" 404 207 0.019929 +2011-05-11 17:58:51 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:58:51 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:51 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:58:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:51] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.023527 +2011-05-11 17:58:51 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:51 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:51 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:51] "POST /v1.0/token HTTP/1.1" 200 347 0.019638 +2011-05-11 17:58:51 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:58:51 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:51 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:51] "POST /v1.0/tenants HTTP/1.1" 409 215 0.011253 +2011-05-11 17:58:51 DEBUG [routes.middleware] Matched GET /v1.0/tenants/NonexistingID +2011-05-11 17:58:51 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'get_tenant', 'controller': } +2011-05-11 17:58:51 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant', 'tenant_id': u'NonexistingID', 'controller': } +2011-05-11 17:58:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:51] "GET /v1.0/tenants/NonexistingID HTTP/1.1" 404 265 0.011333 +2011-05-11 17:58:51 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:58:51 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:51 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:58:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:51] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.014230 +2011-05-11 17:58:51 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:51 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:51 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:51] "POST /v1.0/token HTTP/1.1" 200 347 0.014587 +2011-05-11 17:58:51 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:58:51 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:51 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:58:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:51] "POST /v1.0/tenants HTTP/1.1" 409 275 0.011908 +2011-05-11 17:58:51 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234 +2011-05-11 17:58:51 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'update_tenant', 'controller': } +2011-05-11 17:58:51 DEBUG [routes.middleware] Match dict: {'action': u'update_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:58:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:51] "PUT /v1.0/tenants/1234 HTTP/1.1" 200 259 0.015034 +2011-05-11 17:58:51 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:58:51 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:58:51 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:58:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:51] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.022117 +2011-05-11 17:58:58 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:58 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:58 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:58 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:58] "POST /v1.0/token HTTP/1.1" 200 347 0.011890 +2011-05-11 17:58:58 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 17:58:58 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:58:58 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:58:58 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:58] "POST /v1.0/tenants/1234/users HTTP/1.1" 201 254 0.146811 +2011-05-11 17:58:58 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 17:58:58 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:58:58 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:58:58 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:58] "POST /v1.0/tenants/1234/users HTTP/1.1" 409 212 0.027662 +2011-05-11 17:58:58 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:58:58 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:58:58 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:58:58 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:58] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 204 103 0.101651 +2011-05-11 17:58:58 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:58 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:58 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:58 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:58] "POST /v1.0/token HTTP/1.1" 200 347 0.023017 +2011-05-11 17:58:58 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 17:58:58 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:58:58 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:58:58 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:58] "POST /v1.0/tenants/1234/users HTTP/1.1" 201 277 0.179058 +2011-05-11 17:58:58 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 17:58:58 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:58:58 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:58:58 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:58] "POST /v1.0/tenants/1234/users HTTP/1.1" 409 270 0.032425 +2011-05-11 17:58:58 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:58:58 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:58:58 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:58:58 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:58] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 204 103 0.118923 +2011-05-11 17:58:58 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:58 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:58 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:58 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:58] "POST /v1.0/token HTTP/1.1" 200 347 0.020301 +2011-05-11 17:58:58 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 17:58:58 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:58:58 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:58:58 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:58] "POST /v1.0/tenants/1234/users HTTP/1.1" 403 214 0.021740 +2011-05-11 17:58:58 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:58:58 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:58:58 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:58:58 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:58] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.031902 +2011-05-11 17:58:58 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:58 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:58 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:58 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:58] "POST /v1.0/token HTTP/1.1" 200 347 0.019922 +2011-05-11 17:58:58 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 17:58:58 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:58:58 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:58:58 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:58] "POST /v1.0/tenants/1234/users HTTP/1.1" 403 272 0.021265 +2011-05-11 17:58:58 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:58:58 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:58:58 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:58:59 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:59] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.031742 +2011-05-11 17:58:59 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:59 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:59 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:59 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:59] "POST /v1.0/token HTTP/1.1" 200 347 0.023172 +2011-05-11 17:58:59 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 17:58:59 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:58:59 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:58:59 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:59] "POST /v1.0/tenants/1234/users HTTP/1.1" 403 202 0.016215 +2011-05-11 17:58:59 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:58:59 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:58:59 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:58:59 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:59] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.028324 +2011-05-11 17:58:59 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:59 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:59 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:59 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:59] "POST /v1.0/token HTTP/1.1" 200 347 0.024483 +2011-05-11 17:58:59 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 17:58:59 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:58:59 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:58:59 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:59] "POST /v1.0/tenants/1234/users HTTP/1.1" 403 257 0.017892 +2011-05-11 17:58:59 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:58:59 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:58:59 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:58:59 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:59] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.028851 +2011-05-11 17:58:59 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:59 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:59 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:59 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:59] "POST /v1.0/token HTTP/1.1" 200 347 0.023563 +2011-05-11 17:58:59 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 17:58:59 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:58:59 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:58:59 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:59] "POST /v1.0/tenants/1234/users HTTP/1.1" 404 210 0.009321 +2011-05-11 17:58:59 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:58:59 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:58:59 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:58:59 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:59] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.030577 +2011-05-11 17:58:59 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:59 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:59 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:59 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:59] "POST /v1.0/token HTTP/1.1" 200 347 0.019594 +2011-05-11 17:58:59 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 17:58:59 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:58:59 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:58:59 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:59] "POST /v1.0/tenants/1234/users HTTP/1.1" 404 268 0.008020 +2011-05-11 17:58:59 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:58:59 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:58:59 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:58:59 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:59] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.031448 +2011-05-11 17:58:59 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:59 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:59 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:59 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:59] "POST /v1.0/token HTTP/1.1" 200 347 0.022516 +2011-05-11 17:58:59 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 17:58:59 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:58:59 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:58:59 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:59] "POST /v1.0/tenants/1234/users HTTP/1.1" 201 254 0.165725 +2011-05-11 17:58:59 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:58:59 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:58:59 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:58:59 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:59] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 204 103 0.121276 +2011-05-11 17:58:59 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:59 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:59 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:59 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:59] "POST /v1.0/token HTTP/1.1" 200 347 0.020071 +2011-05-11 17:58:59 DEBUG [routes.middleware] Matched POST /v1.0/tenants/0000/users +2011-05-11 17:58:59 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:58:59 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'0000', 'controller': } +2011-05-11 17:58:59 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:59] "POST /v1.0/tenants/0000/users HTTP/1.1" 403 210 0.022154 +2011-05-11 17:58:59 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:58:59 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:58:59 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:58:59 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:59] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.032202 +2011-05-11 17:58:59 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:59 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:59 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:59 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:59] "POST /v1.0/token HTTP/1.1" 200 347 0.022528 +2011-05-11 17:58:59 DEBUG [routes.middleware] Matched POST /v1.0/tenants/0000/users +2011-05-11 17:58:59 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:58:59 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'0000', 'controller': } +2011-05-11 17:58:59 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:59] "POST /v1.0/tenants/0000/users HTTP/1.1" 403 270 0.021400 +2011-05-11 17:58:59 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:58:59 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:58:59 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:58:59 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:59] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.029979 +2011-05-11 17:58:59 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:59 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:59 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:59 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:59] "POST /v1.0/token HTTP/1.1" 200 347 0.026016 +2011-05-11 17:58:59 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 17:58:59 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:58:59 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:58:59 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:59] "POST /v1.0/tenants/1234/users HTTP/1.1" 401 194 0.002772 +2011-05-11 17:58:59 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:58:59 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:58:59 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:58:59 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:59] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.031973 +2011-05-11 17:58:59 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:59 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:59 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:59 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:59] "POST /v1.0/token HTTP/1.1" 200 347 0.019427 +2011-05-11 17:58:59 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 17:58:59 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:58:59 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:58:59 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:59] "POST /v1.0/tenants/1234/users HTTP/1.1" 401 252 0.005403 +2011-05-11 17:58:59 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:58:59 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:58:59 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:58:59 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:59] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.019095 +2011-05-11 17:58:59 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:58:59 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:59 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:58:59 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:59] "POST /v1.0/token HTTP/1.1" 200 347 0.012920 +2011-05-11 17:58:59 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:58:59 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:58:59 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:58:59 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:58:59] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 263 0.016268 +2011-05-11 17:58:59 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 17:58:59 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:58:59 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:00 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:00] "POST /v1.0/tenants/1234/users HTTP/1.1" 201 277 0.149827 +2011-05-11 17:59:00 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:00 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:00 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:00 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:00] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 204 103 0.106034 +2011-05-11 17:59:00 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:00 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:00 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:00 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:00] "POST /v1.0/token HTTP/1.1" 200 347 0.023702 +2011-05-11 17:59:00 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/0000/users/disabled +2011-05-11 17:59:00 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:00 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'0000', 'controller': , 'user_id': u'disabled'} +2011-05-11 17:59:00 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:00] "DELETE /v1.0/tenants/0000/users/disabled HTTP/1.1" 403 210 0.018354 +2011-05-11 17:59:00 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:00 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:00 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:00 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:00] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.035786 +2011-05-11 17:59:00 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:00 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:00 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:00 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:00] "POST /v1.0/token HTTP/1.1" 200 347 0.024751 +2011-05-11 17:59:00 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/0000/users/disabled +2011-05-11 17:59:00 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:00 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'0000', 'controller': , 'user_id': u'disabled'} +2011-05-11 17:59:00 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:00] "DELETE /v1.0/tenants/0000/users/disabled HTTP/1.1" 403 270 0.021332 +2011-05-11 17:59:00 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:00 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:00 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:00 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:00] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.030028 +2011-05-11 17:59:00 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:00 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:00 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:00 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:00] "POST /v1.0/token HTTP/1.1" 200 347 0.025979 +2011-05-11 17:59:00 DEBUG [routes.middleware] Matched POST /v1.0/tenants/test_user/users +2011-05-11 17:59:00 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:59:00 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'test_user', 'controller': } +2011-05-11 17:59:00 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:00] "POST /v1.0/tenants/test_user/users HTTP/1.1" 401 193 0.021630 +2011-05-11 17:59:00 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:00 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:00 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:00 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:00] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 403 202 0.021277 +2011-05-11 17:59:00 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:00 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:00 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:00 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:00] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.028887 +2011-05-11 17:59:00 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:00 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:00 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:00 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:00] "POST /v1.0/token HTTP/1.1" 200 347 0.023556 +2011-05-11 17:59:00 DEBUG [routes.middleware] Matched POST /v1.0/tenants/test_user/users +2011-05-11 17:59:00 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:59:00 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'test_user', 'controller': } +2011-05-11 17:59:00 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:00] "POST /v1.0/tenants/test_user/users HTTP/1.1" 401 193 0.019068 +2011-05-11 17:59:00 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:00 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:00 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:00 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:00] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 403 257 0.009229 +2011-05-11 17:59:00 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:00 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:00 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:00 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:00] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.020060 +2011-05-11 17:59:00 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:00 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:00 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:00 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:00] "POST /v1.0/token HTTP/1.1" 200 347 0.012286 +2011-05-11 17:59:00 DEBUG [routes.middleware] Matched POST /v1.0/tenants/test_user/users +2011-05-11 17:59:00 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:59:00 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'test_user', 'controller': } +2011-05-11 17:59:00 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:00] "POST /v1.0/tenants/test_user/users HTTP/1.1" 401 193 0.010962 +2011-05-11 17:59:00 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:00 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:00 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:00 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:00] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 210 0.003415 +2011-05-11 17:59:00 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:00 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:00 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:00 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:00] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.017714 +2011-05-11 17:59:00 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:00 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:00 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:00 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:00] "POST /v1.0/token HTTP/1.1" 200 347 0.012743 +2011-05-11 17:59:00 DEBUG [routes.middleware] Matched POST /v1.0/tenants/test_user/users +2011-05-11 17:59:00 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:59:00 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'test_user', 'controller': } +2011-05-11 17:59:00 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:00] "POST /v1.0/tenants/test_user/users HTTP/1.1" 401 193 0.011426 +2011-05-11 17:59:00 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:00 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:00 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:00 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:00] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 268 0.003633 +2011-05-11 17:59:00 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:00 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:00 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:00 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:00] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.018862 +2011-05-11 17:59:00 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:00 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:00 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:00 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:00] "POST /v1.0/token HTTP/1.1" 200 347 0.012363 +2011-05-11 17:59:00 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 17:59:00 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:59:00 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:00 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:00] "POST /v1.0/tenants/1234/users HTTP/1.1" 201 254 0.278227 +2011-05-11 17:59:00 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:00 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:00 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:01 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:01] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 204 103 0.138870 +2011-05-11 17:59:01 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:01 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:01 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:01 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:01] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.029415 +2011-05-11 17:59:01 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:01 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:01 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:01 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:01] "POST /v1.0/token HTTP/1.1" 200 347 0.024450 +2011-05-11 17:59:01 DEBUG [routes.middleware] Matched POST /v1.0/tenants/test_user/users +2011-05-11 17:59:01 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:59:01 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'test_user', 'controller': } +2011-05-11 17:59:01 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:01] "POST /v1.0/tenants/test_user/users HTTP/1.1" 401 193 0.018491 +2011-05-11 17:59:01 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:01 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:01 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:01 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:01] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 401 194 0.002144 +2011-05-11 17:59:01 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:01 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:01 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:01 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:01] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.031974 +2011-05-11 17:59:01 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:01 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:01 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:01 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:01] "POST /v1.0/token HTTP/1.1" 200 347 0.020349 +2011-05-11 17:59:01 DEBUG [routes.middleware] Matched POST /v1.0/tenants/test_user/users +2011-05-11 17:59:01 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:59:01 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'test_user', 'controller': } +2011-05-11 17:59:01 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:01] "POST /v1.0/tenants/test_user/users HTTP/1.1" 401 193 0.022694 +2011-05-11 17:59:01 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:01 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:01 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:01 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:01] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 401 252 0.002125 +2011-05-11 17:59:01 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:01 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:01 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:01 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:01] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.030661 +2011-05-11 17:59:01 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:01 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:01 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:01 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:01] "POST /v1.0/token HTTP/1.1" 200 347 0.019586 +2011-05-11 17:59:01 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 17:59:01 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:59:01 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:01 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:01] "POST /v1.0/tenants/1234/users HTTP/1.1" 201 277 0.179366 +2011-05-11 17:59:01 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:01 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:01 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:01 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:01] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 204 103 0.113905 +2011-05-11 17:59:01 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:01 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:01 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:01 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:01] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.030674 +2011-05-11 17:59:01 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:01 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:01 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:01 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:01] "POST /v1.0/token HTTP/1.1" 200 347 0.022502 +2011-05-11 17:59:01 DEBUG [routes.middleware] Matched GET /v1.0/tenants/0000/users/disabled +2011-05-11 17:59:01 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'get_user', 'controller': } +2011-05-11 17:59:01 DEBUG [routes.middleware] Match dict: {'action': u'get_user', 'tenant_id': u'0000', 'controller': , 'user_id': u'disabled'} +2011-05-11 17:59:01 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:01] "GET /v1.0/tenants/0000/users/disabled HTTP/1.1" 403 210 0.022214 +2011-05-11 17:59:01 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:01 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:01 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:01 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:01] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.031180 +2011-05-11 17:59:01 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:01 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:01 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:01 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:01] "POST /v1.0/token HTTP/1.1" 200 347 0.024489 +2011-05-11 17:59:01 DEBUG [routes.middleware] Matched GET /v1.0/tenants/0000/users/disabled +2011-05-11 17:59:01 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'get_user', 'controller': } +2011-05-11 17:59:01 DEBUG [routes.middleware] Match dict: {'action': u'get_user', 'tenant_id': u'0000', 'controller': , 'user_id': u'disabled'} +2011-05-11 17:59:01 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:01] "GET /v1.0/tenants/0000/users/disabled HTTP/1.1" 403 270 0.018316 +2011-05-11 17:59:01 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:01 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:01 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:01 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:01] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.030419 +2011-05-11 17:59:01 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:01 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:01 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:01 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:01] "POST /v1.0/token HTTP/1.1" 200 347 0.027348 +2011-05-11 17:59:01 DEBUG [routes.middleware] Matched POST /v1.0/tenants/test_user/users +2011-05-11 17:59:01 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:59:01 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'test_user', 'controller': } +2011-05-11 17:59:01 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:01] "POST /v1.0/tenants/test_user/users HTTP/1.1" 401 193 0.019626 +2011-05-11 17:59:01 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:01 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'get_user', 'controller': } +2011-05-11 17:59:01 DEBUG [routes.middleware] Match dict: {'action': u'get_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:01 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:01] "GET /v1.0/tenants/1234/users/test_user HTTP/1.1" 403 214 0.021407 +2011-05-11 17:59:01 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:01 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:01 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:01 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:01] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.028796 +2011-05-11 17:59:01 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:01 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:01 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:01 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:01] "POST /v1.0/token HTTP/1.1" 200 347 0.018838 +2011-05-11 17:59:01 DEBUG [routes.middleware] Matched POST /v1.0/tenants/test_user/users +2011-05-11 17:59:01 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:59:01 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'test_user', 'controller': } +2011-05-11 17:59:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:02] "POST /v1.0/tenants/test_user/users HTTP/1.1" 401 193 0.025241 +2011-05-11 17:59:02 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:02 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'get_user', 'controller': } +2011-05-11 17:59:02 DEBUG [routes.middleware] Match dict: {'action': u'get_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:02] "GET /v1.0/tenants/1234/users/test_user HTTP/1.1" 403 272 0.018656 +2011-05-11 17:59:02 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:02 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:02 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:02] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.028670 +2011-05-11 17:59:02 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:02 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:02 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:02] "POST /v1.0/token HTTP/1.1" 200 347 0.020130 +2011-05-11 17:59:02 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234/users/disabled +2011-05-11 17:59:02 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'get_user', 'controller': } +2011-05-11 17:59:02 DEBUG [routes.middleware] Match dict: {'action': u'get_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'disabled'} +2011-05-11 17:59:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:02] "GET /v1.0/tenants/1234/users/disabled HTTP/1.1" 403 200 0.033321 +2011-05-11 17:59:02 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:02 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:02 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:02] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.031247 +2011-05-11 17:59:02 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:02 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:02 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:02] "POST /v1.0/token HTTP/1.1" 200 347 0.019339 +2011-05-11 17:59:02 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234/users/disabled +2011-05-11 17:59:02 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'get_user', 'controller': } +2011-05-11 17:59:02 DEBUG [routes.middleware] Match dict: {'action': u'get_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'disabled'} +2011-05-11 17:59:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:02] "GET /v1.0/tenants/1234/users/disabled HTTP/1.1" 403 258 0.033059 +2011-05-11 17:59:02 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:02 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:02 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:02] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.029216 +2011-05-11 17:59:02 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:02 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:02 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:02] "POST /v1.0/token HTTP/1.1" 200 347 0.019360 +2011-05-11 17:59:02 DEBUG [routes.middleware] Matched POST /v1.0/tenants/test_user/users +2011-05-11 17:59:02 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:59:02 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'test_user', 'controller': } +2011-05-11 17:59:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:02] "POST /v1.0/tenants/test_user/users HTTP/1.1" 401 193 0.019332 +2011-05-11 17:59:02 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:02 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'get_user', 'controller': } +2011-05-11 17:59:02 DEBUG [routes.middleware] Match dict: {'action': u'get_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:02] "GET /v1.0/tenants/1234/users/test_user HTTP/1.1" 403 202 0.019716 +2011-05-11 17:59:02 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:02 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:02 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:02] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.033815 +2011-05-11 17:59:02 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:02 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:02 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:02] "POST /v1.0/token HTTP/1.1" 200 347 0.019494 +2011-05-11 17:59:02 DEBUG [routes.middleware] Matched POST /v1.0/tenants/test_user/users +2011-05-11 17:59:02 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:59:02 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'test_user', 'controller': } +2011-05-11 17:59:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:02] "POST /v1.0/tenants/test_user/users HTTP/1.1" 401 193 0.019525 +2011-05-11 17:59:02 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:02 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'get_user', 'controller': } +2011-05-11 17:59:02 DEBUG [routes.middleware] Match dict: {'action': u'get_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:02] "GET /v1.0/tenants/1234/users/test_user HTTP/1.1" 403 257 0.019147 +2011-05-11 17:59:02 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:02 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:02 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:02] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.029106 +2011-05-11 17:59:02 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:02 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:02 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:02] "POST /v1.0/token HTTP/1.1" 200 347 0.018083 +2011-05-11 17:59:02 DEBUG [routes.middleware] Matched POST /v1.0/tenants/test_user/users +2011-05-11 17:59:02 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:59:02 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'test_user', 'controller': } +2011-05-11 17:59:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:02] "POST /v1.0/tenants/test_user/users HTTP/1.1" 401 193 0.013765 +2011-05-11 17:59:02 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:02 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'get_user', 'controller': } +2011-05-11 17:59:02 DEBUG [routes.middleware] Match dict: {'action': u'get_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:02] "GET /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 210 0.003212 +2011-05-11 17:59:02 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:02 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:02 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:02] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.021170 +2011-05-11 17:59:02 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:02 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:02 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:02] "POST /v1.0/token HTTP/1.1" 200 347 0.014497 +2011-05-11 17:59:02 DEBUG [routes.middleware] Matched POST /v1.0/tenants/test_user/users +2011-05-11 17:59:02 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:59:02 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'test_user', 'controller': } +2011-05-11 17:59:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:02] "POST /v1.0/tenants/test_user/users HTTP/1.1" 401 193 0.012226 +2011-05-11 17:59:02 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:02 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'get_user', 'controller': } +2011-05-11 17:59:02 DEBUG [routes.middleware] Match dict: {'action': u'get_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:02] "GET /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 268 0.005096 +2011-05-11 17:59:02 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:02 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:02 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:02] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.016773 +2011-05-11 17:59:02 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:02 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:02 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:02] "POST /v1.0/token HTTP/1.1" 200 347 0.013785 +2011-05-11 17:59:02 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 17:59:02 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:59:02 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:02] "POST /v1.0/tenants/1234/users HTTP/1.1" 201 254 0.151065 +2011-05-11 17:59:02 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:02 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'get_user', 'controller': } +2011-05-11 17:59:02 DEBUG [routes.middleware] Match dict: {'action': u'get_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:02] "GET /v1.0/tenants/1234/users/test_user HTTP/1.1" 200 252 0.022659 +2011-05-11 17:59:02 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:02 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:02 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:02] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 204 103 0.110872 +2011-05-11 17:59:02 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:02 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:02 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:02] "POST /v1.0/token HTTP/1.1" 200 347 0.020071 +2011-05-11 17:59:02 DEBUG [routes.middleware] Matched POST /v1.0/tenants/test_user/users +2011-05-11 17:59:02 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:59:02 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'test_user', 'controller': } +2011-05-11 17:59:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:02] "POST /v1.0/tenants/test_user/users HTTP/1.1" 401 193 0.029098 +2011-05-11 17:59:02 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:02 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'get_user', 'controller': } +2011-05-11 17:59:02 DEBUG [routes.middleware] Match dict: {'action': u'get_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:02] "GET /v1.0/tenants/1234/users/test_user HTTP/1.1" 401 194 0.002101 +2011-05-11 17:59:02 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:02 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:02 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:02] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.030878 +2011-05-11 17:59:02 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:02 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:02 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:02] "POST /v1.0/token HTTP/1.1" 200 347 0.018773 +2011-05-11 17:59:02 DEBUG [routes.middleware] Matched POST /v1.0/tenants/test_user/users +2011-05-11 17:59:02 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:59:02 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'test_user', 'controller': } +2011-05-11 17:59:03 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:03] "POST /v1.0/tenants/test_user/users HTTP/1.1" 401 193 0.022993 +2011-05-11 17:59:03 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:03 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'get_user', 'controller': } +2011-05-11 17:59:03 DEBUG [routes.middleware] Match dict: {'action': u'get_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:03 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:03] "GET /v1.0/tenants/1234/users/test_user HTTP/1.1" 401 252 0.002201 +2011-05-11 17:59:03 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:03 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:03 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:03 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:03] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.028409 +2011-05-11 17:59:03 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:03 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:03 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:03 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:03] "POST /v1.0/token HTTP/1.1" 200 347 0.018738 +2011-05-11 17:59:03 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 17:59:03 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:59:03 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:03 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:03] "POST /v1.0/tenants/1234/users HTTP/1.1" 201 254 0.161590 +2011-05-11 17:59:03 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:03 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'get_user', 'controller': } +2011-05-11 17:59:03 DEBUG [routes.middleware] Match dict: {'action': u'get_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:03 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:03] "GET /v1.0/tenants/1234/users/test_user HTTP/1.1" 200 255 0.025432 +2011-05-11 17:59:03 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:03 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:03 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:03 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:03] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 204 103 0.126781 +2011-05-11 17:59:03 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:03 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:03 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:03 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:03] "POST /v1.0/token HTTP/1.1" 200 347 0.026561 +2011-05-11 17:59:03 DEBUG [routes.middleware] Matched GET /v1.0/tenants/0000/users/test_user/groups +2011-05-11 17:59:03 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/groups', defaults: {'action': u'get_user_groups', 'controller': } +2011-05-11 17:59:03 DEBUG [routes.middleware] Match dict: {'action': u'get_user_groups', 'tenant_id': u'0000', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:03 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:03] "GET /v1.0/tenants/0000/users/test_user/groups HTTP/1.1" 403 210 0.024645 +2011-05-11 17:59:03 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:03 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:03 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:03 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:03] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.036070 +2011-05-11 17:59:03 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:03 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:03 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:03 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:03] "POST /v1.0/token HTTP/1.1" 200 347 0.020191 +2011-05-11 17:59:03 DEBUG [routes.middleware] Matched GET /v1.0/tenants/0000/users/test_user/groups +2011-05-11 17:59:03 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/groups', defaults: {'action': u'get_user_groups', 'controller': } +2011-05-11 17:59:03 DEBUG [routes.middleware] Match dict: {'action': u'get_user_groups', 'tenant_id': u'0000', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:03 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:03] "GET /v1.0/tenants/0000/users/test_user/groups HTTP/1.1" 403 270 0.021826 +2011-05-11 17:59:03 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:03 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:03 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:03 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:03] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.032715 +2011-05-11 17:59:03 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:03 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:03 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:03 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:03] "POST /v1.0/token HTTP/1.1" 200 347 0.025435 +2011-05-11 17:59:03 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234/users/test_user/groups +2011-05-11 17:59:03 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/groups', defaults: {'action': u'get_user_groups', 'controller': } +2011-05-11 17:59:03 DEBUG [routes.middleware] Match dict: {'action': u'get_user_groups', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:03 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:03] "GET /v1.0/tenants/1234/users/test_user/groups HTTP/1.1" 403 214 0.016933 +2011-05-11 17:59:03 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:03 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:03 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:03 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:03] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.062413 +2011-05-11 17:59:03 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:03 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:03 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:03 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:03] "POST /v1.0/token HTTP/1.1" 200 347 0.021756 +2011-05-11 17:59:03 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234/users/test_user/groups +2011-05-11 17:59:03 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/groups', defaults: {'action': u'get_user_groups', 'controller': } +2011-05-11 17:59:03 DEBUG [routes.middleware] Match dict: {'action': u'get_user_groups', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:03 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:03] "GET /v1.0/tenants/1234/users/test_user/groups HTTP/1.1" 403 272 0.019152 +2011-05-11 17:59:03 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:03 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:03 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:03 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:03] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.018178 +2011-05-11 17:59:03 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:03 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:03 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:03 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:03] "POST /v1.0/token HTTP/1.1" 200 347 0.014009 +2011-05-11 17:59:03 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234/users/test_user/groups +2011-05-11 17:59:03 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/groups', defaults: {'action': u'get_user_groups', 'controller': } +2011-05-11 17:59:03 DEBUG [routes.middleware] Match dict: {'action': u'get_user_groups', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:03 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:03] "GET /v1.0/tenants/1234/users/test_user/groups HTTP/1.1" 403 202 0.009658 +2011-05-11 17:59:03 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:03 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:03 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:03 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:03] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.019275 +2011-05-11 17:59:03 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:03 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:03 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:03 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:03] "POST /v1.0/token HTTP/1.1" 200 347 0.010869 +2011-05-11 17:59:03 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234/users/test_user/groups +2011-05-11 17:59:03 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/groups', defaults: {'action': u'get_user_groups', 'controller': } +2011-05-11 17:59:03 DEBUG [routes.middleware] Match dict: {'action': u'get_user_groups', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:03 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:03] "GET /v1.0/tenants/1234/users/test_user/groups HTTP/1.1" 403 257 0.011893 +2011-05-11 17:59:03 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:03 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:03 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:03 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:03] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.018444 +2011-05-11 17:59:03 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:03 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:03 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:03 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:03] "POST /v1.0/token HTTP/1.1" 200 347 0.011629 +2011-05-11 17:59:03 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234/users/test_user/groups +2011-05-11 17:59:03 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/groups', defaults: {'action': u'get_user_groups', 'controller': } +2011-05-11 17:59:03 DEBUG [routes.middleware] Match dict: {'action': u'get_user_groups', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:03 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:03] "GET /v1.0/tenants/1234/users/test_user/groups HTTP/1.1" 404 210 0.003849 +2011-05-11 17:59:03 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:03 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:03 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:03 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:03] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.016690 +2011-05-11 17:59:03 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:03 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:03 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:03 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:03] "POST /v1.0/token HTTP/1.1" 200 347 0.011925 +2011-05-11 17:59:03 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234/users/test_user/groups +2011-05-11 17:59:03 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/groups', defaults: {'action': u'get_user_groups', 'controller': } +2011-05-11 17:59:03 DEBUG [routes.middleware] Match dict: {'action': u'get_user_groups', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:03 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:03] "GET /v1.0/tenants/1234/users/test_user/groups HTTP/1.1" 404 268 0.003294 +2011-05-11 17:59:03 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:03 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:03 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:03 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:03] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.021403 +2011-05-11 17:59:03 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:03 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:03 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:03 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:03] "POST /v1.0/token HTTP/1.1" 200 347 0.012848 +2011-05-11 17:59:03 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234/users/test_user/groups +2011-05-11 17:59:03 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/groups', defaults: {'action': u'get_user_groups', 'controller': } +2011-05-11 17:59:03 DEBUG [routes.middleware] Match dict: {'action': u'get_user_groups', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:03 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:03] "GET /v1.0/tenants/1234/users/test_user/groups HTTP/1.1" 200 162 0.016983 +2011-05-11 17:59:03 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:03 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:03 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:03 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:03] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.021744 +2011-05-11 17:59:03 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:03 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:03 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:04 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:04] "POST /v1.0/token HTTP/1.1" 200 347 0.014301 +2011-05-11 17:59:04 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234/users/test_user/groups +2011-05-11 17:59:04 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/groups', defaults: {'action': u'get_user_groups', 'controller': } +2011-05-11 17:59:04 DEBUG [routes.middleware] Match dict: {'action': u'get_user_groups', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:04 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:04] "GET /v1.0/tenants/1234/users/test_user/groups HTTP/1.1" 401 194 0.001361 +2011-05-11 17:59:04 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:04 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:04 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:04 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:04] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.017685 +2011-05-11 17:59:04 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:04 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:04 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:04 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:04] "POST /v1.0/token HTTP/1.1" 200 347 0.012827 +2011-05-11 17:59:04 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234/users/test_user/groups +2011-05-11 17:59:04 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/groups', defaults: {'action': u'get_user_groups', 'controller': } +2011-05-11 17:59:04 DEBUG [routes.middleware] Match dict: {'action': u'get_user_groups', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:04 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:04] "GET /v1.0/tenants/1234/users/test_user/groups HTTP/1.1" 401 252 0.001365 +2011-05-11 17:59:04 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:04 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:04 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:04 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:04] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.017083 +2011-05-11 17:59:04 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:04 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:04 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:04 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:04] "POST /v1.0/token HTTP/1.1" 200 347 0.011455 +2011-05-11 17:59:04 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234/users/test_user/groups +2011-05-11 17:59:04 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/groups', defaults: {'action': u'get_user_groups', 'controller': } +2011-05-11 17:59:04 DEBUG [routes.middleware] Match dict: {'action': u'get_user_groups', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:04 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:04] "GET /v1.0/tenants/1234/users/test_user/groups HTTP/1.1" 200 178 0.024536 +2011-05-11 17:59:04 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:04 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:04 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:04 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:04] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.018301 +2011-05-11 17:59:04 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:04 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:04 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:04 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:04] "POST /v1.0/token HTTP/1.1" 200 347 0.013471 +2011-05-11 17:59:04 DEBUG [routes.middleware] Matched GET /v1.0/tenants/0000/users +2011-05-11 17:59:04 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'get_tenant_users', 'controller': } +2011-05-11 17:59:04 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant_users', 'tenant_id': u'0000', 'controller': } +2011-05-11 17:59:04 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:04] "GET /v1.0/tenants/0000/users HTTP/1.1" 403 210 0.011653 +2011-05-11 17:59:04 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:04 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:04 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:04 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:04] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.017013 +2011-05-11 17:59:04 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:04 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:04 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:04 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:04] "POST /v1.0/token HTTP/1.1" 200 347 0.013132 +2011-05-11 17:59:04 DEBUG [routes.middleware] Matched GET /v1.0/tenants/0000/users +2011-05-11 17:59:04 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'get_tenant_users', 'controller': } +2011-05-11 17:59:04 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant_users', 'tenant_id': u'0000', 'controller': } +2011-05-11 17:59:04 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:04] "GET /v1.0/tenants/0000/users HTTP/1.1" 403 270 0.012147 +2011-05-11 17:59:04 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:04 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:04 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:04 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:04] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.018340 +2011-05-11 17:59:04 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:04 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:04 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:04 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:04] "POST /v1.0/token HTTP/1.1" 200 347 0.016395 +2011-05-11 17:59:04 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234/users +2011-05-11 17:59:04 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'get_tenant_users', 'controller': } +2011-05-11 17:59:04 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant_users', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:04 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:04] "GET /v1.0/tenants/1234/users HTTP/1.1" 403 214 0.012945 +2011-05-11 17:59:04 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:04 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:04 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:04 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:04] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.020188 +2011-05-11 17:59:04 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:04 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:04 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:04 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:04] "POST /v1.0/token HTTP/1.1" 200 347 0.013901 +2011-05-11 17:59:04 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234/users +2011-05-11 17:59:04 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'get_tenant_users', 'controller': } +2011-05-11 17:59:04 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant_users', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:04 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:04] "GET /v1.0/tenants/1234/users HTTP/1.1" 403 272 0.010068 +2011-05-11 17:59:04 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:04 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:04 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:04 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:04] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.017101 +2011-05-11 17:59:04 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:04 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:04 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:04 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:04] "POST /v1.0/token HTTP/1.1" 200 347 0.011644 +2011-05-11 17:59:04 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234/users +2011-05-11 17:59:04 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'get_tenant_users', 'controller': } +2011-05-11 17:59:04 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant_users', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:04 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:04] "GET /v1.0/tenants/1234/users HTTP/1.1" 403 202 0.010888 +2011-05-11 17:59:04 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:04 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:04 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:04 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:04] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.017277 +2011-05-11 17:59:04 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:04 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:04 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:04 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:04] "POST /v1.0/token HTTP/1.1" 200 347 0.013379 +2011-05-11 17:59:04 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234/users +2011-05-11 17:59:04 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'get_tenant_users', 'controller': } +2011-05-11 17:59:04 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant_users', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:04 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:04] "GET /v1.0/tenants/1234/users HTTP/1.1" 403 257 0.009464 +2011-05-11 17:59:04 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:04 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:04 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:04 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:04] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.022209 +2011-05-11 17:59:04 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:04 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:04 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:04 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:04] "POST /v1.0/token HTTP/1.1" 200 347 0.022619 +2011-05-11 17:59:04 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234/users +2011-05-11 17:59:04 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'get_tenant_users', 'controller': } +2011-05-11 17:59:04 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant_users', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:04 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:04] "GET /v1.0/tenants/1234/users HTTP/1.1" 404 210 0.004039 +2011-05-11 17:59:04 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:04 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:04 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:04 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:04] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.020759 +2011-05-11 17:59:04 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:04 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:04 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:04 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:04] "POST /v1.0/token HTTP/1.1" 200 347 0.014051 +2011-05-11 17:59:04 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234/users +2011-05-11 17:59:04 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'get_tenant_users', 'controller': } +2011-05-11 17:59:04 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant_users', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:04 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:04] "GET /v1.0/tenants/1234/users HTTP/1.1" 404 268 0.003401 +2011-05-11 17:59:04 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:04 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:04 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:04 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:04] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.019173 +2011-05-11 17:59:04 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:04 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:04 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:04 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:04] "POST /v1.0/token HTTP/1.1" 200 347 0.011457 +2011-05-11 17:59:04 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234/users +2011-05-11 17:59:04 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'get_tenant_users', 'controller': } +2011-05-11 17:59:04 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant_users', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:04 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:04] "GET /v1.0/tenants/1234/users HTTP/1.1" 200 522 0.034185 +2011-05-11 17:59:04 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:04 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:04 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:04 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:04] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.022701 +2011-05-11 17:59:04 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:04 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:04 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:04 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:04] "POST /v1.0/token HTTP/1.1" 200 347 0.010980 +2011-05-11 17:59:04 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234/users +2011-05-11 17:59:04 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'get_tenant_users', 'controller': } +2011-05-11 17:59:04 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant_users', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:04 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:04] "GET /v1.0/tenants/1234/users HTTP/1.1" 401 194 0.003420 +2011-05-11 17:59:04 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:04 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:04 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:04 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:04] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.016474 +2011-05-11 17:59:04 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:04 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:04 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:04 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:04] "POST /v1.0/token HTTP/1.1" 200 347 0.012296 +2011-05-11 17:59:04 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234/users +2011-05-11 17:59:04 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'get_tenant_users', 'controller': } +2011-05-11 17:59:04 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant_users', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:04 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:04] "GET /v1.0/tenants/1234/users HTTP/1.1" 401 252 0.001998 +2011-05-11 17:59:04 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:04 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:04 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:04 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:04] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.016072 +2011-05-11 17:59:04 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:04 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:04 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:04 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:04] "POST /v1.0/token HTTP/1.1" 200 347 0.011665 +2011-05-11 17:59:04 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234/users +2011-05-11 17:59:04 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'get_tenant_users', 'controller': } +2011-05-11 17:59:04 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant_users', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:04 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:04] "GET /v1.0/tenants/1234/users HTTP/1.1" 200 694 0.035029 +2011-05-11 17:59:04 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:04 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:04 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:04 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:04] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.026946 +2011-05-11 17:59:04 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:04 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:04 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:04 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:04] "POST /v1.0/token HTTP/1.1" 200 347 0.016387 +2011-05-11 17:59:04 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 17:59:04 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:59:04 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:04 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:04] "POST /v1.0/tenants/1234/users HTTP/1.1" 201 254 0.167692 +2011-05-11 17:59:04 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user/enabled +2011-05-11 17:59:04 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/enabled', defaults: {'action': u'set_user_enabled', 'controller': } +2011-05-11 17:59:04 DEBUG [routes.middleware] Match dict: {'action': u'set_user_enabled', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:04 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:04] "PUT /v1.0/tenants/1234/users/test_user/enabled HTTP/1.1" 400 192 0.002539 +2011-05-11 17:59:04 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:04 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:04 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:05 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:05] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 204 103 0.124409 +2011-05-11 17:59:05 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:05 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:05 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:05 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:05] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.032245 +2011-05-11 17:59:05 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:05 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:05 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:05 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:05] "POST /v1.0/token HTTP/1.1" 200 347 0.022440 +2011-05-11 17:59:05 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 17:59:05 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:59:05 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:05 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:05] "POST /v1.0/tenants/1234/users HTTP/1.1" 201 277 0.186392 +2011-05-11 17:59:05 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user/enabled +2011-05-11 17:59:05 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/enabled', defaults: {'action': u'set_user_enabled', 'controller': } +2011-05-11 17:59:05 DEBUG [routes.middleware] Match dict: {'action': u'set_user_enabled', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:05 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:05] "PUT /v1.0/tenants/1234/users/test_user/enabled HTTP/1.1" 400 325 0.002555 +2011-05-11 17:59:05 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:05 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:05 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:05 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:05] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 204 103 0.108963 +2011-05-11 17:59:05 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:05 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:05 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:05 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:05] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.029637 +2011-05-11 17:59:05 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:05 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:05 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:05 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:05] "POST /v1.0/token HTTP/1.1" 200 347 0.040569 +2011-05-11 17:59:05 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user/enabled +2011-05-11 17:59:05 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/enabled', defaults: {'action': u'set_user_enabled', 'controller': } +2011-05-11 17:59:05 DEBUG [routes.middleware] Match dict: {'action': u'set_user_enabled', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:05 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:05] "PUT /v1.0/tenants/1234/users/test_user/enabled HTTP/1.1" 403 214 0.017962 +2011-05-11 17:59:05 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:05 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:05 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:05 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:05] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.028751 +2011-05-11 17:59:05 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:05 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:05 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:05 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:05] "POST /v1.0/token HTTP/1.1" 200 347 0.020237 +2011-05-11 17:59:05 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user/enabled +2011-05-11 17:59:05 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/enabled', defaults: {'action': u'set_user_enabled', 'controller': } +2011-05-11 17:59:05 DEBUG [routes.middleware] Match dict: {'action': u'set_user_enabled', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:05 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:05] "PUT /v1.0/tenants/1234/users/test_user/enabled HTTP/1.1" 403 272 0.019171 +2011-05-11 17:59:05 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:05 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:05 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:05 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:05] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.035484 +2011-05-11 17:59:05 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:05 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:05 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:05 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:05] "POST /v1.0/token HTTP/1.1" 200 347 0.026062 +2011-05-11 17:59:05 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user/enabled +2011-05-11 17:59:05 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/enabled', defaults: {'action': u'set_user_enabled', 'controller': } +2011-05-11 17:59:05 DEBUG [routes.middleware] Match dict: {'action': u'set_user_enabled', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:05 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:05] "PUT /v1.0/tenants/1234/users/test_user/enabled HTTP/1.1" 403 202 0.009721 +2011-05-11 17:59:05 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:05 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:05 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:05 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:05] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.018306 +2011-05-11 17:59:05 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:05 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:05 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:05 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:05] "POST /v1.0/token HTTP/1.1" 200 347 0.014482 +2011-05-11 17:59:05 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user/enabled +2011-05-11 17:59:05 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/enabled', defaults: {'action': u'set_user_enabled', 'controller': } +2011-05-11 17:59:05 DEBUG [routes.middleware] Match dict: {'action': u'set_user_enabled', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:05 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:05] "PUT /v1.0/tenants/1234/users/test_user/enabled HTTP/1.1" 403 257 0.011293 +2011-05-11 17:59:05 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:05 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:05 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:05 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:05] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.016652 +2011-05-11 17:59:05 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:05 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:05 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:05 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:05] "POST /v1.0/token HTTP/1.1" 200 347 0.013452 +2011-05-11 17:59:05 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user/enabled +2011-05-11 17:59:05 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/enabled', defaults: {'action': u'set_user_enabled', 'controller': } +2011-05-11 17:59:05 DEBUG [routes.middleware] Match dict: {'action': u'set_user_enabled', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:05 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:05] "PUT /v1.0/tenants/1234/users/test_user/enabled HTTP/1.1" 404 210 0.005378 +2011-05-11 17:59:05 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:05 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:05 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:05 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:05] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.022357 +2011-05-11 17:59:05 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:05 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:05 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:05 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:05] "POST /v1.0/token HTTP/1.1" 200 347 0.013401 +2011-05-11 17:59:05 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user/enabled +2011-05-11 17:59:05 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/enabled', defaults: {'action': u'set_user_enabled', 'controller': } +2011-05-11 17:59:05 DEBUG [routes.middleware] Match dict: {'action': u'set_user_enabled', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:05 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:05] "PUT /v1.0/tenants/1234/users/test_user/enabled HTTP/1.1" 404 268 0.004571 +2011-05-11 17:59:05 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:05 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:05 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:05 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:05] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.021195 +2011-05-11 17:59:05 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:05 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:05 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:05 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:05] "POST /v1.0/token HTTP/1.1" 200 347 0.017489 +2011-05-11 17:59:05 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 17:59:05 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:59:05 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:06 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:06] "POST /v1.0/tenants/1234/users HTTP/1.1" 201 254 0.173178 +2011-05-11 17:59:06 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user/enabled +2011-05-11 17:59:06 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/enabled', defaults: {'action': u'set_user_enabled', 'controller': } +2011-05-11 17:59:06 DEBUG [routes.middleware] Match dict: {'action': u'set_user_enabled', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:06 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:06] "PUT /v1.0/tenants/1234/users/test_user/enabled HTTP/1.1" 200 150 0.056345 +2011-05-11 17:59:06 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:06 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:06 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:06 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:06] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 204 103 0.120149 +2011-05-11 17:59:06 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:06 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:06 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:06 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:06] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.033343 +2011-05-11 17:59:06 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:06 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:06 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:06 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:06] "POST /v1.0/token HTTP/1.1" 200 347 0.027497 +2011-05-11 17:59:06 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user/enabled +2011-05-11 17:59:06 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/enabled', defaults: {'action': u'set_user_enabled', 'controller': } +2011-05-11 17:59:06 DEBUG [routes.middleware] Match dict: {'action': u'set_user_enabled', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:06 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:06] "PUT /v1.0/tenants/1234/users/test_user/enabled HTTP/1.1" 401 194 0.004410 +2011-05-11 17:59:06 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:06 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:06 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:06 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:06] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.033306 +2011-05-11 17:59:06 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:06 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:06 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:06 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:06] "POST /v1.0/token HTTP/1.1" 200 347 0.021196 +2011-05-11 17:59:06 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user/password +2011-05-11 17:59:06 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/password', defaults: {'action': u'set_user_password', 'controller': } +2011-05-11 17:59:06 DEBUG [routes.middleware] Match dict: {'action': u'set_user_password', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:06 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:06] "PUT /v1.0/tenants/1234/users/test_user/password HTTP/1.1" 401 252 0.004486 +2011-05-11 17:59:06 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:06 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:06 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:06 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:06] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.032636 +2011-05-11 17:59:06 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:06 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:06 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:06 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:06] "POST /v1.0/token HTTP/1.1" 200 347 0.025294 +2011-05-11 17:59:06 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 17:59:06 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:59:06 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:06 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:06] "POST /v1.0/tenants/1234/users HTTP/1.1" 201 277 0.178389 +2011-05-11 17:59:06 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user/enabled +2011-05-11 17:59:06 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/enabled', defaults: {'action': u'set_user_enabled', 'controller': } +2011-05-11 17:59:06 DEBUG [routes.middleware] Match dict: {'action': u'set_user_enabled', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:06 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:06] "PUT /v1.0/tenants/1234/users/test_user/enabled HTTP/1.1" 200 191 0.054782 +2011-05-11 17:59:06 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:06 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:06 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:06 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:06] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 204 103 0.130985 +2011-05-11 17:59:06 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:06 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:06 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:06 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:06] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.029966 +2011-05-11 17:59:06 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:06 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:06 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:06 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:06] "POST /v1.0/token HTTP/1.1" 200 347 0.022986 +2011-05-11 17:59:06 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 17:59:06 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:59:06 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:07 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:07] "POST /v1.0/tenants/1234/users HTTP/1.1" 201 254 0.172689 +2011-05-11 17:59:07 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user/password +2011-05-11 17:59:07 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/password', defaults: {'action': u'set_user_password', 'controller': } +2011-05-11 17:59:07 DEBUG [routes.middleware] Match dict: {'action': u'set_user_password', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:07 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:07] "PUT /v1.0/tenants/1234/users/test_user/password HTTP/1.1" 400 192 0.002678 +2011-05-11 17:59:07 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:07 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:07 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:07 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:07] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 204 103 0.116810 +2011-05-11 17:59:07 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:07 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:07 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:07 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:07] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.032277 +2011-05-11 17:59:07 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:07 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:07 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:07 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:07] "POST /v1.0/token HTTP/1.1" 200 347 0.019727 +2011-05-11 17:59:07 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 17:59:07 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:59:07 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:07 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:07] "POST /v1.0/tenants/1234/users HTTP/1.1" 201 277 0.188031 +2011-05-11 17:59:07 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user/password +2011-05-11 17:59:07 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/password', defaults: {'action': u'set_user_password', 'controller': } +2011-05-11 17:59:07 DEBUG [routes.middleware] Match dict: {'action': u'set_user_password', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:07 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:07] "PUT /v1.0/tenants/1234/users/test_user/password HTTP/1.1" 400 325 0.002913 +2011-05-11 17:59:07 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:07 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:07 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:07 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:07] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 204 103 0.132647 +2011-05-11 17:59:07 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:07 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:07 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:07 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:07] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.028458 +2011-05-11 17:59:07 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:07 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:07 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:07 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:07] "POST /v1.0/token HTTP/1.1" 200 347 0.018402 +2011-05-11 17:59:07 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user/password +2011-05-11 17:59:07 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/password', defaults: {'action': u'set_user_password', 'controller': } +2011-05-11 17:59:07 DEBUG [routes.middleware] Match dict: {'action': u'set_user_password', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:07 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:07] "PUT /v1.0/tenants/1234/users/test_user/password HTTP/1.1" 403 214 0.026302 +2011-05-11 17:59:07 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:07 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:07 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:07 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:07] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.033309 +2011-05-11 17:59:07 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:07 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:07 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:07 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:07] "POST /v1.0/token HTTP/1.1" 200 347 0.021391 +2011-05-11 17:59:07 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user/password +2011-05-11 17:59:07 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/password', defaults: {'action': u'set_user_password', 'controller': } +2011-05-11 17:59:07 DEBUG [routes.middleware] Match dict: {'action': u'set_user_password', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:07 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:07] "PUT /v1.0/tenants/1234/users/test_user/password HTTP/1.1" 403 272 0.016674 +2011-05-11 17:59:07 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:07 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:07 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:07 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:07] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.032667 +2011-05-11 17:59:07 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:07 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:07 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:07 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:07] "POST /v1.0/token HTTP/1.1" 200 347 0.019182 +2011-05-11 17:59:07 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user/password +2011-05-11 17:59:07 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/password', defaults: {'action': u'set_user_password', 'controller': } +2011-05-11 17:59:07 DEBUG [routes.middleware] Match dict: {'action': u'set_user_password', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:07 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:07] "PUT /v1.0/tenants/1234/users/test_user/password HTTP/1.1" 403 202 0.022983 +2011-05-11 17:59:07 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:07 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:07 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:07 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:07] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.033881 +2011-05-11 17:59:07 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:07 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:07 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:07 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:07] "POST /v1.0/token HTTP/1.1" 200 347 0.024342 +2011-05-11 17:59:07 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user/password +2011-05-11 17:59:07 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/password', defaults: {'action': u'set_user_password', 'controller': } +2011-05-11 17:59:07 DEBUG [routes.middleware] Match dict: {'action': u'set_user_password', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:07 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:07] "PUT /v1.0/tenants/1234/users/test_user/password HTTP/1.1" 403 257 0.016169 +2011-05-11 17:59:07 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:07 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:07 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:07 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:07] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.028500 +2011-05-11 17:59:07 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:07 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:07 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:07 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:07] "POST /v1.0/token HTTP/1.1" 200 347 0.029099 +2011-05-11 17:59:07 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user/password +2011-05-11 17:59:07 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/password', defaults: {'action': u'set_user_password', 'controller': } +2011-05-11 17:59:07 DEBUG [routes.middleware] Match dict: {'action': u'set_user_password', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:07 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:07] "PUT /v1.0/tenants/1234/users/test_user/password HTTP/1.1" 404 210 0.008881 +2011-05-11 17:59:07 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:07 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:07 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:07 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:07] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.032115 +2011-05-11 17:59:07 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:07 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:07 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:08 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:08] "POST /v1.0/token HTTP/1.1" 200 347 0.030432 +2011-05-11 17:59:08 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user/password +2011-05-11 17:59:08 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/password', defaults: {'action': u'set_user_password', 'controller': } +2011-05-11 17:59:08 DEBUG [routes.middleware] Match dict: {'action': u'set_user_password', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:08 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:08] "PUT /v1.0/tenants/1234/users/test_user/password HTTP/1.1" 404 268 0.007054 +2011-05-11 17:59:08 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:08 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:08 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:08 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:08] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.036268 +2011-05-11 17:59:08 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:08 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:08 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:08 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:08] "POST /v1.0/token HTTP/1.1" 200 347 0.021251 +2011-05-11 17:59:08 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 17:59:08 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:59:08 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:08 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:08] "POST /v1.0/tenants/1234/users HTTP/1.1" 201 254 0.174746 +2011-05-11 17:59:08 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user/password +2011-05-11 17:59:08 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/password', defaults: {'action': u'set_user_password', 'controller': } +2011-05-11 17:59:08 DEBUG [routes.middleware] Match dict: {'action': u'set_user_password', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:08 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:08] "PUT /v1.0/tenants/1234/users/test_user/password HTTP/1.1" 200 175 0.130581 +2011-05-11 17:59:08 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:08 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:08 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:08 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:08] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 204 103 0.122236 +2011-05-11 17:59:08 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:08 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:08 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:08 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:08] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.031943 +2011-05-11 17:59:08 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:08 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:08 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:08 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:08] "POST /v1.0/token HTTP/1.1" 200 347 0.018398 +2011-05-11 17:59:08 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user/password +2011-05-11 17:59:08 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/password', defaults: {'action': u'set_user_password', 'controller': } +2011-05-11 17:59:08 DEBUG [routes.middleware] Match dict: {'action': u'set_user_password', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:08 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:08] "PUT /v1.0/tenants/1234/users/test_user/password HTTP/1.1" 401 194 0.002473 +2011-05-11 17:59:08 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:08 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:08 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:08 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:08] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.028077 +2011-05-11 17:59:08 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:08 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:08 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:08 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:08] "POST /v1.0/token HTTP/1.1" 200 347 0.020794 +2011-05-11 17:59:08 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user/password +2011-05-11 17:59:08 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/password', defaults: {'action': u'set_user_password', 'controller': } +2011-05-11 17:59:08 DEBUG [routes.middleware] Match dict: {'action': u'set_user_password', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:08 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:08] "PUT /v1.0/tenants/1234/users/test_user/password HTTP/1.1" 401 252 0.007800 +2011-05-11 17:59:08 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:08 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:08 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:08 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:08] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.029681 +2011-05-11 17:59:08 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:08 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:08 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:08 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:08] "POST /v1.0/token HTTP/1.1" 200 347 0.019239 +2011-05-11 17:59:08 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/disabled/password +2011-05-11 17:59:08 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/password', defaults: {'action': u'set_user_password', 'controller': } +2011-05-11 17:59:08 DEBUG [routes.middleware] Match dict: {'action': u'set_user_password', 'tenant_id': u'1234', 'controller': , 'user_id': u'disabled'} +2011-05-11 17:59:08 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:08] "PUT /v1.0/tenants/1234/users/disabled/password HTTP/1.1" 403 200 0.020057 +2011-05-11 17:59:08 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:08 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:08 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:08 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:08] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.018801 +2011-05-11 17:59:08 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:08 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:08 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:08 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:08] "POST /v1.0/token HTTP/1.1" 200 347 0.016583 +2011-05-11 17:59:08 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/disabled +2011-05-11 17:59:08 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'update_user', 'controller': } +2011-05-11 17:59:08 DEBUG [routes.middleware] Match dict: {'action': u'update_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'disabled'} +2011-05-11 17:59:08 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:08] "PUT /v1.0/tenants/1234/users/disabled HTTP/1.1" 403 258 0.018110 +2011-05-11 17:59:08 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:08 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:08 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:08 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:08] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.016287 +2011-05-11 17:59:08 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:08 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:08 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:08 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:08] "POST /v1.0/token HTTP/1.1" 200 347 0.012013 +2011-05-11 17:59:08 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 17:59:08 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:59:08 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:08 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:08] "POST /v1.0/tenants/1234/users HTTP/1.1" 201 277 0.158618 +2011-05-11 17:59:08 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user/password +2011-05-11 17:59:08 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/password', defaults: {'action': u'set_user_password', 'controller': } +2011-05-11 17:59:08 DEBUG [routes.middleware] Match dict: {'action': u'set_user_password', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:09 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:09] "PUT /v1.0/tenants/1234/users/test_user/password HTTP/1.1" 200 212 0.114714 +2011-05-11 17:59:09 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:09 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:09 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:09 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:09] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 204 103 0.130556 +2011-05-11 17:59:09 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:09 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:09 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:09 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:09] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.035169 +2011-05-11 17:59:09 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:09 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:09 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:09 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:09] "POST /v1.0/token HTTP/1.1" 200 347 0.021342 +2011-05-11 17:59:09 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 17:59:09 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:59:09 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:09 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:09] "POST /v1.0/tenants/1234/users HTTP/1.1" 201 254 0.161442 +2011-05-11 17:59:09 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:09 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'update_user', 'controller': } +2011-05-11 17:59:09 DEBUG [routes.middleware] Match dict: {'action': u'update_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:09 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:09] "PUT /v1.0/tenants/1234/users/test_user HTTP/1.1" 400 192 0.002375 +2011-05-11 17:59:09 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:09 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:09 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:09 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:09] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 204 103 0.124377 +2011-05-11 17:59:09 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:09 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:09 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:09 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:09] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.038730 +2011-05-11 17:59:09 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:09 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:09 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:09 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:09] "POST /v1.0/token HTTP/1.1" 200 347 0.023944 +2011-05-11 17:59:09 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 17:59:09 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:59:09 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:09 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:09] "POST /v1.0/tenants/1234/users HTTP/1.1" 201 277 0.167024 +2011-05-11 17:59:09 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:09 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'update_user', 'controller': } +2011-05-11 17:59:09 DEBUG [routes.middleware] Match dict: {'action': u'update_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:09 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:09] "PUT /v1.0/tenants/1234/users/test_user HTTP/1.1" 400 325 0.002463 +2011-05-11 17:59:09 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:09 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:09 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:09 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:09] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 204 103 0.132506 +2011-05-11 17:59:09 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:09 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:09 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:09 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:09] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.028670 +2011-05-11 17:59:09 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:09 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:09 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:10 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:10] "POST /v1.0/token HTTP/1.1" 200 347 0.019818 +2011-05-11 17:59:10 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:10 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'update_user', 'controller': } +2011-05-11 17:59:10 DEBUG [routes.middleware] Match dict: {'action': u'update_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:10 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:10] "PUT /v1.0/tenants/1234/users/test_user HTTP/1.1" 403 214 0.021107 +2011-05-11 17:59:10 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:10 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:10 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:10 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:10] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.030936 +2011-05-11 17:59:10 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:10 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:10 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:10 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:10] "POST /v1.0/token HTTP/1.1" 200 347 0.023359 +2011-05-11 17:59:10 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:10 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'update_user', 'controller': } +2011-05-11 17:59:10 DEBUG [routes.middleware] Match dict: {'action': u'update_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:10 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:10] "PUT /v1.0/tenants/1234/users/test_user HTTP/1.1" 403 272 0.015665 +2011-05-11 17:59:10 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:10 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:10 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:10 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:10] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.025274 +2011-05-11 17:59:10 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:10 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:10 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:10 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:10] "POST /v1.0/token HTTP/1.1" 200 347 0.013782 +2011-05-11 17:59:10 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 17:59:10 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:59:10 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:10 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:10] "POST /v1.0/tenants/1234/users HTTP/1.1" 201 277 0.149923 +2011-05-11 17:59:10 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:10 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'update_user', 'controller': } +2011-05-11 17:59:10 DEBUG [routes.middleware] Match dict: {'action': u'update_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:10 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:10] "PUT /v1.0/tenants/1234/users/test_user HTTP/1.1" 409 198 0.049742 +2011-05-11 17:59:10 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:10 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:10 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:10 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:10] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 204 103 0.129263 +2011-05-11 17:59:10 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:10 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:10 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:10 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:10] "POST /v1.0/token HTTP/1.1" 200 347 0.059369 +2011-05-11 17:59:10 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 17:59:10 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:59:10 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:10 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:10] "POST /v1.0/tenants/1234/users HTTP/1.1" 201 277 0.174973 +2011-05-11 17:59:10 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:10 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'update_user', 'controller': } +2011-05-11 17:59:10 DEBUG [routes.middleware] Match dict: {'action': u'update_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:10 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:10] "PUT /v1.0/tenants/1234/users/test_user HTTP/1.1" 409 257 0.038704 +2011-05-11 17:59:10 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:10 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:10 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:10 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:10] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 204 103 0.122655 +2011-05-11 17:59:10 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:10 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:10 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:10 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:10] "POST /v1.0/token HTTP/1.1" 200 347 0.023139 +2011-05-11 17:59:10 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:10 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'update_user', 'controller': } +2011-05-11 17:59:10 DEBUG [routes.middleware] Match dict: {'action': u'update_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:10 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:10] "PUT /v1.0/tenants/1234/users/test_user HTTP/1.1" 403 202 0.022251 +2011-05-11 17:59:10 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:10 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:10 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:10 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:10] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.040960 +2011-05-11 17:59:11 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:11 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:11 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:11 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:11] "POST /v1.0/token HTTP/1.1" 200 347 0.039029 +2011-05-11 17:59:11 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:11 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'update_user', 'controller': } +2011-05-11 17:59:11 DEBUG [routes.middleware] Match dict: {'action': u'update_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:11 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:11] "PUT /v1.0/tenants/1234/users/test_user HTTP/1.1" 403 257 0.020943 +2011-05-11 17:59:11 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:11 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:11 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:11 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:11] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.032173 +2011-05-11 17:59:11 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:11 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:11 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:11 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:11] "POST /v1.0/token HTTP/1.1" 200 347 0.023824 +2011-05-11 17:59:11 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:11 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'update_user', 'controller': } +2011-05-11 17:59:11 DEBUG [routes.middleware] Match dict: {'action': u'update_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:11 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:11] "PUT /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 210 0.007643 +2011-05-11 17:59:11 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:11 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:11 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:11 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:11] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.033823 +2011-05-11 17:59:11 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:11 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:11 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:11 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:11] "POST /v1.0/token HTTP/1.1" 200 347 0.020269 +2011-05-11 17:59:11 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:11 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'update_user', 'controller': } +2011-05-11 17:59:11 DEBUG [routes.middleware] Match dict: {'action': u'update_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:11 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:11] "PUT /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 268 0.010057 +2011-05-11 17:59:11 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:11 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:11 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:11 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:11] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.031751 +2011-05-11 17:59:11 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:11 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:11 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:11 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:11] "POST /v1.0/token HTTP/1.1" 200 347 0.026800 +2011-05-11 17:59:11 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 17:59:11 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:59:11 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:11 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:11] "POST /v1.0/tenants/1234/users HTTP/1.1" 201 254 0.153684 +2011-05-11 17:59:11 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:11 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'update_user', 'controller': } +2011-05-11 17:59:11 DEBUG [routes.middleware] Match dict: {'action': u'update_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:11 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:11] "PUT /v1.0/tenants/1234/users/test_user HTTP/1.1" 200 254 0.112198 +2011-05-11 17:59:11 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:11 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:11 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:11 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:11] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 204 103 0.125171 +2011-05-11 17:59:11 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:11 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:11 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:11 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:11] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.030606 +2011-05-11 17:59:11 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:11 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:11 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:11 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:11] "POST /v1.0/token HTTP/1.1" 200 347 0.026432 +2011-05-11 17:59:11 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:11 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'update_user', 'controller': } +2011-05-11 17:59:11 DEBUG [routes.middleware] Match dict: {'action': u'update_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:11 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:11] "PUT /v1.0/tenants/1234/users/test_user HTTP/1.1" 401 194 0.004393 +2011-05-11 17:59:11 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:11 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:11 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:11 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:11] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.034020 +2011-05-11 17:59:11 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:11 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:11 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:11 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:11] "POST /v1.0/token HTTP/1.1" 200 347 0.021950 +2011-05-11 17:59:11 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:11 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'update_user', 'controller': } +2011-05-11 17:59:11 DEBUG [routes.middleware] Match dict: {'action': u'update_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:11 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:11] "PUT /v1.0/tenants/1234/users/test_user HTTP/1.1" 401 252 0.004452 +2011-05-11 17:59:11 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:11 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:11 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:11 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:11] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.027884 +2011-05-11 17:59:11 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:11 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:11 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:11 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:11] "POST /v1.0/token HTTP/1.1" 200 347 0.022140 +2011-05-11 17:59:11 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/disabled +2011-05-11 17:59:11 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'update_user', 'controller': } +2011-05-11 17:59:11 DEBUG [routes.middleware] Match dict: {'action': u'update_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'disabled'} +2011-05-11 17:59:11 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:11] "PUT /v1.0/tenants/1234/users/disabled HTTP/1.1" 403 200 0.030833 +2011-05-11 17:59:11 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:11 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:11 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:11 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:11] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.028643 +2011-05-11 17:59:11 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:11 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:11 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:11 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:11] "POST /v1.0/token HTTP/1.1" 200 347 0.023303 +2011-05-11 17:59:11 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/disabled +2011-05-11 17:59:11 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'update_user', 'controller': } +2011-05-11 17:59:11 DEBUG [routes.middleware] Match dict: {'action': u'update_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'disabled'} +2011-05-11 17:59:11 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:11] "PUT /v1.0/tenants/1234/users/disabled HTTP/1.1" 403 258 0.035004 +2011-05-11 17:59:11 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:11 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:11 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:12 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:12] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.036710 +2011-05-11 17:59:12 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:12 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:12 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:12 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:12] "POST /v1.0/token HTTP/1.1" 200 347 0.023986 +2011-05-11 17:59:12 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 17:59:12 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:59:12 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:12 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:12] "POST /v1.0/tenants/1234/users HTTP/1.1" 201 277 0.166794 +2011-05-11 17:59:12 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:12 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'update_user', 'controller': } +2011-05-11 17:59:12 DEBUG [routes.middleware] Match dict: {'action': u'update_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:12 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:12] "PUT /v1.0/tenants/1234/users/test_user HTTP/1.1" 200 279 0.118384 +2011-05-11 17:59:12 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:12 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:12 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:12 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:12] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 204 103 0.116786 +2011-05-11 17:59:12 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 17:59:12 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:12 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:12 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:12] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.043597 +2011-05-11 17:59:33 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:33 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:33 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:33 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:33] "POST /v1.0/token HTTP/1.1" 200 347 0.021793 +2011-05-11 17:59:33 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:59:33 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:33 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:33 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:33] "POST /v1.0/tenants HTTP/1.1" 201 214 0.123747 +2011-05-11 17:59:33 DEBUG [routes.middleware] Matched POST /v1.0/tenant/test_tenant/groups +2011-05-11 17:59:33 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 17:59:33 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 17:59:33 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:33] "POST /v1.0/tenant/test_tenant/groups HTTP/1.1" 201 234 0.097166 +2011-05-11 17:59:33 DEBUG [routes.middleware] Matched POST /v1.0/tenants/test_tenant/users +2011-05-11 17:59:33 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:59:33 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 17:59:33 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:33] "POST /v1.0/tenants/test_tenant/users HTTP/1.1" 201 261 0.179335 +2011-05-11 17:59:33 DEBUG [routes.middleware] No route matched for PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 17:59:33 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:33] "PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.001174 +2011-05-11 17:59:33 DEBUG [routes.middleware] No route matched for DELETE /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 17:59:33 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:33] "DELETE /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.001166 +2011-05-11 17:59:33 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant/users/test_user +2011-05-11 17:59:33 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:33 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'test_tenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:33 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:33] "DELETE /v1.0/tenants/test_tenant/users/test_user HTTP/1.1" 204 103 0.120963 +2011-05-11 17:59:33 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/test_tenant/groups/test_tenant_group_add +2011-05-11 17:59:33 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:33 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'test_tenant', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:33 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:33] "DELETE /v1.0/tenant/test_tenant/groups/test_tenant_group_add HTTP/1.1" 204 103 0.097434 +2011-05-11 17:59:33 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant +2011-05-11 17:59:33 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:59:33 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 17:59:33 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:33] "DELETE /v1.0/tenants/test_tenant HTTP/1.1" 204 103 0.089181 +2011-05-11 17:59:33 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:33 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:33 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:33 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:33] "POST /v1.0/token HTTP/1.1" 200 347 0.022247 +2011-05-11 17:59:33 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:59:33 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:33 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:33 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:33] "POST /v1.0/tenants HTTP/1.1" 201 214 0.088353 +2011-05-11 17:59:33 DEBUG [routes.middleware] Matched POST /v1.0/tenant/test_tenant/groups +2011-05-11 17:59:33 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 17:59:33 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 17:59:34 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:34] "POST /v1.0/tenant/test_tenant/groups HTTP/1.1" 201 234 0.088992 +2011-05-11 17:59:34 DEBUG [routes.middleware] Matched POST /v1.0/tenants/test_tenant/users +2011-05-11 17:59:34 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:59:34 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 17:59:34 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:34] "POST /v1.0/tenants/test_tenant/users HTTP/1.1" 201 261 0.172074 +2011-05-11 17:59:34 DEBUG [routes.middleware] No route matched for PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 17:59:34 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:34] "PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.001224 +2011-05-11 17:59:34 DEBUG [routes.middleware] No route matched for PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 17:59:34 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:34] "PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.001255 +2011-05-11 17:59:34 DEBUG [routes.middleware] No route matched for DELETE /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 17:59:34 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:34] "DELETE /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.001200 +2011-05-11 17:59:34 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant/users/test_user +2011-05-11 17:59:34 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:34 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'test_tenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:34 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:34] "DELETE /v1.0/tenants/test_tenant/users/test_user HTTP/1.1" 204 103 0.115681 +2011-05-11 17:59:34 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/test_tenant/groups/test_tenant_group_add +2011-05-11 17:59:34 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:34 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'test_tenant', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:34 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:34] "DELETE /v1.0/tenant/test_tenant/groups/test_tenant_group_add HTTP/1.1" 204 103 0.097669 +2011-05-11 17:59:34 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant +2011-05-11 17:59:34 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:59:34 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 17:59:34 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:34] "DELETE /v1.0/tenants/test_tenant HTTP/1.1" 204 103 0.097235 +2011-05-11 17:59:34 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:34 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:34 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:34 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:34] "POST /v1.0/token HTTP/1.1" 200 347 0.027807 +2011-05-11 17:59:34 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:59:34 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:34 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:34 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:34] "POST /v1.0/tenants HTTP/1.1" 201 214 0.093483 +2011-05-11 17:59:34 DEBUG [routes.middleware] Matched POST /v1.0/tenant/test_tenant/groups +2011-05-11 17:59:34 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 17:59:34 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 17:59:34 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:34] "POST /v1.0/tenant/test_tenant/groups HTTP/1.1" 201 234 0.088473 +2011-05-11 17:59:34 DEBUG [routes.middleware] Matched POST /v1.0/tenants/test_tenant/users +2011-05-11 17:59:34 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:59:34 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 17:59:34 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:34] "POST /v1.0/tenants/test_tenant/users HTTP/1.1" 201 261 0.163492 +2011-05-11 17:59:34 DEBUG [routes.middleware] No route matched for PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 17:59:34 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:34] "PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.001285 +2011-05-11 17:59:34 DEBUG [routes.middleware] No route matched for PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 17:59:34 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:34] "PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.001298 +2011-05-11 17:59:34 DEBUG [routes.middleware] No route matched for DELETE /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 17:59:34 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:34] "DELETE /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.001200 +2011-05-11 17:59:34 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant/users/test_user +2011-05-11 17:59:34 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:34 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'test_tenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:35 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:35] "DELETE /v1.0/tenants/test_tenant/users/test_user HTTP/1.1" 204 103 0.132881 +2011-05-11 17:59:35 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/test_tenant/groups/test_tenant_group_add +2011-05-11 17:59:35 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:35 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'test_tenant', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:35 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:35] "DELETE /v1.0/tenant/test_tenant/groups/test_tenant_group_add HTTP/1.1" 204 103 0.105033 +2011-05-11 17:59:35 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant +2011-05-11 17:59:35 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:59:35 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 17:59:35 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:35] "DELETE /v1.0/tenants/test_tenant HTTP/1.1" 204 103 0.095958 +2011-05-11 17:59:35 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:35 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:35 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:35 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:35] "POST /v1.0/token HTTP/1.1" 200 347 0.023179 +2011-05-11 17:59:35 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:59:35 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:35 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:35 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:35] "POST /v1.0/tenants HTTP/1.1" 201 214 0.087321 +2011-05-11 17:59:35 DEBUG [routes.middleware] Matched POST /v1.0/tenant/test_tenant/groups +2011-05-11 17:59:35 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 17:59:35 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 17:59:35 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:35] "POST /v1.0/tenant/test_tenant/groups HTTP/1.1" 201 234 0.107123 +2011-05-11 17:59:35 DEBUG [routes.middleware] Matched POST /v1.0/tenants/test_tenant/users +2011-05-11 17:59:35 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:59:35 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 17:59:35 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:35] "POST /v1.0/tenants/test_tenant/users HTTP/1.1" 201 261 0.167978 +2011-05-11 17:59:35 DEBUG [routes.middleware] No route matched for PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 17:59:35 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:35] "PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.000780 +2011-05-11 17:59:35 DEBUG [routes.middleware] No route matched for DELETE /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 17:59:35 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:35] "DELETE /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.000735 +2011-05-11 17:59:35 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant/users/test_user +2011-05-11 17:59:35 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:35 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'test_tenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:35 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:35] "DELETE /v1.0/tenants/test_tenant/users/test_user HTTP/1.1" 204 103 0.093675 +2011-05-11 17:59:35 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/test_tenant/groups/test_tenant_group_add +2011-05-11 17:59:35 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:35 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'test_tenant', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:35 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:35] "DELETE /v1.0/tenant/test_tenant/groups/test_tenant_group_add HTTP/1.1" 204 103 0.081984 +2011-05-11 17:59:35 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant +2011-05-11 17:59:35 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:59:35 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 17:59:36 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:36] "DELETE /v1.0/tenants/test_tenant HTTP/1.1" 204 103 0.114122 +2011-05-11 17:59:36 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:36 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:36 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:36 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:36] "POST /v1.0/token HTTP/1.1" 200 347 0.045087 +2011-05-11 17:59:36 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:59:36 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:36 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:36 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:36] "POST /v1.0/tenants HTTP/1.1" 201 214 0.201135 +2011-05-11 17:59:36 DEBUG [routes.middleware] Matched POST /v1.0/tenant/test_tenant/groups +2011-05-11 17:59:36 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 17:59:36 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 17:59:36 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:36] "POST /v1.0/tenant/test_tenant/groups HTTP/1.1" 201 234 0.196136 +2011-05-11 17:59:36 DEBUG [routes.middleware] Matched POST /v1.0/tenants/test_tenant/users +2011-05-11 17:59:36 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:59:36 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 17:59:36 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:36] "POST /v1.0/tenants/test_tenant/users HTTP/1.1" 201 261 0.188977 +2011-05-11 17:59:36 DEBUG [routes.middleware] No route matched for PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 17:59:36 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:36] "PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.001194 +2011-05-11 17:59:36 DEBUG [routes.middleware] No route matched for DELETE /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 17:59:36 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:36] "DELETE /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.001117 +2011-05-11 17:59:36 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant/users/test_user +2011-05-11 17:59:36 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:36 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'test_tenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:36 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:36] "DELETE /v1.0/tenants/test_tenant/users/test_user HTTP/1.1" 204 103 0.121520 +2011-05-11 17:59:36 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/test_tenant/groups/test_tenant_group_add +2011-05-11 17:59:36 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:36 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'test_tenant', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:36 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:36] "DELETE /v1.0/tenant/test_tenant/groups/test_tenant_group_add HTTP/1.1" 204 103 0.098605 +2011-05-11 17:59:36 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant +2011-05-11 17:59:36 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:59:36 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 17:59:37 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:37] "DELETE /v1.0/tenants/test_tenant HTTP/1.1" 204 103 0.097005 +2011-05-11 17:59:37 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:37 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:37 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:37 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:37] "POST /v1.0/token HTTP/1.1" 200 347 0.021411 +2011-05-11 17:59:37 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:59:37 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:37 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:37 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:37] "POST /v1.0/tenants HTTP/1.1" 201 214 0.089726 +2011-05-11 17:59:37 DEBUG [routes.middleware] Matched POST /v1.0/tenant/test_tenant/groups +2011-05-11 17:59:37 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 17:59:37 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 17:59:37 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:37] "POST /v1.0/tenant/test_tenant/groups HTTP/1.1" 201 234 0.088928 +2011-05-11 17:59:37 DEBUG [routes.middleware] Matched POST /v1.0/tenants/test_tenant/users +2011-05-11 17:59:37 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:59:37 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 17:59:37 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:37] "POST /v1.0/tenants/test_tenant/users HTTP/1.1" 201 261 0.163733 +2011-05-11 17:59:37 DEBUG [routes.middleware] No route matched for PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 17:59:37 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:37] "PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.005601 +2011-05-11 17:59:37 DEBUG [routes.middleware] No route matched for DELETE /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 17:59:37 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:37] "DELETE /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.002510 +2011-05-11 17:59:37 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant/users/test_user +2011-05-11 17:59:37 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:37 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'test_tenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:37 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:37] "DELETE /v1.0/tenants/test_tenant/users/test_user HTTP/1.1" 204 103 0.116694 +2011-05-11 17:59:37 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/test_tenant/groups/test_tenant_group_add +2011-05-11 17:59:37 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:37 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'test_tenant', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:37 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:37] "DELETE /v1.0/tenant/test_tenant/groups/test_tenant_group_add HTTP/1.1" 204 103 0.097519 +2011-05-11 17:59:37 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant +2011-05-11 17:59:37 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:59:37 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 17:59:37 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:37] "DELETE /v1.0/tenants/test_tenant HTTP/1.1" 204 103 0.098673 +2011-05-11 17:59:37 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:37 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:37 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:37 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:37] "POST /v1.0/token HTTP/1.1" 200 347 0.021195 +2011-05-11 17:59:37 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:59:37 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:37 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:37 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:37] "POST /v1.0/tenants HTTP/1.1" 201 214 0.089587 +2011-05-11 17:59:37 DEBUG [routes.middleware] Matched POST /v1.0/tenant/test_tenant/groups +2011-05-11 17:59:37 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 17:59:37 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 17:59:37 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:37] "POST /v1.0/tenant/test_tenant/groups HTTP/1.1" 201 234 0.089099 +2011-05-11 17:59:37 DEBUG [routes.middleware] Matched POST /v1.0/tenants/test_tenant/users +2011-05-11 17:59:37 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:59:37 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 17:59:38 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:38] "POST /v1.0/tenants/test_tenant/users HTTP/1.1" 201 261 0.163553 +2011-05-11 17:59:38 DEBUG [routes.middleware] No route matched for PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 17:59:38 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:38] "PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.001258 +2011-05-11 17:59:38 DEBUG [routes.middleware] No route matched for DELETE /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 17:59:38 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:38] "DELETE /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.001485 +2011-05-11 17:59:38 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant/users/test_user +2011-05-11 17:59:38 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:38 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'test_tenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:38 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:38] "DELETE /v1.0/tenants/test_tenant/users/test_user HTTP/1.1" 204 103 0.113973 +2011-05-11 17:59:38 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/test_tenant/groups/test_tenant_group_add +2011-05-11 17:59:38 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:38 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'test_tenant', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:38 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:38] "DELETE /v1.0/tenant/test_tenant/groups/test_tenant_group_add HTTP/1.1" 204 103 0.097345 +2011-05-11 17:59:38 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant +2011-05-11 17:59:38 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:59:38 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 17:59:38 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:38] "DELETE /v1.0/tenants/test_tenant HTTP/1.1" 204 103 0.097490 +2011-05-11 17:59:38 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:38 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:38 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:38 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:38] "POST /v1.0/token HTTP/1.1" 200 347 0.022771 +2011-05-11 17:59:38 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:59:38 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:38 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:38 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:38] "POST /v1.0/tenants HTTP/1.1" 201 214 0.091483 +2011-05-11 17:59:38 DEBUG [routes.middleware] Matched POST /v1.0/tenant/test_tenant/groups +2011-05-11 17:59:38 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 17:59:38 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 17:59:38 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:38] "POST /v1.0/tenant/test_tenant/groups HTTP/1.1" 201 234 0.088032 +2011-05-11 17:59:38 DEBUG [routes.middleware] Matched POST /v1.0/tenants/test_tenant/users +2011-05-11 17:59:38 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:59:38 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 17:59:38 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:38] "POST /v1.0/tenants/test_tenant/users HTTP/1.1" 201 261 0.172821 +2011-05-11 17:59:38 DEBUG [routes.middleware] No route matched for PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 17:59:38 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:38] "PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.001291 +2011-05-11 17:59:38 DEBUG [routes.middleware] No route matched for DELETE /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 17:59:38 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:38] "DELETE /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.001171 +2011-05-11 17:59:38 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant/users/test_user +2011-05-11 17:59:38 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:38 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'test_tenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:38 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:38] "DELETE /v1.0/tenants/test_tenant/users/test_user HTTP/1.1" 204 103 0.120829 +2011-05-11 17:59:38 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/test_tenant/groups/test_tenant_group_add +2011-05-11 17:59:38 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:38 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'test_tenant', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:39 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:39] "DELETE /v1.0/tenant/test_tenant/groups/test_tenant_group_add HTTP/1.1" 204 103 0.097483 +2011-05-11 17:59:39 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant +2011-05-11 17:59:39 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:59:39 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 17:59:39 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:39] "DELETE /v1.0/tenants/test_tenant HTTP/1.1" 204 103 0.105578 +2011-05-11 17:59:39 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:39 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:39 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:39 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:39] "POST /v1.0/token HTTP/1.1" 200 347 0.022142 +2011-05-11 17:59:39 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:59:39 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:59:39 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:39 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:39] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.020726 +2011-05-11 17:59:39 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:59:39 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:39 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:39 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:39] "POST /v1.0/tenants HTTP/1.1" 409 215 0.027227 +2011-05-11 17:59:39 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 17:59:39 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:39 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:39 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:39] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 404 204 0.024514 +2011-05-11 17:59:39 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 17:59:39 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 17:59:39 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:39 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:39] "POST /v1.0/tenant/1234/groups HTTP/1.1" 201 226 0.097227 +2011-05-11 17:59:39 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 17:59:39 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:39 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:39 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:39] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 204 103 0.104638 +2011-05-11 17:59:39 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:59:39 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:59:39 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:39 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:39] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.025205 +2011-05-11 17:59:39 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:39 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:39 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:39 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:39] "POST /v1.0/token HTTP/1.1" 200 347 0.019141 +2011-05-11 17:59:39 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:59:39 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:39 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:39 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:39] "POST /v1.0/tenants HTTP/1.1" 409 215 0.027793 +2011-05-11 17:59:39 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 17:59:39 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 17:59:39 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:39 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:39] "POST /v1.0/tenant/1234/groups HTTP/1.1" 201 226 0.091189 +2011-05-11 17:59:39 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 17:59:39 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 17:59:39 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:39 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:39] "POST /v1.0/tenant/1234/groups HTTP/1.1" 409 226 0.022799 +2011-05-11 17:59:39 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 17:59:39 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:39 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:39 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:39] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 204 103 0.096320 +2011-05-11 17:59:39 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:59:39 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:59:39 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:39 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:39] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.025071 +2011-05-11 17:59:39 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:39 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:39 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:39 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:39] "POST /v1.0/token HTTP/1.1" 200 347 0.020327 +2011-05-11 17:59:39 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:59:39 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:39 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:39 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:39] "POST /v1.0/tenants HTTP/1.1" 201 267 0.095368 +2011-05-11 17:59:39 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 17:59:39 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 17:59:39 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:40] "POST /v1.0/tenant/1234/groups HTTP/1.1" 201 276 0.097095 +2011-05-11 17:59:40 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 17:59:40 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 17:59:40 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:40] "POST /v1.0/tenant/1234/groups HTTP/1.1" 409 291 0.030042 +2011-05-11 17:59:40 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 17:59:40 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:40 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:40] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 204 103 0.089864 +2011-05-11 17:59:40 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:59:40 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:59:40 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:40] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.024773 +2011-05-11 17:59:40 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:40 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:40 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:40] "POST /v1.0/token HTTP/1.1" 200 347 0.019521 +2011-05-11 17:59:40 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:59:40 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:40 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:40] "POST /v1.0/tenants HTTP/1.1" 409 215 0.023178 +2011-05-11 17:59:40 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 17:59:40 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 17:59:40 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:40] "POST /v1.0/tenant/1234/groups HTTP/1.1" 403 214 0.021481 +2011-05-11 17:59:40 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 17:59:40 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:40 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:40] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 404 204 0.023907 +2011-05-11 17:59:40 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:59:40 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:59:40 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:40] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.022454 +2011-05-11 17:59:40 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:40 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:40 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:40] "POST /v1.0/token HTTP/1.1" 200 347 0.022675 +2011-05-11 17:59:40 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:59:40 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:40 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:40] "POST /v1.0/tenants HTTP/1.1" 409 275 0.025563 +2011-05-11 17:59:40 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 17:59:40 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 17:59:40 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:40] "POST /v1.0/tenant/1234/groups HTTP/1.1" 403 272 0.016563 +2011-05-11 17:59:40 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 17:59:40 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:40 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:40] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 404 204 0.022804 +2011-05-11 17:59:40 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:59:40 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:59:40 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:40] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.024815 +2011-05-11 17:59:40 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:40 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:40 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:40] "POST /v1.0/token HTTP/1.1" 200 347 0.033279 +2011-05-11 17:59:40 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:59:40 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:40 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:40] "POST /v1.0/tenants HTTP/1.1" 409 215 0.018580 +2011-05-11 17:59:40 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 17:59:40 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 17:59:40 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:40] "POST /v1.0/tenant/1234/groups HTTP/1.1" 403 202 0.021068 +2011-05-11 17:59:40 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 17:59:40 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:40 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:40] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 404 204 0.021360 +2011-05-11 17:59:40 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:59:40 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:59:40 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:40] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.025030 +2011-05-11 17:59:40 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:40 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:40 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:40] "POST /v1.0/token HTTP/1.1" 200 347 0.019492 +2011-05-11 17:59:40 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:59:40 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:40 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:40] "POST /v1.0/tenants HTTP/1.1" 409 275 0.024367 +2011-05-11 17:59:40 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 17:59:40 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 17:59:40 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:40] "POST /v1.0/tenant/1234/groups HTTP/1.1" 403 257 0.018358 +2011-05-11 17:59:40 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 17:59:40 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:40 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:40] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 404 204 0.028759 +2011-05-11 17:59:40 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:59:40 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:59:40 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:40] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.022496 +2011-05-11 17:59:40 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:40 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:40 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:40] "POST /v1.0/token HTTP/1.1" 200 347 0.022436 +2011-05-11 17:59:40 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:59:40 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:40 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:40] "POST /v1.0/tenants HTTP/1.1" 409 215 0.021635 +2011-05-11 17:59:40 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 17:59:40 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 17:59:40 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:40] "POST /v1.0/tenant/1234/groups HTTP/1.1" 404 210 0.005603 +2011-05-11 17:59:40 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 17:59:40 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:40 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:40] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 404 204 0.029949 +2011-05-11 17:59:40 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:59:40 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:59:40 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:40] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.024418 +2011-05-11 17:59:40 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:40 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:40 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:40] "POST /v1.0/token HTTP/1.1" 200 347 0.019115 +2011-05-11 17:59:40 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:59:40 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:40 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:40] "POST /v1.0/tenants HTTP/1.1" 409 275 0.021099 +2011-05-11 17:59:40 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 17:59:40 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 17:59:40 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:40] "POST /v1.0/tenant/1234/groups HTTP/1.1" 404 268 0.006219 +2011-05-11 17:59:40 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 17:59:40 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:40 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:40] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 404 204 0.022656 +2011-05-11 17:59:40 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:59:40 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:59:40 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:40] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.022698 +2011-05-11 17:59:40 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:40 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:40 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:40] "POST /v1.0/token HTTP/1.1" 200 347 0.024122 +2011-05-11 17:59:40 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:59:40 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:40 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:40] "POST /v1.0/tenants HTTP/1.1" 409 215 0.027726 +2011-05-11 17:59:40 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 17:59:40 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 17:59:40 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:40] "POST /v1.0/tenant/1234/groups HTTP/1.1" 401 194 0.004064 +2011-05-11 17:59:40 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 17:59:40 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:40 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:40] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 404 204 0.027753 +2011-05-11 17:59:40 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:59:40 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:59:40 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:41 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:41] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.020918 +2011-05-11 17:59:41 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:41 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:41 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:41 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:41] "POST /v1.0/token HTTP/1.1" 200 347 0.022930 +2011-05-11 17:59:41 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:59:41 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:41 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:41 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:41] "POST /v1.0/tenants HTTP/1.1" 409 275 0.027276 +2011-05-11 17:59:41 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 17:59:41 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 17:59:41 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:41 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:41] "POST /v1.0/tenant/1234/groups HTTP/1.1" 401 252 0.005065 +2011-05-11 17:59:41 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 17:59:41 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:41 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:41 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:41] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 404 204 0.024349 +2011-05-11 17:59:41 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:59:41 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:59:41 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:41 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:41] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.021626 +2011-05-11 17:59:41 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:41 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:41 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:41 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:41] "POST /v1.0/token HTTP/1.1" 200 347 0.020034 +2011-05-11 17:59:41 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:59:41 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:41 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:41 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:41] "POST /v1.0/tenants HTTP/1.1" 409 215 0.021583 +2011-05-11 17:59:41 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 17:59:41 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 17:59:41 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:41 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:41] "POST /v1.0/tenant/1234/groups HTTP/1.1" 201 276 0.088431 +2011-05-11 17:59:41 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 17:59:41 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 17:59:41 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:41 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:41] "POST /v1.0/tenant/1234/groups HTTP/1.1" 401 221 0.016441 +2011-05-11 17:59:41 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 17:59:41 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:41 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:41 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:41] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 204 103 0.101334 +2011-05-11 17:59:41 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:59:41 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:59:41 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:41 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:41] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.038041 +2011-05-11 17:59:41 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:41 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:41 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:41 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:41] "POST /v1.0/token HTTP/1.1" 200 347 0.034722 +2011-05-11 17:59:41 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:59:41 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:41 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:41 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:41] "POST /v1.0/tenants HTTP/1.1" 409 215 0.026404 +2011-05-11 17:59:41 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 17:59:41 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 17:59:41 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:41 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:41] "POST /v1.0/tenant/1234/groups HTTP/1.1" 401 279 0.020367 +2011-05-11 17:59:41 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 17:59:41 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:41 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:41 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:41] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 404 204 0.024562 +2011-05-11 17:59:41 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:59:41 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:59:41 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:41 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:41] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.030384 +2011-05-11 17:59:41 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:41 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:41 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:41 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:41] "POST /v1.0/token HTTP/1.1" 200 347 0.020174 +2011-05-11 17:59:41 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:59:41 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:59:41 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:41 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:41] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 287 0.023223 +2011-05-11 17:59:41 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:59:41 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:41 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:41 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:41] "POST /v1.0/tenants HTTP/1.1" 409 275 0.023005 +2011-05-11 17:59:41 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 17:59:41 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:41 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:41 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:41] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 404 262 0.025696 +2011-05-11 17:59:41 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 17:59:41 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 17:59:41 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:41 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:41] "POST /v1.0/tenant/1234/groups HTTP/1.1" 201 276 0.094682 +2011-05-11 17:59:41 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 17:59:41 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:41 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:41 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:41] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 204 103 0.105213 +2011-05-11 17:59:41 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:59:41 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:59:41 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:41 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:41] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.026078 +2011-05-11 17:59:41 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:41 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:41 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:41 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:41] "POST /v1.0/token HTTP/1.1" 200 347 0.024181 +2011-05-11 17:59:41 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:59:41 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:41 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:42 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:42] "POST /v1.0/tenants HTTP/1.1" 201 221 0.100063 +2011-05-11 17:59:42 DEBUG [routes.middleware] Matched POST /v1.0/tenant/test_tenant_delete/groups +2011-05-11 17:59:42 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 17:59:42 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'test_tenant_delete', 'controller': } +2011-05-11 17:59:42 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:42] "POST /v1.0/tenant/test_tenant_delete/groups HTTP/1.1" 201 244 0.097151 +2011-05-11 17:59:42 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/test_tenant_delete/groups/test_tenant_group_delete +2011-05-11 17:59:42 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:42 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'test_tenant_delete', 'controller': , 'group_id': u'test_tenant_group_delete'} +2011-05-11 17:59:42 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:42] "DELETE /v1.0/tenant/test_tenant_delete/groups/test_tenant_group_delete HTTP/1.1" 204 103 0.097921 +2011-05-11 17:59:42 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant_delete +2011-05-11 17:59:42 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:59:42 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'test_tenant_delete', 'controller': } +2011-05-11 17:59:42 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:42] "DELETE /v1.0/tenants/test_tenant_delete HTTP/1.1" 204 103 0.097123 +2011-05-11 17:59:42 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 17:59:42 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:42 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:42 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:42] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 404 204 0.028947 +2011-05-11 17:59:42 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:59:42 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:59:42 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:42 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:42] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.022559 +2011-05-11 17:59:42 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:42 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:42 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:42 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:42] "POST /v1.0/token HTTP/1.1" 200 347 0.024377 +2011-05-11 17:59:42 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_delete111 +2011-05-11 17:59:42 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:42 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_delete111'} +2011-05-11 17:59:42 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:42] "DELETE /v1.0/tenant/1234/groups/test_tenant_delete111 HTTP/1.1" 404 204 0.023115 +2011-05-11 17:59:42 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 17:59:42 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:42 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:42 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:42] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 404 204 0.023679 +2011-05-11 17:59:42 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:59:42 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:59:42 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:42 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:42] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.022559 +2011-05-11 17:59:42 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:42 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:42 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:42 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:42] "POST /v1.0/token HTTP/1.1" 200 347 0.018759 +2011-05-11 17:59:42 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_delete111 +2011-05-11 17:59:42 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:42 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_delete111'} +2011-05-11 17:59:42 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:42] "DELETE /v1.0/tenant/1234/groups/test_tenant_delete111 HTTP/1.1" 404 262 0.025232 +2011-05-11 17:59:42 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 17:59:42 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:42 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:42 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:42] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 404 204 0.031114 +2011-05-11 17:59:42 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:59:42 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:59:42 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:42 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:42] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.024272 +2011-05-11 17:59:42 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:42 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:42 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:42 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:42] "POST /v1.0/token HTTP/1.1" 200 347 0.025324 +2011-05-11 17:59:42 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:59:42 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:42 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:42 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:42] "POST /v1.0/tenants HTTP/1.1" 201 221 0.084246 +2011-05-11 17:59:42 DEBUG [routes.middleware] Matched POST /v1.0/tenant/test_tenant_delete/groups +2011-05-11 17:59:42 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 17:59:42 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'test_tenant_delete', 'controller': } +2011-05-11 17:59:42 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:42] "POST /v1.0/tenant/test_tenant_delete/groups HTTP/1.1" 201 244 0.089131 +2011-05-11 17:59:42 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/test_tenant_delete/groups/test_tenant_group_delete +2011-05-11 17:59:42 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:42 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'test_tenant_delete', 'controller': , 'group_id': u'test_tenant_group_delete'} +2011-05-11 17:59:42 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:42] "DELETE /v1.0/tenant/test_tenant_delete/groups/test_tenant_group_delete HTTP/1.1" 204 103 0.105442 +2011-05-11 17:59:42 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant_delete +2011-05-11 17:59:42 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:59:42 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'test_tenant_delete', 'controller': } +2011-05-11 17:59:43 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:43] "DELETE /v1.0/tenants/test_tenant_delete HTTP/1.1" 204 103 0.105391 +2011-05-11 17:59:43 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 17:59:43 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:43 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:43 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:43] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 404 204 0.060328 +2011-05-11 17:59:43 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:59:43 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:59:43 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:43 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:43] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.022035 +2011-05-11 17:59:43 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:43 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:43 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:43 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:43] "POST /v1.0/token HTTP/1.1" 200 347 0.019865 +2011-05-11 17:59:43 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:59:43 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:43 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:43 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:43] "POST /v1.0/tenants HTTP/1.1" 409 215 0.025938 +2011-05-11 17:59:43 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 17:59:43 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 17:59:43 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:43 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:43] "POST /v1.0/tenant/1234/groups HTTP/1.1" 201 226 0.100914 +2011-05-11 17:59:43 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 17:59:43 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:59:43 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:43 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:43] "POST /v1.0/tenants/1234/users HTTP/1.1" 201 254 0.169711 +2011-05-11 17:59:43 DEBUG [routes.middleware] No route matched for PUT /v1.0/tenants/1234/groups/test_tenant_group_add/users/test_user +2011-05-11 17:59:43 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:43] "PUT /v1.0/tenants/1234/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.001276 +2011-05-11 17:59:43 DEBUG [routes.middleware] No route matched for DELETE /v1.0/tenants/1234/groups/test_tenant_group_add/users/test_user +2011-05-11 17:59:43 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:43] "DELETE /v1.0/tenants/1234/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.001211 +2011-05-11 17:59:43 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 17:59:43 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:43 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:43 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:43] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 204 103 0.105881 +2011-05-11 17:59:43 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:59:43 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:59:43 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:43 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:43] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.028325 +2011-05-11 17:59:43 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:43 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:43 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:43 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:43] "POST /v1.0/token HTTP/1.1" 200 347 0.019574 +2011-05-11 17:59:43 DEBUG [routes.middleware] No route matched for DELETE /v1.0/tenants/1234/groups/test_tenant_group_add/users/NonExistinguser +2011-05-11 17:59:43 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:43] "DELETE /v1.0/tenants/1234/groups/test_tenant_group_add/users/NonExistinguser HTTP/1.1" 404 176 0.001277 +2011-05-11 17:59:43 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 17:59:43 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:43 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:43 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:43] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 404 204 0.025259 +2011-05-11 17:59:43 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:59:43 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:59:43 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:43 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:43] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.026064 +2011-05-11 17:59:43 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:43 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:43 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:43 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:43] "POST /v1.0/token HTTP/1.1" 200 347 0.022632 +2011-05-11 17:59:43 DEBUG [routes.middleware] No route matched for DELETE /v1.0/tenants/1234/groups/test_tenant_group_add/users/NonExistinguser +2011-05-11 17:59:43 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:43] "DELETE /v1.0/tenants/1234/groups/test_tenant_group_add/users/NonExistinguser HTTP/1.1" 404 176 0.001185 +2011-05-11 17:59:43 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 17:59:43 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:43 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:43 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:43] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 404 204 0.022206 +2011-05-11 17:59:43 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:59:43 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:59:43 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:43 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:43] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.029466 +2011-05-11 17:59:43 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:43 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:43 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:43 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:43] "POST /v1.0/token HTTP/1.1" 200 347 0.020489 +2011-05-11 17:59:43 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:59:43 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:43 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:43 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:43] "POST /v1.0/tenants HTTP/1.1" 409 215 0.020555 +2011-05-11 17:59:43 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 17:59:43 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 17:59:43 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:43 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:43] "POST /v1.0/tenant/1234/groups HTTP/1.1" 201 226 0.089467 +2011-05-11 17:59:43 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 17:59:43 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:59:43 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:43 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:43] "POST /v1.0/tenants/1234/users HTTP/1.1" 409 212 0.032515 +2011-05-11 17:59:43 DEBUG [routes.middleware] No route matched for PUT /v1.0/tenants/1234/groups/test_tenant_group_add/users/test_user +2011-05-11 17:59:43 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:43] "PUT /v1.0/tenants/1234/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.001257 +2011-05-11 17:59:43 DEBUG [routes.middleware] No route matched for DELETE /v1.0/tenants/1234/groups/test_tenant_group_add/users/test_user +2011-05-11 17:59:43 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:43] "DELETE /v1.0/tenants/1234/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.001392 +2011-05-11 17:59:43 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 17:59:43 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:43 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:44 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:44] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 204 103 0.093861 +2011-05-11 17:59:44 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:59:44 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:59:44 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:44 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:44] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.022388 +2011-05-11 17:59:44 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:44 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:44 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:44 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:44] "POST /v1.0/token HTTP/1.1" 200 347 0.023166 +2011-05-11 17:59:44 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:59:44 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:44 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:44 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:44] "POST /v1.0/tenants HTTP/1.1" 409 215 0.021284 +2011-05-11 17:59:44 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 17:59:44 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 17:59:44 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:44 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:44] "POST /v1.0/tenant/1234/groups HTTP/1.1" 201 226 0.087735 +2011-05-11 17:59:44 DEBUG [routes.middleware] Matched GET /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 17:59:44 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'get_tenant_group', 'controller': } +2011-05-11 17:59:44 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:44 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:44] "GET /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 200 221 0.029610 +2011-05-11 17:59:44 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 17:59:44 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:44 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:44 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:44] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 204 103 0.105114 +2011-05-11 17:59:44 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:59:44 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:59:44 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:44 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:44] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.026709 +2011-05-11 17:59:44 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:44 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:44 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:44 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:44] "POST /v1.0/token HTTP/1.1" 200 347 0.019949 +2011-05-11 17:59:44 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:59:44 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:44 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:44 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:44] "POST /v1.0/tenants HTTP/1.1" 409 215 0.020895 +2011-05-11 17:59:44 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 17:59:44 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 17:59:44 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:44 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:44] "POST /v1.0/tenant/1234/groups HTTP/1.1" 201 226 0.095628 +2011-05-11 17:59:44 DEBUG [routes.middleware] Matched GET /v1.0/tenant/tenant_bad/groups/test_tenant_group_add +2011-05-11 17:59:44 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'get_tenant_group', 'controller': } +2011-05-11 17:59:44 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant_group', 'tenant_id': u'tenant_bad', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:44 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:44] "GET /v1.0/tenant/tenant_bad/groups/test_tenant_group_add HTTP/1.1" 404 198 0.024667 +2011-05-11 17:59:44 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 17:59:44 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:44 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:44 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:44] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 204 103 0.102801 +2011-05-11 17:59:44 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:59:44 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:59:44 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:44 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:44] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.027105 +2011-05-11 17:59:44 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:44 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:44 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:44 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:44] "POST /v1.0/token HTTP/1.1" 200 347 0.021070 +2011-05-11 17:59:44 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:59:44 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:44 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:44 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:44] "POST /v1.0/tenants HTTP/1.1" 409 215 0.019270 +2011-05-11 17:59:44 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 17:59:44 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 17:59:44 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:44 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:44] "POST /v1.0/tenant/1234/groups HTTP/1.1" 201 226 0.097856 +2011-05-11 17:59:44 DEBUG [routes.middleware] Matched GET /v1.0/tenant/tenant_bad/groups/test_tenant_group_add +2011-05-11 17:59:44 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'get_tenant_group', 'controller': } +2011-05-11 17:59:44 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant_group', 'tenant_id': u'tenant_bad', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:44 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:44] "GET /v1.0/tenant/tenant_bad/groups/test_tenant_group_add HTTP/1.1" 404 256 0.021950 +2011-05-11 17:59:44 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 17:59:44 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:44 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:44 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:44] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 204 103 0.089919 +2011-05-11 17:59:44 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:59:44 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:59:44 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:45 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:45] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.028909 +2011-05-11 17:59:45 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:45 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:45 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:45 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:45] "POST /v1.0/token HTTP/1.1" 200 347 0.020395 +2011-05-11 17:59:45 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:59:45 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:45 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:45 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:45] "POST /v1.0/tenants HTTP/1.1" 409 215 0.023288 +2011-05-11 17:59:45 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 17:59:45 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 17:59:45 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:45 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:45] "POST /v1.0/tenant/1234/groups HTTP/1.1" 201 226 0.083541 +2011-05-11 17:59:45 DEBUG [routes.middleware] Matched GET /v1.0/tenant/1234/groups/nonexistinggroup +2011-05-11 17:59:45 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'get_tenant_group', 'controller': } +2011-05-11 17:59:45 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'nonexistinggroup'} +2011-05-11 17:59:45 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:45] "GET /v1.0/tenant/1234/groups/nonexistinggroup HTTP/1.1" 404 204 0.023293 +2011-05-11 17:59:45 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 17:59:45 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:45 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:45 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:45] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 204 103 0.095436 +2011-05-11 17:59:45 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:59:45 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:59:45 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:45 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:45] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.025263 +2011-05-11 17:59:45 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:45 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:45 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:45 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:45] "POST /v1.0/token HTTP/1.1" 200 347 0.019994 +2011-05-11 17:59:45 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:59:45 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:45 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:45 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:45] "POST /v1.0/tenants HTTP/1.1" 409 215 0.024492 +2011-05-11 17:59:45 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 17:59:45 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 17:59:45 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:45 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:45] "POST /v1.0/tenant/1234/groups HTTP/1.1" 201 226 0.093104 +2011-05-11 17:59:45 DEBUG [routes.middleware] Matched GET /v1.0/tenant/1234/groups/nonexistinggroup +2011-05-11 17:59:45 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'get_tenant_group', 'controller': } +2011-05-11 17:59:45 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'nonexistinggroup'} +2011-05-11 17:59:45 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:45] "GET /v1.0/tenant/1234/groups/nonexistinggroup HTTP/1.1" 404 262 0.021706 +2011-05-11 17:59:45 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 17:59:45 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:45 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:45 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:45] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 204 103 0.095993 +2011-05-11 17:59:45 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:59:45 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:59:45 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:45 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:45] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.027286 +2011-05-11 17:59:45 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:45 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:45 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:45 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:45] "POST /v1.0/token HTTP/1.1" 200 347 0.021028 +2011-05-11 17:59:45 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:59:45 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:45 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:45 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:45] "POST /v1.0/tenants HTTP/1.1" 409 215 0.025204 +2011-05-11 17:59:45 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 17:59:45 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 17:59:45 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:45 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:45] "POST /v1.0/tenant/1234/groups HTTP/1.1" 201 226 0.175713 +2011-05-11 17:59:45 DEBUG [routes.middleware] Matched GET /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 17:59:45 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'get_tenant_group', 'controller': } +2011-05-11 17:59:45 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:45 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:45] "GET /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 200 272 0.027581 +2011-05-11 17:59:45 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 17:59:45 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:45 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:45 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:45] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 204 103 0.116203 +2011-05-11 17:59:45 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:59:45 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:59:45 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:45 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:45] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.021724 +2011-05-11 17:59:46 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:46 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:46 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:46 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:46] "POST /v1.0/token HTTP/1.1" 200 347 0.021724 +2011-05-11 17:59:46 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:59:46 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:46 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:46 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:46] "POST /v1.0/tenants HTTP/1.1" 409 215 0.029150 +2011-05-11 17:59:46 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 17:59:46 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 17:59:46 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:46 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:46] "POST /v1.0/tenant/1234/groups HTTP/1.1" 201 226 0.090793 +2011-05-11 17:59:46 DEBUG [routes.middleware] Matched GET /v1.0/tenant/1234/groups +2011-05-11 17:59:46 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'get_tenant_groups', 'controller': } +2011-05-11 17:59:46 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant_groups', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:46 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:46] "GET /v1.0/tenant/1234/groups HTTP/1.1" 200 389 0.036411 +2011-05-11 17:59:46 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 17:59:46 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:46 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:46 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:46] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 204 103 0.098329 +2011-05-11 17:59:46 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:59:46 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:59:46 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:46 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:46] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.035721 +2011-05-11 17:59:46 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:46 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:46 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:46 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:46] "POST /v1.0/token HTTP/1.1" 200 347 0.024828 +2011-05-11 17:59:46 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:59:46 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:46 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:46 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:46] "POST /v1.0/tenants HTTP/1.1" 409 215 0.021920 +2011-05-11 17:59:46 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 17:59:46 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 17:59:46 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:46 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:46] "POST /v1.0/tenant/1234/groups HTTP/1.1" 201 226 0.097313 +2011-05-11 17:59:46 DEBUG [routes.middleware] Matched GET /v1.0/tenant/1234/groups +2011-05-11 17:59:46 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'get_tenant_groups', 'controller': } +2011-05-11 17:59:46 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant_groups', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:46 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:46] "GET /v1.0/tenant/1234/groups HTTP/1.1" 403 202 0.032547 +2011-05-11 17:59:46 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 17:59:46 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:46 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:46 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:46] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 204 103 0.169725 +2011-05-11 17:59:46 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:59:46 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:59:46 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:46 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:46] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.025390 +2011-05-11 17:59:46 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:46 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:46 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:46 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:46] "POST /v1.0/token HTTP/1.1" 200 347 0.022139 +2011-05-11 17:59:46 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:59:46 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:46 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:46 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:46] "POST /v1.0/tenants HTTP/1.1" 409 215 0.022576 +2011-05-11 17:59:46 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 17:59:46 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 17:59:46 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:46 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:46] "POST /v1.0/tenant/1234/groups HTTP/1.1" 201 226 0.089534 +2011-05-11 17:59:46 DEBUG [routes.middleware] Matched GET /v1.0/tenant/1234/groups +2011-05-11 17:59:46 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'get_tenant_groups', 'controller': } +2011-05-11 17:59:46 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant_groups', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:46 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:46] "GET /v1.0/tenant/1234/groups HTTP/1.1" 403 257 0.023575 +2011-05-11 17:59:46 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 17:59:46 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:46 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:46 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:46] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 204 103 0.105301 +2011-05-11 17:59:47 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:59:47 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:59:47 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:47 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:47] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.024836 +2011-05-11 17:59:47 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:47 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:47 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:47 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:47] "POST /v1.0/token HTTP/1.1" 200 347 0.020032 +2011-05-11 17:59:47 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:59:47 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:47 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:47 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:47] "POST /v1.0/tenants HTTP/1.1" 409 215 0.021590 +2011-05-11 17:59:47 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 17:59:47 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 17:59:47 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:47 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:47] "POST /v1.0/tenant/1234/groups HTTP/1.1" 201 226 0.096510 +2011-05-11 17:59:47 DEBUG [routes.middleware] Matched GET /v1.0/tenant/1234/groups +2011-05-11 17:59:47 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'get_tenant_groups', 'controller': } +2011-05-11 17:59:47 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant_groups', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:47 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:47] "GET /v1.0/tenant/1234/groups HTTP/1.1" 401 221 0.021399 +2011-05-11 17:59:47 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 17:59:47 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:47 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:47 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:47] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 204 103 0.097546 +2011-05-11 17:59:47 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:59:47 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:59:47 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:47 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:47] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.023221 +2011-05-11 17:59:47 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:47 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:47 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:47 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:47] "POST /v1.0/token HTTP/1.1" 200 347 0.022193 +2011-05-11 17:59:47 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:59:47 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:47 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:47 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:47] "POST /v1.0/tenants HTTP/1.1" 409 215 0.022406 +2011-05-11 17:59:47 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 17:59:47 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 17:59:47 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:47 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:47] "POST /v1.0/tenant/1234/groups HTTP/1.1" 201 226 0.100687 +2011-05-11 17:59:47 DEBUG [routes.middleware] Matched GET /v1.0/tenant/1234/groups +2011-05-11 17:59:47 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'get_tenant_groups', 'controller': } +2011-05-11 17:59:47 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant_groups', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:47 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:47] "GET /v1.0/tenant/1234/groups HTTP/1.1" 401 279 0.020110 +2011-05-11 17:59:47 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 17:59:47 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:47 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:47 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:47] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 204 103 0.099693 +2011-05-11 17:59:47 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:59:47 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:59:47 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:47 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:47] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.025529 +2011-05-11 17:59:47 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:47 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:47 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:47 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:47] "POST /v1.0/token HTTP/1.1" 200 347 0.019282 +2011-05-11 17:59:47 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:59:47 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:47 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:47 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:47] "POST /v1.0/tenants HTTP/1.1" 409 215 0.023989 +2011-05-11 17:59:47 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 17:59:47 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 17:59:47 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:47 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:47] "POST /v1.0/tenant/1234/groups HTTP/1.1" 201 276 0.093345 +2011-05-11 17:59:47 DEBUG [routes.middleware] Matched GET /v1.0/tenant/1234/groups +2011-05-11 17:59:47 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'get_tenant_groups', 'controller': } +2011-05-11 17:59:47 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant_groups', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:47 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:47] "GET /v1.0/tenant/1234/groups HTTP/1.1" 200 594 0.040479 +2011-05-11 17:59:47 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 17:59:47 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:47 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:47 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:47] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 204 103 0.094747 +2011-05-11 17:59:47 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:59:47 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:59:47 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:47 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:47] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.028333 +2011-05-11 17:59:47 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:47 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:47 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:47 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:47] "POST /v1.0/token HTTP/1.1" 200 347 0.020806 +2011-05-11 17:59:47 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:59:47 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:47 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:48] "POST /v1.0/tenants HTTP/1.1" 409 215 0.026065 +2011-05-11 17:59:48 DEBUG [routes.middleware] Matched POST /v1.0/tenant/test_tenant/groups +2011-05-11 17:59:48 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 17:59:48 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 17:59:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:48] "POST /v1.0/tenant/test_tenant/groups HTTP/1.1" 201 234 0.095897 +2011-05-11 17:59:48 DEBUG [routes.middleware] Matched POST /v1.0/tenants/test_tenant/users +2011-05-11 17:59:48 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:59:48 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 17:59:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:48] "POST /v1.0/tenants/test_tenant/users HTTP/1.1" 409 212 0.033044 +2011-05-11 17:59:48 DEBUG [routes.middleware] No route matched for PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 17:59:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:48] "PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.002103 +2011-05-11 17:59:48 DEBUG [routes.middleware] Matched GET /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users +2011-05-11 17:59:48 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/groups/{group_id}/users', defaults: {'action': u'get_users_tenant_group', 'controller': } +2011-05-11 17:59:48 DEBUG [routes.middleware] Match dict: {'action': u'get_users_tenant_group', 'tenant_id': u'test_tenant', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:48] "GET /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users HTTP/1.1" 200 161 0.034680 +2011-05-11 17:59:48 DEBUG [routes.middleware] No route matched for DELETE /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 17:59:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:48] "DELETE /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.001161 +2011-05-11 17:59:48 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant/users/test_user +2011-05-11 17:59:48 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:48 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'test_tenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:48] "DELETE /v1.0/tenants/test_tenant/users/test_user HTTP/1.1" 404 224 0.033046 +2011-05-11 17:59:48 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/test_tenant/groups/test_tenant_group_add +2011-05-11 17:59:48 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:48 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'test_tenant', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:48] "DELETE /v1.0/tenant/test_tenant/groups/test_tenant_group_add HTTP/1.1" 204 103 0.100123 +2011-05-11 17:59:48 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant +2011-05-11 17:59:48 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:59:48 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 17:59:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:48] "DELETE /v1.0/tenants/test_tenant HTTP/1.1" 204 103 0.089130 +2011-05-11 17:59:48 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:48 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:48 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:48] "POST /v1.0/token HTTP/1.1" 200 347 0.024457 +2011-05-11 17:59:48 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:59:48 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:48 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:48] "POST /v1.0/tenants HTTP/1.1" 201 214 0.086694 +2011-05-11 17:59:48 DEBUG [routes.middleware] Matched POST /v1.0/tenant/test_tenant/groups +2011-05-11 17:59:48 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 17:59:48 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 17:59:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:48] "POST /v1.0/tenant/test_tenant/groups HTTP/1.1" 201 234 0.097312 +2011-05-11 17:59:48 DEBUG [routes.middleware] Matched POST /v1.0/tenants/test_tenant/users +2011-05-11 17:59:48 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:59:48 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 17:59:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:48] "POST /v1.0/tenants/test_tenant/users HTTP/1.1" 409 212 0.030213 +2011-05-11 17:59:48 DEBUG [routes.middleware] No route matched for PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 17:59:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:48] "PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.004531 +2011-05-11 17:59:48 DEBUG [routes.middleware] Matched GET /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users +2011-05-11 17:59:48 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/groups/{group_id}/users', defaults: {'action': u'get_users_tenant_group', 'controller': } +2011-05-11 17:59:48 DEBUG [routes.middleware] Match dict: {'action': u'get_users_tenant_group', 'tenant_id': u'test_tenant', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:48] "GET /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users HTTP/1.1" 403 202 0.019967 +2011-05-11 17:59:48 DEBUG [routes.middleware] No route matched for DELETE /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 17:59:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:48] "DELETE /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.001171 +2011-05-11 17:59:48 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant/users/test_user +2011-05-11 17:59:48 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:48 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'test_tenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:48] "DELETE /v1.0/tenants/test_tenant/users/test_user HTTP/1.1" 404 224 0.032684 +2011-05-11 17:59:48 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/test_tenant/groups/test_tenant_group_add +2011-05-11 17:59:48 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:48 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'test_tenant', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:48] "DELETE /v1.0/tenant/test_tenant/groups/test_tenant_group_add HTTP/1.1" 204 103 0.095232 +2011-05-11 17:59:48 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant +2011-05-11 17:59:48 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:59:48 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 17:59:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:48] "DELETE /v1.0/tenants/test_tenant HTTP/1.1" 204 103 0.089170 +2011-05-11 17:59:48 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:48 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:48 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:48] "POST /v1.0/token HTTP/1.1" 200 347 0.023158 +2011-05-11 17:59:48 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:59:48 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:48 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:49 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:49] "POST /v1.0/tenants HTTP/1.1" 201 214 0.087886 +2011-05-11 17:59:49 DEBUG [routes.middleware] Matched POST /v1.0/tenant/test_tenant/groups +2011-05-11 17:59:49 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 17:59:49 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 17:59:49 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:49] "POST /v1.0/tenant/test_tenant/groups HTTP/1.1" 201 234 0.105395 +2011-05-11 17:59:49 DEBUG [routes.middleware] Matched POST /v1.0/tenants/test_tenant/users +2011-05-11 17:59:49 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:59:49 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 17:59:49 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:49] "POST /v1.0/tenants/test_tenant/users HTTP/1.1" 409 212 0.030959 +2011-05-11 17:59:49 DEBUG [routes.middleware] No route matched for PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 17:59:49 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:49] "PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.001159 +2011-05-11 17:59:49 DEBUG [routes.middleware] Matched GET /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users +2011-05-11 17:59:49 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/groups/{group_id}/users', defaults: {'action': u'get_users_tenant_group', 'controller': } +2011-05-11 17:59:49 DEBUG [routes.middleware] Match dict: {'action': u'get_users_tenant_group', 'tenant_id': u'test_tenant', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:49 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:49] "GET /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users HTTP/1.1" 403 257 0.015312 +2011-05-11 17:59:49 DEBUG [routes.middleware] No route matched for DELETE /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 17:59:49 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:49] "DELETE /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.001247 +2011-05-11 17:59:49 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant/users/test_user +2011-05-11 17:59:49 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:49 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'test_tenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:49 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:49] "DELETE /v1.0/tenants/test_tenant/users/test_user HTTP/1.1" 404 224 0.041432 +2011-05-11 17:59:49 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/test_tenant/groups/test_tenant_group_add +2011-05-11 17:59:49 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:49 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'test_tenant', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:49 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:49] "DELETE /v1.0/tenant/test_tenant/groups/test_tenant_group_add HTTP/1.1" 204 103 0.094103 +2011-05-11 17:59:49 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant +2011-05-11 17:59:49 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:59:49 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 17:59:49 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:49] "DELETE /v1.0/tenants/test_tenant HTTP/1.1" 204 103 0.105526 +2011-05-11 17:59:49 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:49 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:49 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:49 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:49] "POST /v1.0/token HTTP/1.1" 200 347 0.021596 +2011-05-11 17:59:49 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:59:49 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:49 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:49 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:49] "POST /v1.0/tenants HTTP/1.1" 201 214 0.091729 +2011-05-11 17:59:49 DEBUG [routes.middleware] Matched POST /v1.0/tenant/test_tenant/groups +2011-05-11 17:59:49 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 17:59:49 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 17:59:49 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:49] "POST /v1.0/tenant/test_tenant/groups HTTP/1.1" 201 234 0.096654 +2011-05-11 17:59:49 DEBUG [routes.middleware] Matched POST /v1.0/tenants/test_tenant/users +2011-05-11 17:59:49 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:59:49 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 17:59:49 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:49] "POST /v1.0/tenants/test_tenant/users HTTP/1.1" 409 212 0.036403 +2011-05-11 17:59:49 DEBUG [routes.middleware] No route matched for PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 17:59:49 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:49] "PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.001150 +2011-05-11 17:59:49 DEBUG [routes.middleware] Matched GET /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users +2011-05-11 17:59:49 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/groups/{group_id}/users', defaults: {'action': u'get_users_tenant_group', 'controller': } +2011-05-11 17:59:49 DEBUG [routes.middleware] Match dict: {'action': u'get_users_tenant_group', 'tenant_id': u'test_tenant', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:49 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:49] "GET /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users HTTP/1.1" 403 214 0.019366 +2011-05-11 17:59:49 DEBUG [routes.middleware] No route matched for DELETE /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 17:59:49 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:49] "DELETE /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.001230 +2011-05-11 17:59:49 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant/users/test_user +2011-05-11 17:59:49 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:49 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'test_tenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:49 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:49] "DELETE /v1.0/tenants/test_tenant/users/test_user HTTP/1.1" 404 224 0.033178 +2011-05-11 17:59:49 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/test_tenant/groups/test_tenant_group_add +2011-05-11 17:59:49 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:49 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'test_tenant', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:49 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:49] "DELETE /v1.0/tenant/test_tenant/groups/test_tenant_group_add HTTP/1.1" 204 103 0.102672 +2011-05-11 17:59:49 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant +2011-05-11 17:59:49 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:59:49 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 17:59:49 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:49] "DELETE /v1.0/tenants/test_tenant HTTP/1.1" 204 103 0.105363 +2011-05-11 17:59:49 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:49 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:49 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:50] "POST /v1.0/token HTTP/1.1" 200 347 0.024633 +2011-05-11 17:59:50 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:59:50 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:50 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:50] "POST /v1.0/tenants HTTP/1.1" 201 214 0.086271 +2011-05-11 17:59:50 DEBUG [routes.middleware] Matched POST /v1.0/tenant/test_tenant/groups +2011-05-11 17:59:50 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 17:59:50 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 17:59:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:50] "POST /v1.0/tenant/test_tenant/groups HTTP/1.1" 201 234 0.088932 +2011-05-11 17:59:50 DEBUG [routes.middleware] Matched POST /v1.0/tenants/test_tenant/users +2011-05-11 17:59:50 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:59:50 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 17:59:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:50] "POST /v1.0/tenants/test_tenant/users HTTP/1.1" 409 212 0.031784 +2011-05-11 17:59:50 DEBUG [routes.middleware] No route matched for PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 17:59:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:50] "PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.001351 +2011-05-11 17:59:50 DEBUG [routes.middleware] Matched GET /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users +2011-05-11 17:59:50 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/groups/{group_id}/users', defaults: {'action': u'get_users_tenant_group', 'controller': } +2011-05-11 17:59:50 DEBUG [routes.middleware] Match dict: {'action': u'get_users_tenant_group', 'tenant_id': u'test_tenant', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:50] "GET /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users HTTP/1.1" 403 272 0.015835 +2011-05-11 17:59:50 DEBUG [routes.middleware] No route matched for DELETE /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 17:59:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:50] "DELETE /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.001328 +2011-05-11 17:59:50 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant/users/test_user +2011-05-11 17:59:50 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:50 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'test_tenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:50] "DELETE /v1.0/tenants/test_tenant/users/test_user HTTP/1.1" 404 224 0.035712 +2011-05-11 17:59:50 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/test_tenant/groups/test_tenant_group_add +2011-05-11 17:59:50 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:50 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'test_tenant', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:50] "DELETE /v1.0/tenant/test_tenant/groups/test_tenant_group_add HTTP/1.1" 204 103 0.092978 +2011-05-11 17:59:50 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant +2011-05-11 17:59:50 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:59:50 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 17:59:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:50] "DELETE /v1.0/tenants/test_tenant HTTP/1.1" 204 103 0.097341 +2011-05-11 17:59:50 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:50 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:50 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:50] "POST /v1.0/token HTTP/1.1" 200 347 0.024178 +2011-05-11 17:59:50 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:59:50 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:50 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:50] "POST /v1.0/tenants HTTP/1.1" 201 214 0.085117 +2011-05-11 17:59:50 DEBUG [routes.middleware] Matched POST /v1.0/tenant/test_tenant/groups +2011-05-11 17:59:50 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 17:59:50 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 17:59:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:50] "POST /v1.0/tenant/test_tenant/groups HTTP/1.1" 201 234 0.097344 +2011-05-11 17:59:50 DEBUG [routes.middleware] Matched POST /v1.0/tenants/test_tenant/users +2011-05-11 17:59:50 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:59:50 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 17:59:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:50] "POST /v1.0/tenants/test_tenant/users HTTP/1.1" 409 212 0.034568 +2011-05-11 17:59:50 DEBUG [routes.middleware] No route matched for PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 17:59:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:50] "PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.002222 +2011-05-11 17:59:50 DEBUG [routes.middleware] Matched GET /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users +2011-05-11 17:59:50 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/groups/{group_id}/users', defaults: {'action': u'get_users_tenant_group', 'controller': } +2011-05-11 17:59:50 DEBUG [routes.middleware] Match dict: {'action': u'get_users_tenant_group', 'tenant_id': u'test_tenant', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:50] "GET /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users HTTP/1.1" 401 221 0.018648 +2011-05-11 17:59:50 DEBUG [routes.middleware] No route matched for DELETE /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 17:59:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:50] "DELETE /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.003237 +2011-05-11 17:59:50 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant/users/test_user +2011-05-11 17:59:50 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:50 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'test_tenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:50] "DELETE /v1.0/tenants/test_tenant/users/test_user HTTP/1.1" 404 224 0.033320 +2011-05-11 17:59:50 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/test_tenant/groups/test_tenant_group_add +2011-05-11 17:59:50 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:50 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'test_tenant', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:50] "DELETE /v1.0/tenant/test_tenant/groups/test_tenant_group_add HTTP/1.1" 204 103 0.093149 +2011-05-11 17:59:50 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant +2011-05-11 17:59:50 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:59:50 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 17:59:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:51] "DELETE /v1.0/tenants/test_tenant HTTP/1.1" 204 103 0.105591 +2011-05-11 17:59:51 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:51 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:51 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:51] "POST /v1.0/token HTTP/1.1" 200 347 0.025308 +2011-05-11 17:59:51 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:59:51 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:51 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:51] "POST /v1.0/tenants HTTP/1.1" 201 214 0.085625 +2011-05-11 17:59:51 DEBUG [routes.middleware] Matched POST /v1.0/tenant/test_tenant/groups +2011-05-11 17:59:51 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 17:59:51 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 17:59:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:51] "POST /v1.0/tenant/test_tenant/groups HTTP/1.1" 201 234 0.096347 +2011-05-11 17:59:51 DEBUG [routes.middleware] Matched POST /v1.0/tenants/test_tenant/users +2011-05-11 17:59:51 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:59:51 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 17:59:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:51] "POST /v1.0/tenants/test_tenant/users HTTP/1.1" 409 212 0.030811 +2011-05-11 17:59:51 DEBUG [routes.middleware] No route matched for PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 17:59:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:51] "PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.001257 +2011-05-11 17:59:51 DEBUG [routes.middleware] Matched GET /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users +2011-05-11 17:59:51 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/groups/{group_id}/users', defaults: {'action': u'get_users_tenant_group', 'controller': } +2011-05-11 17:59:51 DEBUG [routes.middleware] Match dict: {'action': u'get_users_tenant_group', 'tenant_id': u'test_tenant', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:51] "GET /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users HTTP/1.1" 401 279 0.017942 +2011-05-11 17:59:51 DEBUG [routes.middleware] No route matched for DELETE /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 17:59:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:51] "DELETE /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.003081 +2011-05-11 17:59:51 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant/users/test_user +2011-05-11 17:59:51 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:51 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'test_tenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:51] "DELETE /v1.0/tenants/test_tenant/users/test_user HTTP/1.1" 404 224 0.032932 +2011-05-11 17:59:51 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/test_tenant/groups/test_tenant_group_add +2011-05-11 17:59:51 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:51 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'test_tenant', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:51] "DELETE /v1.0/tenant/test_tenant/groups/test_tenant_group_add HTTP/1.1" 204 103 0.091276 +2011-05-11 17:59:51 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant +2011-05-11 17:59:51 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:59:51 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 17:59:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:51] "DELETE /v1.0/tenants/test_tenant HTTP/1.1" 204 103 0.096668 +2011-05-11 17:59:51 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:51 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:51 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:51] "POST /v1.0/token HTTP/1.1" 200 347 0.029008 +2011-05-11 17:59:51 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:59:51 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:51 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:51] "POST /v1.0/tenants HTTP/1.1" 201 214 0.198160 +2011-05-11 17:59:51 DEBUG [routes.middleware] Matched POST /v1.0/tenant/test_tenant/groups +2011-05-11 17:59:51 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 17:59:51 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 17:59:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:51] "POST /v1.0/tenant/test_tenant/groups HTTP/1.1" 201 234 0.105322 +2011-05-11 17:59:51 DEBUG [routes.middleware] Matched POST /v1.0/tenants/test_tenant/users +2011-05-11 17:59:51 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 17:59:51 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 17:59:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:51] "POST /v1.0/tenants/test_tenant/users HTTP/1.1" 409 212 0.031851 +2011-05-11 17:59:51 DEBUG [routes.middleware] No route matched for PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 17:59:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:51] "PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.003076 +2011-05-11 17:59:51 DEBUG [routes.middleware] Matched GET /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users +2011-05-11 17:59:51 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/groups/{group_id}/users', defaults: {'action': u'get_users_tenant_group', 'controller': } +2011-05-11 17:59:51 DEBUG [routes.middleware] Match dict: {'action': u'get_users_tenant_group', 'tenant_id': u'test_tenant', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:51] "GET /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users HTTP/1.1" 200 177 0.031766 +2011-05-11 17:59:51 DEBUG [routes.middleware] No route matched for DELETE /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 17:59:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:51] "DELETE /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.003184 +2011-05-11 17:59:51 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant/users/test_user +2011-05-11 17:59:51 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 17:59:51 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'test_tenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 17:59:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:51] "DELETE /v1.0/tenants/test_tenant/users/test_user HTTP/1.1" 404 224 0.033603 +2011-05-11 17:59:51 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/test_tenant/groups/test_tenant_group_add +2011-05-11 17:59:51 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:51 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'test_tenant', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:52 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:52] "DELETE /v1.0/tenant/test_tenant/groups/test_tenant_group_add HTTP/1.1" 204 103 0.099402 +2011-05-11 17:59:52 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant +2011-05-11 17:59:52 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:59:52 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 17:59:52 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:52] "DELETE /v1.0/tenants/test_tenant HTTP/1.1" 204 103 0.104482 +2011-05-11 17:59:52 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:52 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:52 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:52 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:52] "POST /v1.0/token HTTP/1.1" 200 347 0.021114 +2011-05-11 17:59:52 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:59:52 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:52 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:52 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:52] "POST /v1.0/tenants HTTP/1.1" 409 215 0.019875 +2011-05-11 17:59:52 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 17:59:52 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:52 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:52 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:52] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 404 204 0.026828 +2011-05-11 17:59:52 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 17:59:52 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 17:59:52 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:52 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:52] "POST /v1.0/tenant/1234/groups HTTP/1.1" 201 226 0.088323 +2011-05-11 17:59:52 DEBUG [routes.middleware] Matched PUT /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 17:59:52 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'update_tenant_group', 'controller': } +2011-05-11 17:59:52 DEBUG [routes.middleware] Match dict: {'action': u'update_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:52 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:52] "PUT /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 200 225 0.098639 +2011-05-11 17:59:52 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 17:59:52 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:52 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:52 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:52] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 204 103 0.096276 +2011-05-11 17:59:52 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:59:52 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:59:52 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:52 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:52] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.024641 +2011-05-11 17:59:52 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:52 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:52 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:52 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:52] "POST /v1.0/token HTTP/1.1" 200 347 0.018893 +2011-05-11 17:59:52 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:59:52 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:52 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:52 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:52] "POST /v1.0/tenants HTTP/1.1" 409 215 0.025089 +2011-05-11 17:59:52 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 17:59:52 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:52 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:52 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:52] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 404 204 0.027004 +2011-05-11 17:59:52 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 17:59:52 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 17:59:52 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:52 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:52] "POST /v1.0/tenant/1234/groups HTTP/1.1" 201 226 0.094301 +2011-05-11 17:59:52 DEBUG [routes.middleware] Matched PUT /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 17:59:52 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'update_tenant_group', 'controller': } +2011-05-11 17:59:52 DEBUG [routes.middleware] Match dict: {'action': u'update_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:52 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:52] "PUT /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 400 205 0.002401 +2011-05-11 17:59:52 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 17:59:52 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:52 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:52 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:52] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 204 103 0.098955 +2011-05-11 17:59:52 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:59:52 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:59:52 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:52 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:52] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.021601 +2011-05-11 17:59:52 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:52 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:52 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:52 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:52] "POST /v1.0/token HTTP/1.1" 200 347 0.025535 +2011-05-11 17:59:52 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:59:52 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:52 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:52 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:52] "POST /v1.0/tenants HTTP/1.1" 409 215 0.024499 +2011-05-11 17:59:52 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 17:59:52 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:52 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:52 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:52] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 404 204 0.026120 +2011-05-11 17:59:52 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 17:59:52 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 17:59:52 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:53 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:53] "POST /v1.0/tenant/1234/groups HTTP/1.1" 201 226 0.098163 +2011-05-11 17:59:53 DEBUG [routes.middleware] Matched PUT /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 17:59:53 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'update_tenant_group', 'controller': } +2011-05-11 17:59:53 DEBUG [routes.middleware] Match dict: {'action': u'update_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:53 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:53] "PUT /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 400 362 0.002327 +2011-05-11 17:59:53 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 17:59:53 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:53 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:53 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:53] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 204 103 0.091745 +2011-05-11 17:59:53 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:59:53 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:59:53 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:53 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:53] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.024924 +2011-05-11 17:59:53 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:53 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:53 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:53 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:53] "POST /v1.0/token HTTP/1.1" 200 347 0.020756 +2011-05-11 17:59:53 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:59:53 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:53 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:53 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:53] "POST /v1.0/tenants HTTP/1.1" 409 215 0.019677 +2011-05-11 17:59:53 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 17:59:53 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:53 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:53 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:53] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 404 204 0.032235 +2011-05-11 17:59:53 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 17:59:53 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 17:59:53 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:53 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:53] "POST /v1.0/tenant/1234/groups HTTP/1.1" 201 226 0.103318 +2011-05-11 17:59:53 DEBUG [routes.middleware] Matched GET /v1.0/tenant/1234/groups/NonexistingID +2011-05-11 17:59:53 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'get_tenant_group', 'controller': } +2011-05-11 17:59:53 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'NonexistingID'} +2011-05-11 17:59:53 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:53] "GET /v1.0/tenant/1234/groups/NonexistingID HTTP/1.1" 404 204 0.029306 +2011-05-11 17:59:53 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 17:59:53 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:53 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:53 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:53] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 204 103 0.090673 +2011-05-11 17:59:53 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:59:53 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:59:53 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:53 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:53] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.023467 +2011-05-11 17:59:53 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:53 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:53 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:53 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:53] "POST /v1.0/token HTTP/1.1" 200 347 0.020117 +2011-05-11 17:59:53 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:59:53 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:53 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:53 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:53] "POST /v1.0/tenants HTTP/1.1" 409 215 0.019785 +2011-05-11 17:59:53 DEBUG [routes.middleware] Matched GET /v1.0/tenant/1234/groups/NonexistingID +2011-05-11 17:59:53 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'get_tenant_group', 'controller': } +2011-05-11 17:59:53 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'NonexistingID'} +2011-05-11 17:59:53 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:53] "GET /v1.0/tenant/1234/groups/NonexistingID HTTP/1.1" 404 262 0.022942 +2011-05-11 17:59:53 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 17:59:53 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:53 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:53 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:53] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 404 204 0.027954 +2011-05-11 17:59:53 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:59:53 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:59:53 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:53 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:53] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.025162 +2011-05-11 17:59:53 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 17:59:53 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:53 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 17:59:53 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:53] "POST /v1.0/token HTTP/1.1" 200 347 0.024868 +2011-05-11 17:59:53 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:59:53 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:59:53 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:53 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:53] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.021752 +2011-05-11 17:59:53 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 17:59:53 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:53 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 17:59:53 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:53] "POST /v1.0/tenants HTTP/1.1" 409 215 0.026166 +2011-05-11 17:59:53 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 17:59:53 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:53 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:53 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:53] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 404 204 0.027723 +2011-05-11 17:59:53 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 17:59:53 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 17:59:53 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:53 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:53] "POST /v1.0/tenant/1234/groups HTTP/1.1" 201 226 0.087580 +2011-05-11 17:59:53 DEBUG [routes.middleware] Matched PUT /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 17:59:53 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'update_tenant_group', 'controller': } +2011-05-11 17:59:53 DEBUG [routes.middleware] Match dict: {'action': u'update_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:53 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:53] "PUT /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 200 275 0.088566 +2011-05-11 17:59:53 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 17:59:53 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 17:59:53 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 17:59:54 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:54] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 204 103 0.104627 +2011-05-11 17:59:54 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 17:59:54 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 17:59:54 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 17:59:54 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 17:59:54] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.022352 +2011-05-11 18:00:31 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:00:31 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:00:31 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:00:31 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:00:31] "POST /v1.0/token HTTP/1.1" 200 347 0.011457 +2011-05-11 18:00:31 DEBUG [routes.middleware] Matched GET /v1.0/token/000999 +2011-05-11 18:00:31 DEBUG [routes.middleware] Route path: '/v1.0/token/{token_id}', defaults: {'action': u'validate_token', 'controller': } +2011-05-11 18:00:31 DEBUG [routes.middleware] Match dict: {'action': u'validate_token', 'token_id': u'000999', 'controller': } +2011-05-11 18:00:31 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:00:31] "GET /v1.0/token/000999?belongsTo=1234 HTTP/1.1" 403 202 0.010625 +2011-05-11 18:00:31 DEBUG [routes.middleware] Matched DELETE /v1.0/token/d71b897a-0136-4197-915e-8d44dc678f13 +2011-05-11 18:00:31 DEBUG [routes.middleware] Route path: '/v1.0/token/{token_id}', defaults: {'action': u'delete_token', 'controller': } +2011-05-11 18:00:31 DEBUG [routes.middleware] Match dict: {'action': u'delete_token', 'token_id': u'd71b897a-0136-4197-915e-8d44dc678f13', 'controller': } +2011-05-11 18:00:31 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:00:31] "DELETE /v1.0/token/d71b897a-0136-4197-915e-8d44dc678f13 HTTP/1.1" 204 103 0.095290 +2011-05-11 18:00:31 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:00:31 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:00:31 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:00:31 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:00:31] "POST /v1.0/token HTTP/1.1" 200 347 0.086163 +2011-05-11 18:00:31 DEBUG [routes.middleware] Matched GET /v1.0/token/000999 +2011-05-11 18:00:31 DEBUG [routes.middleware] Route path: '/v1.0/token/{token_id}', defaults: {'action': u'validate_token', 'controller': } +2011-05-11 18:00:31 DEBUG [routes.middleware] Match dict: {'action': u'validate_token', 'token_id': u'000999', 'controller': } +2011-05-11 18:00:31 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:00:31] "GET /v1.0/token/000999?belongsTo=1234 HTTP/1.1" 403 257 0.020809 +2011-05-11 18:00:31 DEBUG [routes.middleware] Matched DELETE /v1.0/token/8e041502-0284-4c47-a5b8-0699517191fd +2011-05-11 18:00:31 DEBUG [routes.middleware] Route path: '/v1.0/token/{token_id}', defaults: {'action': u'delete_token', 'controller': } +2011-05-11 18:00:31 DEBUG [routes.middleware] Match dict: {'action': u'delete_token', 'token_id': u'8e041502-0284-4c47-a5b8-0699517191fd', 'controller': } +2011-05-11 18:00:31 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:00:31] "DELETE /v1.0/token/8e041502-0284-4c47-a5b8-0699517191fd HTTP/1.1" 204 103 0.111322 +2011-05-11 18:00:31 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:00:31 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:00:31 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:00:31 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:00:31] "POST /v1.0/token HTTP/1.1" 200 347 0.092432 +2011-05-11 18:00:31 DEBUG [routes.middleware] Matched GET /v1.0/token/NonExistingToken +2011-05-11 18:00:31 DEBUG [routes.middleware] Route path: '/v1.0/token/{token_id}', defaults: {'action': u'validate_token', 'controller': } +2011-05-11 18:00:31 DEBUG [routes.middleware] Match dict: {'action': u'validate_token', 'token_id': u'NonExistingToken', 'controller': } +2011-05-11 18:00:31 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:00:31] "GET /v1.0/token/NonExistingToken?belongsTo=1234 HTTP/1.1" 401 213 0.019656 +2011-05-11 18:00:31 DEBUG [routes.middleware] Matched DELETE /v1.0/token/a7fe7c70-4f92-49c0-b395-e4f7df4622d3 +2011-05-11 18:00:31 DEBUG [routes.middleware] Route path: '/v1.0/token/{token_id}', defaults: {'action': u'delete_token', 'controller': } +2011-05-11 18:00:31 DEBUG [routes.middleware] Match dict: {'action': u'delete_token', 'token_id': u'a7fe7c70-4f92-49c0-b395-e4f7df4622d3', 'controller': } +2011-05-11 18:00:31 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:00:31] "DELETE /v1.0/token/a7fe7c70-4f92-49c0-b395-e4f7df4622d3 HTTP/1.1" 204 103 0.087895 +2011-05-11 18:00:31 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:00:31 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:00:31 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:00:31 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:00:31] "POST /v1.0/token HTTP/1.1" 200 347 0.084030 +2011-05-11 18:00:31 DEBUG [routes.middleware] Matched GET /v1.0/token/NonExistingToken +2011-05-11 18:00:31 DEBUG [routes.middleware] Route path: '/v1.0/token/{token_id}', defaults: {'action': u'validate_token', 'controller': } +2011-05-11 18:00:31 DEBUG [routes.middleware] Match dict: {'action': u'validate_token', 'token_id': u'NonExistingToken', 'controller': } +2011-05-11 18:00:31 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:00:31] "GET /v1.0/token/NonExistingToken?belongsTo=1234 HTTP/1.1" 401 213 0.025711 +2011-05-11 18:00:31 DEBUG [routes.middleware] Matched DELETE /v1.0/token/763a8d7d-91a8-4c0a-85f0-173f3220dca2 +2011-05-11 18:00:31 DEBUG [routes.middleware] Route path: '/v1.0/token/{token_id}', defaults: {'action': u'delete_token', 'controller': } +2011-05-11 18:00:31 DEBUG [routes.middleware] Match dict: {'action': u'delete_token', 'token_id': u'763a8d7d-91a8-4c0a-85f0-173f3220dca2', 'controller': } +2011-05-11 18:00:31 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:00:31] "DELETE /v1.0/token/763a8d7d-91a8-4c0a-85f0-173f3220dca2 HTTP/1.1" 204 103 0.097176 +2011-05-11 18:00:31 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:00:31 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:00:31 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:00:32 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:00:32] "POST /v1.0/token HTTP/1.1" 200 347 0.136442 +2011-05-11 18:00:32 DEBUG [routes.middleware] Matched GET /v1.0/token/4392bfba-54c3-47db-86c9-04b27ed30750 +2011-05-11 18:00:32 DEBUG [routes.middleware] Route path: '/v1.0/token/{token_id}', defaults: {'action': u'validate_token', 'controller': } +2011-05-11 18:00:32 DEBUG [routes.middleware] Match dict: {'action': u'validate_token', 'token_id': u'4392bfba-54c3-47db-86c9-04b27ed30750', 'controller': } +2011-05-11 18:00:32 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:00:32] "GET /v1.0/token/4392bfba-54c3-47db-86c9-04b27ed30750?belongsTo=1234 HTTP/1.1" 200 347 0.035121 +2011-05-11 18:00:32 DEBUG [routes.middleware] Matched DELETE /v1.0/token/4392bfba-54c3-47db-86c9-04b27ed30750 +2011-05-11 18:00:32 DEBUG [routes.middleware] Route path: '/v1.0/token/{token_id}', defaults: {'action': u'delete_token', 'controller': } +2011-05-11 18:00:32 DEBUG [routes.middleware] Match dict: {'action': u'delete_token', 'token_id': u'4392bfba-54c3-47db-86c9-04b27ed30750', 'controller': } +2011-05-11 18:00:32 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:00:32] "DELETE /v1.0/token/4392bfba-54c3-47db-86c9-04b27ed30750 HTTP/1.1" 204 103 0.082143 +2011-05-11 18:00:32 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:00:32 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:00:32 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:00:32 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:00:32] "POST /v1.0/token HTTP/1.1" 200 347 0.134533 +2011-05-11 18:00:32 DEBUG [routes.middleware] Matched GET /v1.0/token/584de02b-2b2c-4f0b-8cfa-aad455c7d78f +2011-05-11 18:00:32 DEBUG [routes.middleware] Route path: '/v1.0/token/{token_id}', defaults: {'action': u'validate_token', 'controller': } +2011-05-11 18:00:32 DEBUG [routes.middleware] Match dict: {'action': u'validate_token', 'token_id': u'584de02b-2b2c-4f0b-8cfa-aad455c7d78f', 'controller': } +2011-05-11 18:00:32 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:00:32] "GET /v1.0/token/584de02b-2b2c-4f0b-8cfa-aad455c7d78f?belongsTo=1234 HTTP/1.1" 200 372 0.045377 +2011-05-11 18:00:32 DEBUG [routes.middleware] Matched DELETE /v1.0/token/584de02b-2b2c-4f0b-8cfa-aad455c7d78f +2011-05-11 18:00:32 DEBUG [routes.middleware] Route path: '/v1.0/token/{token_id}', defaults: {'action': u'delete_token', 'controller': } +2011-05-11 18:00:32 DEBUG [routes.middleware] Match dict: {'action': u'delete_token', 'token_id': u'584de02b-2b2c-4f0b-8cfa-aad455c7d78f', 'controller': } +2011-05-11 18:00:32 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:00:32] "DELETE /v1.0/token/584de02b-2b2c-4f0b-8cfa-aad455c7d78f HTTP/1.1" 204 103 0.159470 diff --git a/keystone/logic/service.py b/keystone/logic/service.py index e0a62b7a..a51e3959 100644 --- a/keystone/logic/service.py +++ b/keystone/logic/service.py @@ -271,11 +271,11 @@ class IDMService(object): raise fault.ItemNotFoundFault("The tenant group not found") if group_id != group.group_id: - raise fault.BadRequestFault("Wrong Data Provided, + raise fault.BadRequestFault("Wrong Data Provided,\ Group id not matching") if str(tenant_id) != str(group.tenant_id): - raise fault.BadRequestFault("Wrong Data Provided, + raise fault.BadRequestFault("Wrong Data Provided,\ Tenant id not matching ") values = {'desc': group.description} diff --git a/test/unit/test_token.py b/test/unit/test_token.py index b75592dc..c29061c2 100644 --- a/test/unit/test_token.py +++ b/test/unit/test_token.py @@ -14,7 +14,7 @@ from test_common import * class validate_token(unittest.TestCase): - + def setUp(self): self.token = get_token('joeuser', 'secrete', 'token') self.tenant = get_tenant() @@ -26,7 +26,7 @@ class validate_token(unittest.TestCase): def tearDown(self): delete_token(self.token, self.auth_token) - + def test_validate_token_true(self): h = httplib2.Http(".cache") @@ -61,8 +61,8 @@ class validate_token(unittest.TestCase): self.tenant) resp, content = h.request(url, "GET", body='', headers={"Content-Type": "application/json", - "X-Auth-Token": self.exp_auth_token - }) + "X-Auth-Token": self.exp_auth_token} + ) if int(resp['status']) == 500: self.fail('IDM fault') elif int(resp['status']) == 503: @@ -116,4 +116,4 @@ class validate_token(unittest.TestCase): self.assertEqual('application/json', content_type(resp)) if __name__ == '__main__': - unittest.main() \ No newline at end of file + unittest.main() -- cgit From fdc8f67be79cf399235f7a272176081061e0d588 Mon Sep 17 00:00:00 2001 From: Sai Krishna Date: Wed, 11 May 2011 18:12:09 +0530 Subject: Added new script to run all tests --- keystone.log | 4916 +++++++++++++++++++++++ test/unit/test_identity.py | 9446 +------------------------------------------- 2 files changed, 4966 insertions(+), 9396 deletions(-) diff --git a/keystone.log b/keystone.log index 4cd91fdc..0ee3df20 100644 --- a/keystone.log +++ b/keystone.log @@ -5000,3 +5000,4919 @@ 2011-05-11 18:00:32 DEBUG [routes.middleware] Route path: '/v1.0/token/{token_id}', defaults: {'action': u'delete_token', 'controller': } 2011-05-11 18:00:32 DEBUG [routes.middleware] Match dict: {'action': u'delete_token', 'token_id': u'584de02b-2b2c-4f0b-8cfa-aad455c7d78f', 'controller': } 2011-05-11 18:00:32 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:00:32] "DELETE /v1.0/token/584de02b-2b2c-4f0b-8cfa-aad455c7d78f HTTP/1.1" 204 103 0.159470 +2011-05-11 18:08:56 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:08:56 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:08:56 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:08:56 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:08:56] "POST /v1.0/token HTTP/1.1" 200 347 0.100084 +2011-05-11 18:08:56 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:08:56 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:08:56 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:08:56 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:08:56] "POST /v1.0/token HTTP/1.1" 200 347 0.015688 +2011-05-11 18:08:56 DEBUG [routes.middleware] Matched DELETE /v1.0/token/4dcde292-f912-421a-b04e-c75e88204956 +2011-05-11 18:08:56 DEBUG [routes.middleware] Route path: '/v1.0/token/{token_id}', defaults: {'action': u'delete_token', 'controller': } +2011-05-11 18:08:56 DEBUG [routes.middleware] Match dict: {'action': u'delete_token', 'token_id': u'4dcde292-f912-421a-b04e-c75e88204956', 'controller': } +2011-05-11 18:08:56 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:08:56] "DELETE /v1.0/token/4dcde292-f912-421a-b04e-c75e88204956 HTTP/1.1" 204 103 0.088494 +2011-05-11 18:08:56 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:08:56 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:08:56 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:08:56 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:08:56] "POST /v1.0/token HTTP/1.1" 200 347 0.101366 +2011-05-11 18:08:56 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:08:56 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:08:56 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:08:56 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:08:56] "POST /v1.0/token HTTP/1.1" 403 208 0.017270 +2011-05-11 18:08:56 DEBUG [routes.middleware] Matched DELETE /v1.0/token/3be382fa-2fae-461f-9acd-83fab8d030fc +2011-05-11 18:08:56 DEBUG [routes.middleware] Route path: '/v1.0/token/{token_id}', defaults: {'action': u'delete_token', 'controller': } +2011-05-11 18:08:56 DEBUG [routes.middleware] Match dict: {'action': u'delete_token', 'token_id': u'3be382fa-2fae-461f-9acd-83fab8d030fc', 'controller': } +2011-05-11 18:08:57 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:08:57] "DELETE /v1.0/token/3be382fa-2fae-461f-9acd-83fab8d030fc HTTP/1.1" 204 103 0.097091 +2011-05-11 18:08:57 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:08:57 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:08:57 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:08:57 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:08:57] "POST /v1.0/token HTTP/1.1" 200 347 0.109329 +2011-05-11 18:08:57 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:08:57 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:08:57 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:08:57 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:08:57] "POST /v1.0/token HTTP/1.1" 403 266 0.020108 +2011-05-11 18:08:57 DEBUG [routes.middleware] Matched DELETE /v1.0/token/1de46f45-d828-4b68-baac-3cc08792933c +2011-05-11 18:08:57 DEBUG [routes.middleware] Route path: '/v1.0/token/{token_id}', defaults: {'action': u'delete_token', 'controller': } +2011-05-11 18:08:57 DEBUG [routes.middleware] Match dict: {'action': u'delete_token', 'token_id': u'1de46f45-d828-4b68-baac-3cc08792933c', 'controller': } +2011-05-11 18:08:57 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:08:57] "DELETE /v1.0/token/1de46f45-d828-4b68-baac-3cc08792933c HTTP/1.1" 204 103 0.094673 +2011-05-11 18:08:57 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:08:57 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:08:57 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:08:57 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:08:57] "POST /v1.0/token HTTP/1.1" 200 347 0.101538 +2011-05-11 18:08:57 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:08:57 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:08:57 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:08:57 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:08:57] "POST /v1.0/token HTTP/1.1" 400 198 0.002135 +2011-05-11 18:08:57 DEBUG [routes.middleware] Matched DELETE /v1.0/token/5a7b7e30-2cb2-4051-9dd6-80a02f9476b6 +2011-05-11 18:08:57 DEBUG [routes.middleware] Route path: '/v1.0/token/{token_id}', defaults: {'action': u'delete_token', 'controller': } +2011-05-11 18:08:57 DEBUG [routes.middleware] Match dict: {'action': u'delete_token', 'token_id': u'5a7b7e30-2cb2-4051-9dd6-80a02f9476b6', 'controller': } +2011-05-11 18:08:57 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:08:57] "DELETE /v1.0/token/5a7b7e30-2cb2-4051-9dd6-80a02f9476b6 HTTP/1.1" 204 103 0.103321 +2011-05-11 18:08:57 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:08:57 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:08:57 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:08:57 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:08:57] "POST /v1.0/token HTTP/1.1" 200 347 0.092436 +2011-05-11 18:08:57 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:08:57 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:08:57 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:08:57 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:08:57] "POST /v1.0/token HTTP/1.1" 400 254 0.002449 +2011-05-11 18:08:57 DEBUG [routes.middleware] Matched DELETE /v1.0/token/274094a7-d9ae-4886-8529-3008351a4c87 +2011-05-11 18:08:57 DEBUG [routes.middleware] Route path: '/v1.0/token/{token_id}', defaults: {'action': u'delete_token', 'controller': } +2011-05-11 18:08:57 DEBUG [routes.middleware] Match dict: {'action': u'delete_token', 'token_id': u'274094a7-d9ae-4886-8529-3008351a4c87', 'controller': } +2011-05-11 18:08:57 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:08:57] "DELETE /v1.0/token/274094a7-d9ae-4886-8529-3008351a4c87 HTTP/1.1" 204 103 0.095818 +2011-05-11 18:08:57 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:08:57 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:08:57 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:08:57 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:08:57] "POST /v1.0/token HTTP/1.1" 200 347 0.085601 +2011-05-11 18:08:57 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:08:57 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:08:57 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:08:57 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:08:57] "POST /v1.0/token HTTP/1.1" 200 372 0.019717 +2011-05-11 18:08:57 DEBUG [routes.middleware] Matched DELETE /v1.0/token/a0f65b04-5969-4380-aea4-d5b9814aa5e3 +2011-05-11 18:08:57 DEBUG [routes.middleware] Route path: '/v1.0/token/{token_id}', defaults: {'action': u'delete_token', 'controller': } +2011-05-11 18:08:57 DEBUG [routes.middleware] Match dict: {'action': u'delete_token', 'token_id': u'a0f65b04-5969-4380-aea4-d5b9814aa5e3', 'controller': } +2011-05-11 18:08:57 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:08:57] "DELETE /v1.0/token/a0f65b04-5969-4380-aea4-d5b9814aa5e3 HTTP/1.1" 204 103 0.093890 +2011-05-11 18:08:57 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:08:57 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:08:57 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:08:57 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:08:57] "POST /v1.0/token HTTP/1.1" 200 347 0.086242 +2011-05-11 18:08:57 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 18:08:57 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 18:08:57 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 18:08:58 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:08:58] "POST /v1.0/groups HTTP/1.1" 201 202 0.159535 +2011-05-11 18:08:58 DEBUG [routes.middleware] Matched POST /v1.0/tenants/GlobalTenant/users +2011-05-11 18:08:58 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:08:58 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 18:08:58 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:08:58] "POST /v1.0/tenants/GlobalTenant/users HTTP/1.1" 409 212 0.031847 +2011-05-11 18:08:58 DEBUG [routes.middleware] Matched PUT /v1.0/groups/test_global_group/users/test_user +2011-05-11 18:08:58 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'add_user_global_group', 'controller': } +2011-05-11 18:08:58 DEBUG [routes.middleware] Match dict: {'action': u'add_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 18:08:58 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:08:58] "PUT /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 201 246 0.120247 +2011-05-11 18:08:58 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group/users/test_user +2011-05-11 18:08:58 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'delete_user_global_group', 'controller': } +2011-05-11 18:08:58 DEBUG [routes.middleware] Match dict: {'action': u'delete_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 18:08:58 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:08:58] "DELETE /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 204 103 0.120820 +2011-05-11 18:08:58 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant/users/test_user +2011-05-11 18:08:58 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:08:58 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'GlobalTenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:08:58 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:08:58] "DELETE /v1.0/tenants/GlobalTenant/users/test_user HTTP/1.1" 404 224 0.032442 +2011-05-11 18:08:58 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group +2011-05-11 18:08:58 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 18:08:58 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group'} +2011-05-11 18:08:58 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:08:58] "DELETE /v1.0/groups/test_global_group HTTP/1.1" 204 103 0.103851 +2011-05-11 18:08:58 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:08:58 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:08:58 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:08:58 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:08:58] "POST /v1.0/token HTTP/1.1" 200 347 0.031841 +2011-05-11 18:08:58 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 18:08:58 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 18:08:58 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 18:08:58 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:08:58] "POST /v1.0/groups HTTP/1.1" 201 202 0.088390 +2011-05-11 18:08:58 DEBUG [routes.middleware] Matched POST /v1.0/tenants/GlobalTenant/users +2011-05-11 18:08:58 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:08:58 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 18:08:58 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:08:58] "POST /v1.0/tenants/GlobalTenant/users HTTP/1.1" 409 212 0.032847 +2011-05-11 18:08:58 DEBUG [routes.middleware] Matched PUT /v1.0/groups/test_global_group/users/test_user +2011-05-11 18:08:58 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'add_user_global_group', 'controller': } +2011-05-11 18:08:58 DEBUG [routes.middleware] Match dict: {'action': u'add_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 18:08:58 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:08:58] "PUT /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 201 246 0.111906 +2011-05-11 18:08:58 DEBUG [routes.middleware] Matched PUT /v1.0/groups/test_global_group/users/test_user +2011-05-11 18:08:58 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'add_user_global_group', 'controller': } +2011-05-11 18:08:58 DEBUG [routes.middleware] Match dict: {'action': u'add_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 18:08:58 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:08:58] "PUT /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 409 225 0.050540 +2011-05-11 18:08:58 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group/users/test_user +2011-05-11 18:08:58 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'delete_user_global_group', 'controller': } +2011-05-11 18:08:58 DEBUG [routes.middleware] Match dict: {'action': u'delete_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 18:08:58 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:08:58] "DELETE /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 204 103 0.110403 +2011-05-11 18:08:58 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant/users/test_user +2011-05-11 18:08:58 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:08:58 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'GlobalTenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:08:59 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:08:59] "DELETE /v1.0/tenants/GlobalTenant/users/test_user HTTP/1.1" 404 224 0.031693 +2011-05-11 18:08:59 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group +2011-05-11 18:08:59 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 18:08:59 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group'} +2011-05-11 18:08:59 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:08:59] "DELETE /v1.0/groups/test_global_group HTTP/1.1" 204 103 0.096234 +2011-05-11 18:08:59 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:08:59 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:08:59 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:08:59 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:08:59] "POST /v1.0/token HTTP/1.1" 200 347 0.032589 +2011-05-11 18:08:59 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 18:08:59 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 18:08:59 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 18:08:59 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:08:59] "POST /v1.0/groups HTTP/1.1" 201 202 0.096510 +2011-05-11 18:08:59 DEBUG [routes.middleware] Matched POST /v1.0/tenants/GlobalTenant/users +2011-05-11 18:08:59 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:08:59 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 18:08:59 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:08:59] "POST /v1.0/tenants/GlobalTenant/users HTTP/1.1" 409 212 0.036581 +2011-05-11 18:08:59 DEBUG [routes.middleware] Matched PUT /v1.0/groups/test_global_group/users/test_user +2011-05-11 18:08:59 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'add_user_global_group', 'controller': } +2011-05-11 18:08:59 DEBUG [routes.middleware] Match dict: {'action': u'add_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 18:08:59 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:08:59] "PUT /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 201 273 0.165967 +2011-05-11 18:08:59 DEBUG [routes.middleware] Matched PUT /v1.0/groups/test_global_group/users/test_user +2011-05-11 18:08:59 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'add_user_global_group', 'controller': } +2011-05-11 18:08:59 DEBUG [routes.middleware] Match dict: {'action': u'add_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 18:08:59 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:08:59] "PUT /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 409 288 0.045302 +2011-05-11 18:08:59 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group/users/test_user +2011-05-11 18:08:59 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'delete_user_global_group', 'controller': } +2011-05-11 18:08:59 DEBUG [routes.middleware] Match dict: {'action': u'delete_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 18:08:59 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:08:59] "DELETE /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 204 103 0.124882 +2011-05-11 18:08:59 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant/users/test_user +2011-05-11 18:08:59 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:08:59 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'GlobalTenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:08:59 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:08:59] "DELETE /v1.0/tenants/GlobalTenant/users/test_user HTTP/1.1" 404 224 0.037083 +2011-05-11 18:08:59 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group +2011-05-11 18:08:59 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 18:08:59 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group'} +2011-05-11 18:08:59 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:08:59] "DELETE /v1.0/groups/test_global_group HTTP/1.1" 204 103 0.107940 +2011-05-11 18:08:59 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:08:59 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:08:59 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:08:59 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:08:59] "POST /v1.0/token HTTP/1.1" 200 347 0.021805 +2011-05-11 18:08:59 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 18:08:59 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 18:08:59 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 18:08:59 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:08:59] "POST /v1.0/groups HTTP/1.1" 201 202 0.099284 +2011-05-11 18:08:59 DEBUG [routes.middleware] Matched POST /v1.0/tenants/GlobalTenant/users +2011-05-11 18:08:59 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:08:59 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 18:08:59 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:08:59] "POST /v1.0/tenants/GlobalTenant/users HTTP/1.1" 409 212 0.032035 +2011-05-11 18:08:59 DEBUG [routes.middleware] Matched PUT /v1.0/groups/test_global_group/users/test_user +2011-05-11 18:08:59 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'add_user_global_group', 'controller': } +2011-05-11 18:08:59 DEBUG [routes.middleware] Match dict: {'action': u'add_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 18:08:59 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:08:59] "PUT /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 403 214 0.019148 +2011-05-11 18:08:59 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group/users/test_user +2011-05-11 18:08:59 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'delete_user_global_group', 'controller': } +2011-05-11 18:08:59 DEBUG [routes.middleware] Match dict: {'action': u'delete_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 18:09:00 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:00] "DELETE /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 404 218 0.045820 +2011-05-11 18:09:00 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant/users/test_user +2011-05-11 18:09:00 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:00 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'GlobalTenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:00 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:00] "DELETE /v1.0/tenants/GlobalTenant/users/test_user HTTP/1.1" 404 224 0.032191 +2011-05-11 18:09:00 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group +2011-05-11 18:09:00 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 18:09:00 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group'} +2011-05-11 18:09:00 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:00] "DELETE /v1.0/groups/test_global_group HTTP/1.1" 204 103 0.098874 +2011-05-11 18:09:00 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:00 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:00 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:00 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:00] "POST /v1.0/token HTTP/1.1" 200 347 0.039365 +2011-05-11 18:09:00 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 18:09:00 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 18:09:00 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 18:09:00 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:00] "POST /v1.0/groups HTTP/1.1" 201 202 0.089969 +2011-05-11 18:09:00 DEBUG [routes.middleware] Matched POST /v1.0/tenants/GlobalTenant/users +2011-05-11 18:09:00 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:00 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 18:09:00 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:00] "POST /v1.0/tenants/GlobalTenant/users HTTP/1.1" 409 212 0.033009 +2011-05-11 18:09:00 DEBUG [routes.middleware] Matched PUT /v1.0/groups/test_global_group/users/test_user +2011-05-11 18:09:00 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'add_user_global_group', 'controller': } +2011-05-11 18:09:00 DEBUG [routes.middleware] Match dict: {'action': u'add_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 18:09:00 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:00] "PUT /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 403 272 0.015726 +2011-05-11 18:09:00 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group/users/test_user +2011-05-11 18:09:00 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'delete_user_global_group', 'controller': } +2011-05-11 18:09:00 DEBUG [routes.middleware] Match dict: {'action': u'delete_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 18:09:00 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:00] "DELETE /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 404 218 0.053474 +2011-05-11 18:09:00 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant/users/test_user +2011-05-11 18:09:00 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:00 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'GlobalTenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:00 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:00] "DELETE /v1.0/tenants/GlobalTenant/users/test_user HTTP/1.1" 404 224 0.033759 +2011-05-11 18:09:00 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group +2011-05-11 18:09:00 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 18:09:00 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group'} +2011-05-11 18:09:00 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:00] "DELETE /v1.0/groups/test_global_group HTTP/1.1" 204 103 0.101445 +2011-05-11 18:09:00 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:00 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:00 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:00 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:00] "POST /v1.0/token HTTP/1.1" 200 347 0.021628 +2011-05-11 18:09:00 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 18:09:00 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 18:09:00 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 18:09:00 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:00] "POST /v1.0/groups HTTP/1.1" 201 202 0.089616 +2011-05-11 18:09:00 DEBUG [routes.middleware] Matched POST /v1.0/tenants/GlobalTenant/users +2011-05-11 18:09:00 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:00 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 18:09:00 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:00] "POST /v1.0/tenants/GlobalTenant/users HTTP/1.1" 409 212 0.040159 +2011-05-11 18:09:00 DEBUG [routes.middleware] Matched PUT /v1.0/groups/test_global_group/users/test_user +2011-05-11 18:09:00 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'add_user_global_group', 'controller': } +2011-05-11 18:09:00 DEBUG [routes.middleware] Match dict: {'action': u'add_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 18:09:00 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:00] "PUT /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 401 221 0.019073 +2011-05-11 18:09:00 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group/users/test_user +2011-05-11 18:09:00 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'delete_user_global_group', 'controller': } +2011-05-11 18:09:00 DEBUG [routes.middleware] Match dict: {'action': u'delete_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 18:09:00 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:00] "DELETE /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 404 218 0.043645 +2011-05-11 18:09:00 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant/users/test_user +2011-05-11 18:09:00 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:00 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'GlobalTenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:00 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:00] "DELETE /v1.0/tenants/GlobalTenant/users/test_user HTTP/1.1" 404 224 0.038011 +2011-05-11 18:09:00 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group +2011-05-11 18:09:00 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 18:09:00 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group'} +2011-05-11 18:09:01 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:01] "DELETE /v1.0/groups/test_global_group HTTP/1.1" 204 103 0.266667 +2011-05-11 18:09:01 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:01 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:01 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:01 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:01] "POST /v1.0/token HTTP/1.1" 200 347 0.023770 +2011-05-11 18:09:01 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 18:09:01 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 18:09:01 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 18:09:01 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:01] "POST /v1.0/groups HTTP/1.1" 201 202 0.087582 +2011-05-11 18:09:01 DEBUG [routes.middleware] Matched POST /v1.0/tenants/GlobalTenant/users +2011-05-11 18:09:01 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:01 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 18:09:01 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:01] "POST /v1.0/tenants/GlobalTenant/users HTTP/1.1" 409 212 0.033154 +2011-05-11 18:09:01 DEBUG [routes.middleware] Matched PUT /v1.0/groups/test_global_group/users/test_user +2011-05-11 18:09:01 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'add_user_global_group', 'controller': } +2011-05-11 18:09:01 DEBUG [routes.middleware] Match dict: {'action': u'add_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 18:09:01 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:01] "PUT /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 401 279 0.015325 +2011-05-11 18:09:01 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group/users/test_user +2011-05-11 18:09:01 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'delete_user_global_group', 'controller': } +2011-05-11 18:09:01 DEBUG [routes.middleware] Match dict: {'action': u'delete_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 18:09:01 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:01] "DELETE /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 404 218 0.047146 +2011-05-11 18:09:01 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant/users/test_user +2011-05-11 18:09:01 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:01 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'GlobalTenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:01 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:01] "DELETE /v1.0/tenants/GlobalTenant/users/test_user HTTP/1.1" 404 224 0.032054 +2011-05-11 18:09:01 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group +2011-05-11 18:09:01 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 18:09:01 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group'} +2011-05-11 18:09:01 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:01] "DELETE /v1.0/groups/test_global_group HTTP/1.1" 204 103 0.146151 +2011-05-11 18:09:01 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:01 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:01 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:01 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:01] "POST /v1.0/token HTTP/1.1" 200 347 0.025654 +2011-05-11 18:09:01 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 18:09:01 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 18:09:01 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 18:09:01 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:01] "POST /v1.0/groups HTTP/1.1" 201 202 0.094229 +2011-05-11 18:09:01 DEBUG [routes.middleware] Matched POST /v1.0/tenants/GlobalTenant/users +2011-05-11 18:09:01 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:01 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 18:09:01 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:01] "POST /v1.0/tenants/GlobalTenant/users HTTP/1.1" 409 212 0.032319 +2011-05-11 18:09:01 DEBUG [routes.middleware] Matched PUT /v1.0/groups/test_global_group/users/test_user +2011-05-11 18:09:01 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'add_user_global_group', 'controller': } +2011-05-11 18:09:01 DEBUG [routes.middleware] Match dict: {'action': u'add_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 18:09:01 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:01] "PUT /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 201 273 0.120610 +2011-05-11 18:09:01 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group/users/test_user +2011-05-11 18:09:01 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'delete_user_global_group', 'controller': } +2011-05-11 18:09:01 DEBUG [routes.middleware] Match dict: {'action': u'delete_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 18:09:01 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:01] "DELETE /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 204 103 0.154813 +2011-05-11 18:09:01 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant/users/test_user +2011-05-11 18:09:01 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:01 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'GlobalTenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:01 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:01] "DELETE /v1.0/tenants/GlobalTenant/users/test_user HTTP/1.1" 404 224 0.033824 +2011-05-11 18:09:01 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group +2011-05-11 18:09:01 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 18:09:01 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group'} +2011-05-11 18:09:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:02] "DELETE /v1.0/groups/test_global_group HTTP/1.1" 204 103 0.094443 +2011-05-11 18:09:02 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:02 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:02 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:02] "POST /v1.0/token HTTP/1.1" 200 347 0.022041 +2011-05-11 18:09:02 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 18:09:02 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 18:09:02 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 18:09:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:02] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 404 211 0.033760 +2011-05-11 18:09:02 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 18:09:02 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 18:09:02 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 18:09:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:02] "POST /v1.0/groups HTTP/1.1" 201 206 0.088668 +2011-05-11 18:09:02 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 18:09:02 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 18:09:02 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 18:09:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:02] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 204 103 0.097381 +2011-05-11 18:09:02 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 18:09:02 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:02 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 18:09:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:02] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.106611 +2011-05-11 18:09:02 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:02 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:02 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:02] "POST /v1.0/token HTTP/1.1" 200 347 0.027855 +2011-05-11 18:09:02 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 18:09:02 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 18:09:02 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 18:09:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:02] "POST /v1.0/groups HTTP/1.1" 201 206 0.167397 +2011-05-11 18:09:02 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 18:09:02 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 18:09:02 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 18:09:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:02] "POST /v1.0/groups HTTP/1.1" 409 226 0.021282 +2011-05-11 18:09:02 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 18:09:02 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 18:09:02 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 18:09:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:02] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 204 103 0.106775 +2011-05-11 18:09:02 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 18:09:02 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:02 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 18:09:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:02] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.088773 +2011-05-11 18:09:02 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:02 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:02 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:02] "POST /v1.0/token HTTP/1.1" 200 347 0.033827 +2011-05-11 18:09:02 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 18:09:02 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 18:09:02 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 18:09:03 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:03] "POST /v1.0/groups HTTP/1.1" 201 270 0.159064 +2011-05-11 18:09:03 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 18:09:03 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 18:09:03 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 18:09:03 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:03] "POST /v1.0/groups HTTP/1.1" 409 291 0.026328 +2011-05-11 18:09:03 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 18:09:03 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 18:09:03 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 18:09:03 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:03] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 204 103 0.092707 +2011-05-11 18:09:03 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 18:09:03 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:03 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 18:09:03 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:03] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.097492 +2011-05-11 18:09:03 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:03 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:03 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:03 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:03] "POST /v1.0/token HTTP/1.1" 200 347 0.022161 +2011-05-11 18:09:03 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 18:09:03 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 18:09:03 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 18:09:03 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:03] "POST /v1.0/groups HTTP/1.1" 403 214 0.018533 +2011-05-11 18:09:03 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 18:09:03 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 18:09:03 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 18:09:03 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:03] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 404 211 0.104248 +2011-05-11 18:09:03 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 18:09:03 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:03 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 18:09:03 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:03] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.098418 +2011-05-11 18:09:03 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:03 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:03 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:03 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:03] "POST /v1.0/token HTTP/1.1" 200 347 0.024214 +2011-05-11 18:09:03 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 18:09:03 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 18:09:03 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 18:09:03 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:03] "POST /v1.0/groups HTTP/1.1" 403 272 0.017819 +2011-05-11 18:09:03 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 18:09:03 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 18:09:03 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 18:09:03 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:03] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 404 211 0.096729 +2011-05-11 18:09:03 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 18:09:03 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:03 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 18:09:03 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:03] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.098388 +2011-05-11 18:09:03 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:03 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:03 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:03 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:03] "POST /v1.0/token HTTP/1.1" 200 347 0.022180 +2011-05-11 18:09:03 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 18:09:03 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 18:09:03 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 18:09:03 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:03] "POST /v1.0/groups HTTP/1.1" 403 202 0.018661 +2011-05-11 18:09:03 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 18:09:03 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 18:09:03 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 18:09:03 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:03] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 404 211 0.093156 +2011-05-11 18:09:03 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 18:09:03 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:03 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 18:09:03 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:03] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.099121 +2011-05-11 18:09:04 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:04 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:04 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:04 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:04] "POST /v1.0/token HTTP/1.1" 200 347 0.025581 +2011-05-11 18:09:04 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 18:09:04 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 18:09:04 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 18:09:04 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:04] "POST /v1.0/groups HTTP/1.1" 403 257 0.020076 +2011-05-11 18:09:04 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 18:09:04 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 18:09:04 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 18:09:04 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:04] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 404 211 0.088621 +2011-05-11 18:09:04 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 18:09:04 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:04 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 18:09:04 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:04] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.096445 +2011-05-11 18:09:04 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:04 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:04 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:04 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:04] "POST /v1.0/token HTTP/1.1" 200 347 0.025845 +2011-05-11 18:09:04 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 18:09:04 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 18:09:04 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 18:09:04 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:04] "POST /v1.0/groups HTTP/1.1" 404 210 0.015007 +2011-05-11 18:09:04 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 18:09:04 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 18:09:04 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 18:09:04 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:04] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 404 211 0.226203 +2011-05-11 18:09:04 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 18:09:04 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:04 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 18:09:04 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:04] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.207276 +2011-05-11 18:09:04 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:04 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:04 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:04 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:04] "POST /v1.0/token HTTP/1.1" 200 347 0.024966 +2011-05-11 18:09:04 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 18:09:04 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 18:09:04 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 18:09:04 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:04] "POST /v1.0/groups HTTP/1.1" 404 268 0.008206 +2011-05-11 18:09:04 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 18:09:04 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 18:09:04 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 18:09:04 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:04] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 404 211 0.100283 +2011-05-11 18:09:04 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 18:09:04 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:04 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 18:09:04 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:04] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.115840 +2011-05-11 18:09:04 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:04 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:04 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:05 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:05] "POST /v1.0/token HTTP/1.1" 200 347 0.046673 +2011-05-11 18:09:05 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 18:09:05 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 18:09:05 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 18:09:05 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:05] "POST /v1.0/groups HTTP/1.1" 401 194 0.007425 +2011-05-11 18:09:05 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 18:09:05 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 18:09:05 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 18:09:05 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:05] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 404 211 0.099203 +2011-05-11 18:09:05 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 18:09:05 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:05 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 18:09:05 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:05] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.096814 +2011-05-11 18:09:05 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:05 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:05 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:05 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:05] "POST /v1.0/token HTTP/1.1" 200 347 0.025602 +2011-05-11 18:09:05 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 18:09:05 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 18:09:05 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 18:09:05 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:05] "POST /v1.0/groups HTTP/1.1" 401 252 0.002537 +2011-05-11 18:09:05 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 18:09:05 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 18:09:05 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 18:09:05 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:05] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 404 211 0.095543 +2011-05-11 18:09:05 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 18:09:05 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:05 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 18:09:05 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:05] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.089505 +2011-05-11 18:09:05 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:05 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:05 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:05 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:05] "POST /v1.0/token HTTP/1.1" 200 347 0.023355 +2011-05-11 18:09:05 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 18:09:05 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 18:09:05 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 18:09:05 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:05] "POST /v1.0/groups HTTP/1.1" 201 270 0.156532 +2011-05-11 18:09:05 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 18:09:05 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 18:09:05 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 18:09:05 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:05] "POST /v1.0/groups HTTP/1.1" 401 221 0.018961 +2011-05-11 18:09:05 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 18:09:05 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 18:09:05 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 18:09:05 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:05] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 204 103 0.100053 +2011-05-11 18:09:05 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 18:09:05 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:05 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 18:09:05 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:05] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.097043 +2011-05-11 18:09:05 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:05 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:05 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:05 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:05] "POST /v1.0/token HTTP/1.1" 200 347 0.022654 +2011-05-11 18:09:05 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 18:09:05 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 18:09:05 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 18:09:05 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:05] "POST /v1.0/groups HTTP/1.1" 401 279 0.018778 +2011-05-11 18:09:05 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 18:09:05 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 18:09:05 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 18:09:06 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:06] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 404 211 0.100845 +2011-05-11 18:09:06 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 18:09:06 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:06 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 18:09:06 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:06] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.098879 +2011-05-11 18:09:06 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:06 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:06 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:06 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:06] "POST /v1.0/token HTTP/1.1" 200 347 0.029430 +2011-05-11 18:09:06 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 18:09:06 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 18:09:06 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 18:09:06 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:06] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 404 269 0.097273 +2011-05-11 18:09:06 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 18:09:06 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 18:09:06 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 18:09:06 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:06] "POST /v1.0/groups HTTP/1.1" 201 270 0.087503 +2011-05-11 18:09:06 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 18:09:06 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 18:09:06 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 18:09:06 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:06] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 204 103 0.113411 +2011-05-11 18:09:06 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 18:09:06 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:06 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 18:09:06 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:06] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.096998 +2011-05-11 18:09:06 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:06 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:06 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:06 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:06] "POST /v1.0/token HTTP/1.1" 200 347 0.029695 +2011-05-11 18:09:06 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:06 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:06 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:06 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:06] "POST /v1.0/tenants HTTP/1.1" 201 215 0.085665 +2011-05-11 18:09:06 DEBUG [routes.middleware] Matched POST /v1.0/tenant/GlobalTenant/groups +2011-05-11 18:09:06 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 18:09:06 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 18:09:06 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:06] "POST /v1.0/tenant/GlobalTenant/groups HTTP/1.1" 201 238 0.097259 +2011-05-11 18:09:06 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_delete +2011-05-11 18:09:06 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 18:09:06 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_delete'} +2011-05-11 18:09:06 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:06] "DELETE /v1.0/groups/test_global_group_delete HTTP/1.1" 204 103 0.105333 +2011-05-11 18:09:06 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 18:09:06 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:06 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 18:09:06 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:06] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.090075 +2011-05-11 18:09:06 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 18:09:06 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 18:09:06 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 18:09:07 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:07] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 404 211 0.087429 +2011-05-11 18:09:07 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 18:09:07 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:07 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 18:09:07 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:07] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.098870 +2011-05-11 18:09:07 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:07 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:07 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:07 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:07] "POST /v1.0/token HTTP/1.1" 200 347 0.022682 +2011-05-11 18:09:07 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_1 +2011-05-11 18:09:07 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 18:09:07 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_1'} +2011-05-11 18:09:07 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:07] "DELETE /v1.0/groups/test_global_group_1 HTTP/1.1" 404 211 0.088141 +2011-05-11 18:09:07 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 18:09:07 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 18:09:07 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 18:09:07 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:07] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 404 211 0.026540 +2011-05-11 18:09:07 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 18:09:07 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:07 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 18:09:07 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:07] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.093343 +2011-05-11 18:09:07 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:07 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:07 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:07 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:07] "POST /v1.0/token HTTP/1.1" 200 347 0.030011 +2011-05-11 18:09:07 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_1 +2011-05-11 18:09:07 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 18:09:07 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_1'} +2011-05-11 18:09:07 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:07] "DELETE /v1.0/groups/test_global_group_1 HTTP/1.1" 404 269 0.089382 +2011-05-11 18:09:07 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 18:09:07 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 18:09:07 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 18:09:07 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:07] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 404 211 0.025860 +2011-05-11 18:09:07 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 18:09:07 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:07 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 18:09:07 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:07] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.102006 +2011-05-11 18:09:07 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:07 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:07 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:07 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:07] "POST /v1.0/token HTTP/1.1" 200 347 0.021382 +2011-05-11 18:09:07 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:07 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:07 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:07 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:07] "POST /v1.0/tenants HTTP/1.1" 201 268 0.091191 +2011-05-11 18:09:07 DEBUG [routes.middleware] Matched POST /v1.0/tenant/GlobalTenant/groups +2011-05-11 18:09:07 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 18:09:07 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 18:09:07 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:07] "POST /v1.0/tenant/GlobalTenant/groups HTTP/1.1" 201 287 0.097434 +2011-05-11 18:09:07 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_delete +2011-05-11 18:09:07 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 18:09:07 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_delete'} +2011-05-11 18:09:07 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:07] "DELETE /v1.0/groups/test_global_group_delete HTTP/1.1" 204 103 0.096905 +2011-05-11 18:09:07 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 18:09:07 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:07 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 18:09:08 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:08] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.097426 +2011-05-11 18:09:08 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 18:09:08 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 18:09:08 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 18:09:08 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:08] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 404 211 0.096810 +2011-05-11 18:09:08 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 18:09:08 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:08 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 18:09:08 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:08] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.097661 +2011-05-11 18:09:08 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:08 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:08 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:08 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:08] "POST /v1.0/token HTTP/1.1" 200 347 0.029816 +2011-05-11 18:09:08 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 18:09:08 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 18:09:08 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 18:09:08 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:08] "POST /v1.0/groups HTTP/1.1" 201 202 0.156500 +2011-05-11 18:09:08 DEBUG [routes.middleware] Matched POST /v1.0/tenants/GlobalTenant/users +2011-05-11 18:09:08 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:08 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 18:09:08 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:08] "POST /v1.0/tenants/GlobalTenant/users HTTP/1.1" 409 212 0.037903 +2011-05-11 18:09:08 DEBUG [routes.middleware] Matched PUT /v1.0/groups/test_global_group/users/test_user +2011-05-11 18:09:08 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'add_user_global_group', 'controller': } +2011-05-11 18:09:08 DEBUG [routes.middleware] Match dict: {'action': u'add_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 18:09:08 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:08] "PUT /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 201 246 0.113348 +2011-05-11 18:09:08 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group/users/test_user +2011-05-11 18:09:08 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'delete_user_global_group', 'controller': } +2011-05-11 18:09:08 DEBUG [routes.middleware] Match dict: {'action': u'delete_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 18:09:08 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:08] "DELETE /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 204 103 0.120280 +2011-05-11 18:09:08 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group/users/test_user +2011-05-11 18:09:08 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'delete_user_global_group', 'controller': } +2011-05-11 18:09:08 DEBUG [routes.middleware] Match dict: {'action': u'delete_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 18:09:08 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:08] "DELETE /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 404 218 0.047369 +2011-05-11 18:09:08 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant/users/test_user +2011-05-11 18:09:08 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:08 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'GlobalTenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:08 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:08] "DELETE /v1.0/tenants/GlobalTenant/users/test_user HTTP/1.1" 404 224 0.033763 +2011-05-11 18:09:08 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group +2011-05-11 18:09:08 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 18:09:08 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group'} +2011-05-11 18:09:08 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:08] "DELETE /v1.0/groups/test_global_group HTTP/1.1" 204 103 0.103858 +2011-05-11 18:09:08 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:08 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:08 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:08 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:08] "POST /v1.0/token HTTP/1.1" 200 347 0.036668 +2011-05-11 18:09:08 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 18:09:08 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 18:09:08 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 18:09:09 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:09] "POST /v1.0/groups HTTP/1.1" 201 202 0.084158 +2011-05-11 18:09:09 DEBUG [routes.middleware] Matched POST /v1.0/tenants/GlobalTenant/users +2011-05-11 18:09:09 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:09 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 18:09:09 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:09] "POST /v1.0/tenants/GlobalTenant/users HTTP/1.1" 409 212 0.035334 +2011-05-11 18:09:09 DEBUG [routes.middleware] Matched PUT /v1.0/groups/test_global_group/users/test_user +2011-05-11 18:09:09 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'add_user_global_group', 'controller': } +2011-05-11 18:09:09 DEBUG [routes.middleware] Match dict: {'action': u'add_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 18:09:09 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:09] "PUT /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 403 214 0.018669 +2011-05-11 18:09:09 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group/users/test_user +2011-05-11 18:09:09 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'delete_user_global_group', 'controller': } +2011-05-11 18:09:09 DEBUG [routes.middleware] Match dict: {'action': u'delete_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 18:09:09 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:09] "DELETE /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 404 218 0.043078 +2011-05-11 18:09:09 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group/users/test_user +2011-05-11 18:09:09 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'delete_user_global_group', 'controller': } +2011-05-11 18:09:09 DEBUG [routes.middleware] Match dict: {'action': u'delete_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 18:09:09 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:09] "DELETE /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 404 218 0.042285 +2011-05-11 18:09:09 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group/users/test_user +2011-05-11 18:09:09 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'delete_user_global_group', 'controller': } +2011-05-11 18:09:09 DEBUG [routes.middleware] Match dict: {'action': u'delete_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 18:09:09 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:09] "DELETE /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 404 218 0.041161 +2011-05-11 18:09:09 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant/users/test_user +2011-05-11 18:09:09 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:09 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'GlobalTenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:09 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:09] "DELETE /v1.0/tenants/GlobalTenant/users/test_user HTTP/1.1" 404 224 0.043954 +2011-05-11 18:09:09 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group +2011-05-11 18:09:09 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 18:09:09 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group'} +2011-05-11 18:09:09 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:09] "DELETE /v1.0/groups/test_global_group HTTP/1.1" 204 103 0.096705 +2011-05-11 18:09:09 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:09 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:09 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:09 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:09] "POST /v1.0/token HTTP/1.1" 200 347 0.021571 +2011-05-11 18:09:09 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 18:09:09 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 18:09:09 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 18:09:09 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:09] "POST /v1.0/groups HTTP/1.1" 201 202 0.091223 +2011-05-11 18:09:09 DEBUG [routes.middleware] Matched POST /v1.0/tenants/GlobalTenant/users +2011-05-11 18:09:09 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:09 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 18:09:09 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:09] "POST /v1.0/tenants/GlobalTenant/users HTTP/1.1" 409 212 0.093942 +2011-05-11 18:09:09 DEBUG [routes.middleware] Matched PUT /v1.0/groups/test_global_group/users/test_user +2011-05-11 18:09:09 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'add_user_global_group', 'controller': } +2011-05-11 18:09:09 DEBUG [routes.middleware] Match dict: {'action': u'add_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 18:09:09 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:09] "PUT /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 403 214 0.030858 +2011-05-11 18:09:09 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group/users/test_user +2011-05-11 18:09:09 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'delete_user_global_group', 'controller': } +2011-05-11 18:09:09 DEBUG [routes.middleware] Match dict: {'action': u'delete_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 18:09:09 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:09] "DELETE /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 404 218 0.061164 +2011-05-11 18:09:09 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group/users/test_user +2011-05-11 18:09:09 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'delete_user_global_group', 'controller': } +2011-05-11 18:09:09 DEBUG [routes.middleware] Match dict: {'action': u'delete_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 18:09:09 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:09] "DELETE /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 404 276 0.060849 +2011-05-11 18:09:09 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group/users/test_user +2011-05-11 18:09:09 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'delete_user_global_group', 'controller': } +2011-05-11 18:09:09 DEBUG [routes.middleware] Match dict: {'action': u'delete_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 18:09:09 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:09] "DELETE /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 404 218 0.050344 +2011-05-11 18:09:09 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant/users/test_user +2011-05-11 18:09:09 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:09 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'GlobalTenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:09 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:09] "DELETE /v1.0/tenants/GlobalTenant/users/test_user HTTP/1.1" 404 224 0.027150 +2011-05-11 18:09:09 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group +2011-05-11 18:09:09 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 18:09:09 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group'} +2011-05-11 18:09:09 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:09] "DELETE /v1.0/groups/test_global_group HTTP/1.1" 204 103 0.087307 +2011-05-11 18:09:09 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:09 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:09 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:09 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:09] "POST /v1.0/token HTTP/1.1" 200 347 0.016022 +2011-05-11 18:09:09 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 18:09:09 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 18:09:09 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 18:09:10 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:10] "POST /v1.0/groups HTTP/1.1" 201 202 0.081457 +2011-05-11 18:09:10 DEBUG [routes.middleware] Matched POST /v1.0/tenants/GlobalTenant/users +2011-05-11 18:09:10 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:10 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 18:09:10 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:10] "POST /v1.0/tenants/GlobalTenant/users HTTP/1.1" 409 212 0.022205 +2011-05-11 18:09:10 DEBUG [routes.middleware] Matched PUT /v1.0/groups/test_global_group/users/test_user +2011-05-11 18:09:10 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'add_user_global_group', 'controller': } +2011-05-11 18:09:10 DEBUG [routes.middleware] Match dict: {'action': u'add_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 18:09:10 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:10] "PUT /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 201 246 0.098990 +2011-05-11 18:09:10 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group/users/test_user +2011-05-11 18:09:10 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'delete_user_global_group', 'controller': } +2011-05-11 18:09:10 DEBUG [routes.middleware] Match dict: {'action': u'delete_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 18:09:10 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:10] "DELETE /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 204 103 0.113660 +2011-05-11 18:09:10 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group/users/test_user +2011-05-11 18:09:10 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'delete_user_global_group', 'controller': } +2011-05-11 18:09:10 DEBUG [routes.middleware] Match dict: {'action': u'delete_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 18:09:10 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:10] "DELETE /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 404 218 0.045159 +2011-05-11 18:09:10 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant/users/test_user +2011-05-11 18:09:10 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:10 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'GlobalTenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:10 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:10] "DELETE /v1.0/tenants/GlobalTenant/users/test_user HTTP/1.1" 404 224 0.039337 +2011-05-11 18:09:10 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group +2011-05-11 18:09:10 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 18:09:10 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group'} +2011-05-11 18:09:10 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:10] "DELETE /v1.0/groups/test_global_group HTTP/1.1" 204 103 0.099461 +2011-05-11 18:09:10 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:10 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:10 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:10 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:10] "POST /v1.0/token HTTP/1.1" 200 347 0.022231 +2011-05-11 18:09:10 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 18:09:10 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 18:09:10 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 18:09:10 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:10] "POST /v1.0/groups HTTP/1.1" 201 206 0.091522 +2011-05-11 18:09:10 DEBUG [routes.middleware] Matched GET /v1.0/groups/test_global_group_add +2011-05-11 18:09:10 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'get_group', 'controller': } +2011-05-11 18:09:10 DEBUG [routes.middleware] Match dict: {'action': u'get_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 18:09:10 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:10] "GET /v1.0/groups/test_global_group_add HTTP/1.1" 200 201 0.028183 +2011-05-11 18:09:10 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 18:09:10 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 18:09:10 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 18:09:10 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:10] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 204 103 0.097714 +2011-05-11 18:09:10 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 18:09:10 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:10 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 18:09:10 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:10] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.087683 +2011-05-11 18:09:10 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:10 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:10 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:10 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:10] "POST /v1.0/token HTTP/1.1" 200 347 0.022429 +2011-05-11 18:09:10 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 18:09:10 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 18:09:10 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 18:09:11 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:11] "POST /v1.0/groups HTTP/1.1" 201 206 0.156388 +2011-05-11 18:09:11 DEBUG [routes.middleware] Matched GET /v1.0/groups/global_group_bad +2011-05-11 18:09:11 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'get_group', 'controller': } +2011-05-11 18:09:11 DEBUG [routes.middleware] Match dict: {'action': u'get_group', 'controller': , 'group_id': u'global_group_bad'} +2011-05-11 18:09:11 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:11] "GET /v1.0/groups/global_group_bad HTTP/1.1" 404 211 0.024733 +2011-05-11 18:09:11 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 18:09:11 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 18:09:11 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 18:09:11 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:11] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 204 103 0.093277 +2011-05-11 18:09:11 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 18:09:11 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:11 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 18:09:11 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:11] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.097807 +2011-05-11 18:09:11 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:11 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:11 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:11 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:11] "POST /v1.0/token HTTP/1.1" 200 347 0.029062 +2011-05-11 18:09:11 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 18:09:11 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 18:09:11 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 18:09:11 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:11] "POST /v1.0/groups HTTP/1.1" 201 270 0.164219 +2011-05-11 18:09:11 DEBUG [routes.middleware] Matched GET /v1.0/groups/global_group_bad +2011-05-11 18:09:11 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'get_group', 'controller': } +2011-05-11 18:09:11 DEBUG [routes.middleware] Match dict: {'action': u'get_group', 'controller': , 'group_id': u'global_group_bad'} +2011-05-11 18:09:11 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:11] "GET /v1.0/groups/global_group_bad HTTP/1.1" 404 269 0.030102 +2011-05-11 18:09:11 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 18:09:11 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 18:09:11 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 18:09:11 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:11] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 204 103 0.105809 +2011-05-11 18:09:11 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 18:09:11 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:11 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 18:09:11 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:11] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.097305 +2011-05-11 18:09:11 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:11 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:11 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:11 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:11] "POST /v1.0/token HTTP/1.1" 200 347 0.027766 +2011-05-11 18:09:11 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 18:09:11 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 18:09:11 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 18:09:11 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:11] "POST /v1.0/groups HTTP/1.1" 201 270 0.142221 +2011-05-11 18:09:11 DEBUG [routes.middleware] Matched GET /v1.0/groups/test_global_group_add +2011-05-11 18:09:11 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'get_group', 'controller': } +2011-05-11 18:09:11 DEBUG [routes.middleware] Match dict: {'action': u'get_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 18:09:11 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:11] "GET /v1.0/groups/test_global_group_add HTTP/1.1" 200 265 0.031122 +2011-05-11 18:09:11 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 18:09:11 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 18:09:11 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 18:09:12 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:12] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 204 103 0.096293 +2011-05-11 18:09:12 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 18:09:12 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:12 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 18:09:12 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:12] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.105615 +2011-05-11 18:09:12 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:12 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:12 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:12 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:12] "POST /v1.0/token HTTP/1.1" 200 347 0.031438 +2011-05-11 18:09:12 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 18:09:12 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 18:09:12 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 18:09:12 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:12] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 404 211 0.094550 +2011-05-11 18:09:12 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 18:09:12 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 18:09:12 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 18:09:12 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:12] "POST /v1.0/groups HTTP/1.1" 201 206 0.099199 +2011-05-11 18:09:12 DEBUG [routes.middleware] Matched GET /v1.0/groups +2011-05-11 18:09:12 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'get_groups', 'controller': } +2011-05-11 18:09:12 DEBUG [routes.middleware] Match dict: {'action': u'get_groups', 'controller': } +2011-05-11 18:09:12 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:12] "GET /v1.0/groups HTTP/1.1" 200 230 0.042283 +2011-05-11 18:09:12 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 18:09:12 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 18:09:12 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 18:09:12 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:12] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 204 103 0.101659 +2011-05-11 18:09:12 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 18:09:12 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:12 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 18:09:12 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:12] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.089671 +2011-05-11 18:09:12 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:12 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:12 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:12 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:12] "POST /v1.0/token HTTP/1.1" 200 347 0.029051 +2011-05-11 18:09:12 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 18:09:12 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 18:09:12 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 18:09:12 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:12] "POST /v1.0/groups HTTP/1.1" 201 206 0.157671 +2011-05-11 18:09:12 DEBUG [routes.middleware] Matched GET /v1.0/groups +2011-05-11 18:09:12 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'get_groups', 'controller': } +2011-05-11 18:09:12 DEBUG [routes.middleware] Match dict: {'action': u'get_groups', 'controller': } +2011-05-11 18:09:12 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:12] "GET /v1.0/groups HTTP/1.1" 403 202 0.024962 +2011-05-11 18:09:12 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 18:09:12 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 18:09:12 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 18:09:12 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:12] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 204 103 0.094959 +2011-05-11 18:09:12 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 18:09:12 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:12 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 18:09:12 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:12] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.089120 +2011-05-11 18:09:12 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:12 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:12 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:13 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:13] "POST /v1.0/token HTTP/1.1" 200 347 0.025722 +2011-05-11 18:09:13 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 18:09:13 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 18:09:13 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 18:09:13 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:13] "POST /v1.0/groups HTTP/1.1" 201 270 0.162170 +2011-05-11 18:09:13 DEBUG [routes.middleware] Matched GET /v1.0/groups +2011-05-11 18:09:13 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'get_groups', 'controller': } +2011-05-11 18:09:13 DEBUG [routes.middleware] Match dict: {'action': u'get_groups', 'controller': } +2011-05-11 18:09:13 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:13] "GET /v1.0/groups HTTP/1.1" 403 257 0.022109 +2011-05-11 18:09:13 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 18:09:13 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 18:09:13 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 18:09:13 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:13] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 204 103 0.106622 +2011-05-11 18:09:13 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 18:09:13 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:13 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 18:09:13 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:13] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.097367 +2011-05-11 18:09:13 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:13 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:13 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:13 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:13] "POST /v1.0/token HTTP/1.1" 200 347 0.025303 +2011-05-11 18:09:13 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 18:09:13 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 18:09:13 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 18:09:13 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:13] "POST /v1.0/groups HTTP/1.1" 201 206 0.149724 +2011-05-11 18:09:13 DEBUG [routes.middleware] Matched GET /v1.0/groups +2011-05-11 18:09:13 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'get_groups', 'controller': } +2011-05-11 18:09:13 DEBUG [routes.middleware] Match dict: {'action': u'get_groups', 'controller': } +2011-05-11 18:09:13 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:13] "GET /v1.0/groups HTTP/1.1" 401 221 0.018151 +2011-05-11 18:09:13 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 18:09:13 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 18:09:13 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 18:09:13 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:13] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 204 103 0.093642 +2011-05-11 18:09:13 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 18:09:13 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:13 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 18:09:13 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:13] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.089143 +2011-05-11 18:09:13 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:13 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:13 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:13 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:13] "POST /v1.0/token HTTP/1.1" 200 347 0.031678 +2011-05-11 18:09:13 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 18:09:13 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 18:09:13 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 18:09:13 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:13] "POST /v1.0/groups HTTP/1.1" 201 270 0.145800 +2011-05-11 18:09:13 DEBUG [routes.middleware] Matched GET /v1.0/groups +2011-05-11 18:09:13 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'get_groups', 'controller': } +2011-05-11 18:09:13 DEBUG [routes.middleware] Match dict: {'action': u'get_groups', 'controller': } +2011-05-11 18:09:14 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:14] "GET /v1.0/groups HTTP/1.1" 401 279 0.024257 +2011-05-11 18:09:14 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 18:09:14 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 18:09:14 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 18:09:14 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:14] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 204 103 0.104442 +2011-05-11 18:09:14 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 18:09:14 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:14 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 18:09:14 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:14] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.105465 +2011-05-11 18:09:14 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:14 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:14 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:14 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:14] "POST /v1.0/token HTTP/1.1" 200 347 0.025177 +2011-05-11 18:09:14 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 18:09:14 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 18:09:14 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 18:09:14 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:14] "POST /v1.0/groups HTTP/1.1" 201 270 0.156758 +2011-05-11 18:09:14 DEBUG [routes.middleware] Matched GET /v1.0/groups +2011-05-11 18:09:14 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'get_groups', 'controller': } +2011-05-11 18:09:14 DEBUG [routes.middleware] Match dict: {'action': u'get_groups', 'controller': } +2011-05-11 18:09:14 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:14] "GET /v1.0/groups HTTP/1.1" 200 329 0.040046 +2011-05-11 18:09:14 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 18:09:14 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 18:09:14 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 18:09:14 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:14] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 204 103 0.105570 +2011-05-11 18:09:14 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 18:09:14 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:14 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 18:09:14 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:14] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.211235 +2011-05-11 18:09:14 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:14 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:14 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:14 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:14] "POST /v1.0/token HTTP/1.1" 200 347 0.042782 +2011-05-11 18:09:14 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 18:09:14 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 18:09:14 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 18:09:15 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:15] "POST /v1.0/groups HTTP/1.1" 201 202 0.287714 +2011-05-11 18:09:15 DEBUG [routes.middleware] Matched POST /v1.0/tenants/GlobalTenant/users +2011-05-11 18:09:15 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:15 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 18:09:15 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:15] "POST /v1.0/tenants/GlobalTenant/users HTTP/1.1" 409 212 0.029504 +2011-05-11 18:09:15 DEBUG [routes.middleware] Matched PUT /v1.0/groups/test_global_group/users/test_user +2011-05-11 18:09:15 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'add_user_global_group', 'controller': } +2011-05-11 18:09:15 DEBUG [routes.middleware] Match dict: {'action': u'add_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 18:09:15 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:15] "PUT /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 201 246 0.121531 +2011-05-11 18:09:15 DEBUG [routes.middleware] Matched GET /v1.0/groups/test_global_group/users +2011-05-11 18:09:15 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users', defaults: {'action': u'get_users_global_group', 'controller': } +2011-05-11 18:09:15 DEBUG [routes.middleware] Match dict: {'action': u'get_users_global_group', 'controller': , 'group_id': u'test_global_group'} +2011-05-11 18:09:15 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:15] "GET /v1.0/groups/test_global_group/users HTTP/1.1" 200 236 0.053938 +2011-05-11 18:09:15 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group/users/test_user +2011-05-11 18:09:15 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'delete_user_global_group', 'controller': } +2011-05-11 18:09:15 DEBUG [routes.middleware] Match dict: {'action': u'delete_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 18:09:15 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:15] "DELETE /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 204 103 0.103177 +2011-05-11 18:09:15 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant/users/test_user +2011-05-11 18:09:15 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:15 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'GlobalTenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:15 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:15] "DELETE /v1.0/tenants/GlobalTenant/users/test_user HTTP/1.1" 404 224 0.033014 +2011-05-11 18:09:15 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group +2011-05-11 18:09:15 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 18:09:15 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group'} +2011-05-11 18:09:15 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:15] "DELETE /v1.0/groups/test_global_group HTTP/1.1" 204 103 0.093337 +2011-05-11 18:09:15 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:15 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:15 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:15 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:15] "POST /v1.0/token HTTP/1.1" 200 347 0.030217 +2011-05-11 18:09:15 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 18:09:15 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 18:09:15 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 18:09:15 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:15] "POST /v1.0/groups HTTP/1.1" 201 202 0.088766 +2011-05-11 18:09:15 DEBUG [routes.middleware] Matched POST /v1.0/tenants/GlobalTenant/users +2011-05-11 18:09:15 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:15 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 18:09:15 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:15] "POST /v1.0/tenants/GlobalTenant/users HTTP/1.1" 409 212 0.032895 +2011-05-11 18:09:15 DEBUG [routes.middleware] Matched PUT /v1.0/groups/test_global_group/users/test_user +2011-05-11 18:09:15 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'add_user_global_group', 'controller': } +2011-05-11 18:09:15 DEBUG [routes.middleware] Match dict: {'action': u'add_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 18:09:16 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:16] "PUT /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 201 246 0.345071 +2011-05-11 18:09:16 DEBUG [routes.middleware] Matched GET /v1.0/groups/test_global_group/users +2011-05-11 18:09:16 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users', defaults: {'action': u'get_users_global_group', 'controller': } +2011-05-11 18:09:16 DEBUG [routes.middleware] Match dict: {'action': u'get_users_global_group', 'controller': , 'group_id': u'test_global_group'} +2011-05-11 18:09:16 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:16] "GET /v1.0/groups/test_global_group/users HTTP/1.1" 403 202 0.025591 +2011-05-11 18:09:16 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group/users/test_user +2011-05-11 18:09:16 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'delete_user_global_group', 'controller': } +2011-05-11 18:09:16 DEBUG [routes.middleware] Match dict: {'action': u'delete_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 18:09:16 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:16] "DELETE /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 204 103 0.109536 +2011-05-11 18:09:16 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant/users/test_user +2011-05-11 18:09:16 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:16 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'GlobalTenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:16 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:16] "DELETE /v1.0/tenants/GlobalTenant/users/test_user HTTP/1.1" 404 224 0.032293 +2011-05-11 18:09:16 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group +2011-05-11 18:09:16 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 18:09:16 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group'} +2011-05-11 18:09:16 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:16] "DELETE /v1.0/groups/test_global_group HTTP/1.1" 204 103 0.092943 +2011-05-11 18:09:16 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:16 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:16 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:16 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:16] "POST /v1.0/token HTTP/1.1" 200 347 0.027979 +2011-05-11 18:09:16 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 18:09:16 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 18:09:16 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 18:09:16 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:16] "POST /v1.0/groups HTTP/1.1" 201 202 0.101042 +2011-05-11 18:09:16 DEBUG [routes.middleware] Matched POST /v1.0/tenants/GlobalTenant/users +2011-05-11 18:09:16 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:16 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 18:09:16 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:16] "POST /v1.0/tenants/GlobalTenant/users HTTP/1.1" 409 212 0.029303 +2011-05-11 18:09:16 DEBUG [routes.middleware] Matched PUT /v1.0/groups/test_global_group/users/test_user +2011-05-11 18:09:16 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'add_user_global_group', 'controller': } +2011-05-11 18:09:16 DEBUG [routes.middleware] Match dict: {'action': u'add_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 18:09:16 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:16] "PUT /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 201 246 0.122925 +2011-05-11 18:09:16 DEBUG [routes.middleware] Matched GET /v1.0/groups/test_global_group/users +2011-05-11 18:09:16 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users', defaults: {'action': u'get_users_global_group', 'controller': } +2011-05-11 18:09:16 DEBUG [routes.middleware] Match dict: {'action': u'get_users_global_group', 'controller': , 'group_id': u'test_global_group'} +2011-05-11 18:09:16 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:16] "GET /v1.0/groups/test_global_group/users HTTP/1.1" 403 257 0.018546 +2011-05-11 18:09:16 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group/users/test_user +2011-05-11 18:09:16 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'delete_user_global_group', 'controller': } +2011-05-11 18:09:16 DEBUG [routes.middleware] Match dict: {'action': u'delete_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 18:09:16 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:16] "DELETE /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 204 103 0.135201 +2011-05-11 18:09:16 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant/users/test_user +2011-05-11 18:09:16 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:16 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'GlobalTenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:16 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:16] "DELETE /v1.0/tenants/GlobalTenant/users/test_user HTTP/1.1" 404 224 0.042530 +2011-05-11 18:09:16 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group +2011-05-11 18:09:16 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 18:09:16 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group'} +2011-05-11 18:09:16 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:16] "DELETE /v1.0/groups/test_global_group HTTP/1.1" 204 103 0.113251 +2011-05-11 18:09:16 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:16 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:16 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:16 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:16] "POST /v1.0/token HTTP/1.1" 200 347 0.022314 +2011-05-11 18:09:16 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 18:09:16 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 18:09:16 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 18:09:17 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:17] "POST /v1.0/groups HTTP/1.1" 201 202 0.098287 +2011-05-11 18:09:17 DEBUG [routes.middleware] Matched POST /v1.0/tenants/GlobalTenant/users +2011-05-11 18:09:17 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:17 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 18:09:17 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:17] "POST /v1.0/tenants/GlobalTenant/users HTTP/1.1" 409 212 0.035095 +2011-05-11 18:09:17 DEBUG [routes.middleware] Matched PUT /v1.0/groups/test_global_group/users/test_user +2011-05-11 18:09:17 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'add_user_global_group', 'controller': } +2011-05-11 18:09:17 DEBUG [routes.middleware] Match dict: {'action': u'add_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 18:09:17 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:17] "PUT /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 201 246 0.110526 +2011-05-11 18:09:17 DEBUG [routes.middleware] Matched GET /v1.0/groups/test_global_group/users +2011-05-11 18:09:17 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users', defaults: {'action': u'get_users_global_group', 'controller': } +2011-05-11 18:09:17 DEBUG [routes.middleware] Match dict: {'action': u'get_users_global_group', 'controller': , 'group_id': u'test_global_group'} +2011-05-11 18:09:17 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:17] "GET /v1.0/groups/test_global_group/users HTTP/1.1" 403 214 0.018901 +2011-05-11 18:09:17 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group/users/test_user +2011-05-11 18:09:17 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'delete_user_global_group', 'controller': } +2011-05-11 18:09:17 DEBUG [routes.middleware] Match dict: {'action': u'delete_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 18:09:17 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:17] "DELETE /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 204 103 0.115557 +2011-05-11 18:09:17 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant/users/test_user +2011-05-11 18:09:17 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:17 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'GlobalTenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:17 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:17] "DELETE /v1.0/tenants/GlobalTenant/users/test_user HTTP/1.1" 404 224 0.033840 +2011-05-11 18:09:17 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group +2011-05-11 18:09:17 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 18:09:17 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group'} +2011-05-11 18:09:17 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:17] "DELETE /v1.0/groups/test_global_group HTTP/1.1" 204 103 0.102610 +2011-05-11 18:09:17 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:17 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:17 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:17 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:17] "POST /v1.0/token HTTP/1.1" 200 347 0.028813 +2011-05-11 18:09:17 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 18:09:17 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 18:09:17 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 18:09:17 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:17] "POST /v1.0/groups HTTP/1.1" 201 202 0.086285 +2011-05-11 18:09:17 DEBUG [routes.middleware] Matched POST /v1.0/tenants/GlobalTenant/users +2011-05-11 18:09:17 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:17 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 18:09:17 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:17] "POST /v1.0/tenants/GlobalTenant/users HTTP/1.1" 409 212 0.031268 +2011-05-11 18:09:17 DEBUG [routes.middleware] Matched PUT /v1.0/groups/test_global_group/users/test_user +2011-05-11 18:09:17 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'add_user_global_group', 'controller': } +2011-05-11 18:09:17 DEBUG [routes.middleware] Match dict: {'action': u'add_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 18:09:17 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:17] "PUT /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 201 246 0.121653 +2011-05-11 18:09:17 DEBUG [routes.middleware] Matched GET /v1.0/groups/test_global_group/users +2011-05-11 18:09:17 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users', defaults: {'action': u'get_users_global_group', 'controller': } +2011-05-11 18:09:17 DEBUG [routes.middleware] Match dict: {'action': u'get_users_global_group', 'controller': , 'group_id': u'test_global_group'} +2011-05-11 18:09:17 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:17] "GET /v1.0/groups/test_global_group/users HTTP/1.1" 403 272 0.021647 +2011-05-11 18:09:17 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group/users/test_user +2011-05-11 18:09:17 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'delete_user_global_group', 'controller': } +2011-05-11 18:09:17 DEBUG [routes.middleware] Match dict: {'action': u'delete_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 18:09:17 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:17] "DELETE /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 204 103 0.124767 +2011-05-11 18:09:17 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant/users/test_user +2011-05-11 18:09:17 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:17 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'GlobalTenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:17 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:17] "DELETE /v1.0/tenants/GlobalTenant/users/test_user HTTP/1.1" 404 224 0.032688 +2011-05-11 18:09:17 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group +2011-05-11 18:09:17 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 18:09:17 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group'} +2011-05-11 18:09:18 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:18] "DELETE /v1.0/groups/test_global_group HTTP/1.1" 204 103 0.110346 +2011-05-11 18:09:18 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:18 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:18 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:18 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:18] "POST /v1.0/token HTTP/1.1" 200 347 0.025775 +2011-05-11 18:09:18 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 18:09:18 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 18:09:18 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 18:09:18 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:18] "POST /v1.0/groups HTTP/1.1" 201 202 0.102969 +2011-05-11 18:09:18 DEBUG [routes.middleware] Matched POST /v1.0/tenants/GlobalTenant/users +2011-05-11 18:09:18 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:18 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 18:09:18 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:18] "POST /v1.0/tenants/GlobalTenant/users HTTP/1.1" 409 212 0.035587 +2011-05-11 18:09:18 DEBUG [routes.middleware] Matched PUT /v1.0/groups/test_global_group/users/test_user +2011-05-11 18:09:18 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'add_user_global_group', 'controller': } +2011-05-11 18:09:18 DEBUG [routes.middleware] Match dict: {'action': u'add_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 18:09:18 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:18] "PUT /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 201 246 0.115897 +2011-05-11 18:09:18 DEBUG [routes.middleware] Matched GET /v1.0/groups/test_global_group/users +2011-05-11 18:09:18 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users', defaults: {'action': u'get_users_global_group', 'controller': } +2011-05-11 18:09:18 DEBUG [routes.middleware] Match dict: {'action': u'get_users_global_group', 'controller': , 'group_id': u'test_global_group'} +2011-05-11 18:09:18 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:18] "GET /v1.0/groups/test_global_group/users HTTP/1.1" 401 221 0.017880 +2011-05-11 18:09:18 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group/users/test_user +2011-05-11 18:09:18 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'delete_user_global_group', 'controller': } +2011-05-11 18:09:18 DEBUG [routes.middleware] Match dict: {'action': u'delete_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 18:09:18 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:18] "DELETE /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 204 103 0.127141 +2011-05-11 18:09:18 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant/users/test_user +2011-05-11 18:09:18 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:18 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'GlobalTenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:18 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:18] "DELETE /v1.0/tenants/GlobalTenant/users/test_user HTTP/1.1" 404 224 0.037821 +2011-05-11 18:09:18 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group +2011-05-11 18:09:18 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 18:09:18 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group'} +2011-05-11 18:09:18 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:18] "DELETE /v1.0/groups/test_global_group HTTP/1.1" 204 103 0.097730 +2011-05-11 18:09:18 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:18 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:18 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:18 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:18] "POST /v1.0/token HTTP/1.1" 200 347 0.022879 +2011-05-11 18:09:18 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 18:09:18 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 18:09:18 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 18:09:18 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:18] "POST /v1.0/groups HTTP/1.1" 201 202 0.097929 +2011-05-11 18:09:18 DEBUG [routes.middleware] Matched POST /v1.0/tenants/GlobalTenant/users +2011-05-11 18:09:18 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:18 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 18:09:18 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:18] "POST /v1.0/tenants/GlobalTenant/users HTTP/1.1" 409 212 0.035323 +2011-05-11 18:09:18 DEBUG [routes.middleware] Matched PUT /v1.0/groups/test_global_group/users/test_user +2011-05-11 18:09:18 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'add_user_global_group', 'controller': } +2011-05-11 18:09:18 DEBUG [routes.middleware] Match dict: {'action': u'add_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 18:09:18 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:18] "PUT /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 201 246 0.125328 +2011-05-11 18:09:18 DEBUG [routes.middleware] Matched GET /v1.0/groups/test_global_group/users +2011-05-11 18:09:18 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users', defaults: {'action': u'get_users_global_group', 'controller': } +2011-05-11 18:09:18 DEBUG [routes.middleware] Match dict: {'action': u'get_users_global_group', 'controller': , 'group_id': u'test_global_group'} +2011-05-11 18:09:19 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:19] "GET /v1.0/groups/test_global_group/users HTTP/1.1" 401 279 0.019584 +2011-05-11 18:09:19 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group/users/test_user +2011-05-11 18:09:19 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'delete_user_global_group', 'controller': } +2011-05-11 18:09:19 DEBUG [routes.middleware] Match dict: {'action': u'delete_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 18:09:19 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:19] "DELETE /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 204 103 0.123993 +2011-05-11 18:09:19 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant/users/test_user +2011-05-11 18:09:19 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:19 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'GlobalTenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:19 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:19] "DELETE /v1.0/tenants/GlobalTenant/users/test_user HTTP/1.1" 404 224 0.035891 +2011-05-11 18:09:19 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group +2011-05-11 18:09:19 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 18:09:19 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group'} +2011-05-11 18:09:19 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:19] "DELETE /v1.0/groups/test_global_group HTTP/1.1" 204 103 0.109607 +2011-05-11 18:09:19 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:19 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:19 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:19 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:19] "POST /v1.0/token HTTP/1.1" 200 347 0.029081 +2011-05-11 18:09:19 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 18:09:19 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 18:09:19 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 18:09:19 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:19] "POST /v1.0/groups HTTP/1.1" 201 202 0.090881 +2011-05-11 18:09:19 DEBUG [routes.middleware] Matched POST /v1.0/tenants/GlobalTenant/users +2011-05-11 18:09:19 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:19 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 18:09:19 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:19] "POST /v1.0/tenants/GlobalTenant/users HTTP/1.1" 409 212 0.034662 +2011-05-11 18:09:19 DEBUG [routes.middleware] Matched PUT /v1.0/groups/test_global_group/users/test_user +2011-05-11 18:09:19 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'add_user_global_group', 'controller': } +2011-05-11 18:09:19 DEBUG [routes.middleware] Match dict: {'action': u'add_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 18:09:19 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:19] "PUT /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 201 273 0.110512 +2011-05-11 18:09:19 DEBUG [routes.middleware] Matched GET /v1.0/groups/test_global_group/users +2011-05-11 18:09:19 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users', defaults: {'action': u'get_users_global_group', 'controller': } +2011-05-11 18:09:19 DEBUG [routes.middleware] Match dict: {'action': u'get_users_global_group', 'controller': , 'group_id': u'test_global_group'} +2011-05-11 18:09:19 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:19] "GET /v1.0/groups/test_global_group/users HTTP/1.1" 200 301 0.056801 +2011-05-11 18:09:19 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group/users/test_user +2011-05-11 18:09:19 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}/users/{user_id}', defaults: {'action': u'delete_user_global_group', 'controller': } +2011-05-11 18:09:19 DEBUG [routes.middleware] Match dict: {'action': u'delete_user_global_group', 'controller': , 'group_id': u'test_global_group', 'user_id': u'test_user'} +2011-05-11 18:09:19 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:19] "DELETE /v1.0/groups/test_global_group/users/test_user HTTP/1.1" 204 103 0.110976 +2011-05-11 18:09:19 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant/users/test_user +2011-05-11 18:09:19 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:19 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'GlobalTenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:19 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:19] "DELETE /v1.0/tenants/GlobalTenant/users/test_user HTTP/1.1" 404 224 0.045423 +2011-05-11 18:09:19 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group +2011-05-11 18:09:19 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 18:09:19 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group'} +2011-05-11 18:09:19 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:19] "DELETE /v1.0/groups/test_global_group HTTP/1.1" 204 103 0.211982 +2011-05-11 18:09:20 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:20 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:20 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:20 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:20] "POST /v1.0/token HTTP/1.1" 200 347 0.030922 +2011-05-11 18:09:20 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 18:09:20 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 18:09:20 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 18:09:20 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:20] "POST /v1.0/groups HTTP/1.1" 201 206 0.097403 +2011-05-11 18:09:20 DEBUG [routes.middleware] Matched PUT /v1.0/groups/test_global_group_add +2011-05-11 18:09:20 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'update_group', 'controller': } +2011-05-11 18:09:20 DEBUG [routes.middleware] Match dict: {'action': u'update_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 18:09:20 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:20] "PUT /v1.0/groups/test_global_group_add HTTP/1.1" 200 217 0.113630 +2011-05-11 18:09:20 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 18:09:20 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 18:09:20 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 18:09:20 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:20] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 204 103 0.113666 +2011-05-11 18:09:20 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 18:09:20 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:20 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 18:09:20 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:20] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.105496 +2011-05-11 18:09:20 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:20 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:20 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:20 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:20] "POST /v1.0/token HTTP/1.1" 200 347 0.025729 +2011-05-11 18:09:20 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 18:09:20 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 18:09:20 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 18:09:20 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:20] "POST /v1.0/groups HTTP/1.1" 201 206 0.161706 +2011-05-11 18:09:20 DEBUG [routes.middleware] Matched PUT /v1.0/groups/test_global_group_add +2011-05-11 18:09:20 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'update_group', 'controller': } +2011-05-11 18:09:20 DEBUG [routes.middleware] Match dict: {'action': u'update_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 18:09:20 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:20] "PUT /v1.0/groups/test_global_group_add HTTP/1.1" 400 205 0.003275 +2011-05-11 18:09:20 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 18:09:20 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 18:09:20 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 18:09:20 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:20] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 204 103 0.099358 +2011-05-11 18:09:20 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 18:09:20 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:20 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 18:09:20 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:20] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.104325 +2011-05-11 18:09:20 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:20 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:20 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:20 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:20] "POST /v1.0/token HTTP/1.1" 200 347 0.024957 +2011-05-11 18:09:20 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 18:09:20 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 18:09:20 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 18:09:21 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:21] "POST /v1.0/groups HTTP/1.1" 201 270 0.162095 +2011-05-11 18:09:21 DEBUG [routes.middleware] Matched PUT /v1.0/groups/test_global_group_add +2011-05-11 18:09:21 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'update_group', 'controller': } +2011-05-11 18:09:21 DEBUG [routes.middleware] Match dict: {'action': u'update_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 18:09:21 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:21] "PUT /v1.0/groups/test_global_group_add HTTP/1.1" 400 362 0.004814 +2011-05-11 18:09:21 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 18:09:21 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 18:09:21 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 18:09:21 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:21] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 204 103 0.100605 +2011-05-11 18:09:21 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 18:09:21 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:21 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 18:09:21 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:21] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.104073 +2011-05-11 18:09:21 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:21 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:21 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:21 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:21] "POST /v1.0/token HTTP/1.1" 200 347 0.022109 +2011-05-11 18:09:21 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 18:09:21 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 18:09:21 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 18:09:21 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:21] "POST /v1.0/groups HTTP/1.1" 201 206 0.140455 +2011-05-11 18:09:21 DEBUG [routes.middleware] Matched GET /v1.0/groups/NonexistingID +2011-05-11 18:09:21 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'get_group', 'controller': } +2011-05-11 18:09:21 DEBUG [routes.middleware] Match dict: {'action': u'get_group', 'controller': , 'group_id': u'NonexistingID'} +2011-05-11 18:09:21 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:21] "GET /v1.0/groups/NonexistingID HTTP/1.1" 404 211 0.032110 +2011-05-11 18:09:21 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 18:09:21 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 18:09:21 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 18:09:21 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:21] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 204 103 0.095428 +2011-05-11 18:09:21 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 18:09:21 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:21 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 18:09:21 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:21] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.088983 +2011-05-11 18:09:21 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:21 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:21 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:21 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:21] "POST /v1.0/token HTTP/1.1" 200 347 0.024841 +2011-05-11 18:09:21 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:21 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:21 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:21 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:21] "POST /v1.0/tenants HTTP/1.1" 201 268 0.087863 +2011-05-11 18:09:21 DEBUG [routes.middleware] Matched GET /v1.0/groups/NonexistingID +2011-05-11 18:09:21 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'get_group', 'controller': } +2011-05-11 18:09:21 DEBUG [routes.middleware] Match dict: {'action': u'get_group', 'controller': , 'group_id': u'NonexistingID'} +2011-05-11 18:09:21 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:21] "GET /v1.0/groups/NonexistingID HTTP/1.1" 404 269 0.027896 +2011-05-11 18:09:21 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 18:09:21 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 18:09:21 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 18:09:21 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:21] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 404 211 0.030785 +2011-05-11 18:09:21 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 18:09:21 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:21 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 18:09:21 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:21] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.100553 +2011-05-11 18:09:21 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:21 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:21 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:21 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:21] "POST /v1.0/token HTTP/1.1" 200 347 0.025615 +2011-05-11 18:09:21 DEBUG [routes.middleware] Matched POST /v1.0/groups +2011-05-11 18:09:21 DEBUG [routes.middleware] Route path: '/v1.0/groups', defaults: {'action': u'create_group', 'controller': } +2011-05-11 18:09:21 DEBUG [routes.middleware] Match dict: {'action': u'create_group', 'controller': } +2011-05-11 18:09:22 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:22] "POST /v1.0/groups HTTP/1.1" 201 206 0.170352 +2011-05-11 18:09:22 DEBUG [routes.middleware] Matched PUT /v1.0/groups/test_global_group_add +2011-05-11 18:09:22 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'update_group', 'controller': } +2011-05-11 18:09:22 DEBUG [routes.middleware] Match dict: {'action': u'update_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 18:09:22 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:22] "PUT /v1.0/groups/test_global_group_add HTTP/1.1" 200 259 0.114055 +2011-05-11 18:09:22 DEBUG [routes.middleware] Matched DELETE /v1.0/groups/test_global_group_add +2011-05-11 18:09:22 DEBUG [routes.middleware] Route path: '/v1.0/groups/{group_id}', defaults: {'action': u'delete_group', 'controller': } +2011-05-11 18:09:22 DEBUG [routes.middleware] Match dict: {'action': u'delete_group', 'controller': , 'group_id': u'test_global_group_add'} +2011-05-11 18:09:22 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:22] "DELETE /v1.0/groups/test_global_group_add HTTP/1.1" 204 103 0.096717 +2011-05-11 18:09:22 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/GlobalTenant +2011-05-11 18:09:22 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:22 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'GlobalTenant', 'controller': } +2011-05-11 18:09:22 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:22] "DELETE /v1.0/tenants/GlobalTenant HTTP/1.1" 204 103 0.097356 +2011-05-11 18:09:22 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:22 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:22 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:22 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:22] "POST /v1.0/token HTTP/1.1" 200 347 0.024434 +2011-05-11 18:09:22 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 18:09:22 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:22 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:22 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:22] "POST /v1.0/tenants/1234/users HTTP/1.1" 409 212 0.033709 +2011-05-11 18:09:22 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 18:09:22 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:22 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:22 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:22] "POST /v1.0/tenants/1234/users HTTP/1.1" 409 212 0.030023 +2011-05-11 18:09:22 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:22 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:22 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:22 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:22] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 204 103 0.111996 +2011-05-11 18:09:22 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:22 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:22 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:22 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:22] "POST /v1.0/token HTTP/1.1" 200 347 0.024716 +2011-05-11 18:09:22 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 18:09:22 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:22 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:22 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:22] "POST /v1.0/tenants/1234/users HTTP/1.1" 201 277 0.170621 +2011-05-11 18:09:22 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 18:09:22 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:22 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:22 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:22] "POST /v1.0/tenants/1234/users HTTP/1.1" 409 270 0.034691 +2011-05-11 18:09:22 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:22 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:22 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:23 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:23] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 204 103 0.126217 +2011-05-11 18:09:23 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:23 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:23 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:23 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:23] "POST /v1.0/token HTTP/1.1" 200 347 0.069213 +2011-05-11 18:09:23 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 18:09:23 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:23 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:23 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:23] "POST /v1.0/tenants/1234/users HTTP/1.1" 403 214 0.023803 +2011-05-11 18:09:23 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:23 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:23 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:23 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:23] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.035900 +2011-05-11 18:09:23 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:23 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:23 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:23 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:23] "POST /v1.0/token HTTP/1.1" 200 347 0.026800 +2011-05-11 18:09:23 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 18:09:23 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:23 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:23 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:23] "POST /v1.0/tenants/1234/users HTTP/1.1" 403 272 0.024296 +2011-05-11 18:09:23 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:23 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:23 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:23 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:23] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.034597 +2011-05-11 18:09:23 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:23 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:23 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:23 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:23] "POST /v1.0/token HTTP/1.1" 200 347 0.026422 +2011-05-11 18:09:23 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 18:09:23 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:23 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:23 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:23] "POST /v1.0/tenants/1234/users HTTP/1.1" 403 202 0.023513 +2011-05-11 18:09:23 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:23 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:23 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:23 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:23] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.032385 +2011-05-11 18:09:23 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:23 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:23 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:23 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:23] "POST /v1.0/token HTTP/1.1" 200 347 0.018705 +2011-05-11 18:09:23 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 18:09:23 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:23 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:23 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:23] "POST /v1.0/tenants/1234/users HTTP/1.1" 403 257 0.020965 +2011-05-11 18:09:23 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:23 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:23 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:23 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:23] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.028297 +2011-05-11 18:09:23 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:23 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:23 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:23 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:23] "POST /v1.0/token HTTP/1.1" 200 347 0.019683 +2011-05-11 18:09:23 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 18:09:23 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:23 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:23 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:23] "POST /v1.0/tenants/1234/users HTTP/1.1" 404 210 0.007860 +2011-05-11 18:09:23 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:23 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:23 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:23 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:23] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.032695 +2011-05-11 18:09:23 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:23 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:23 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:23 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:23] "POST /v1.0/token HTTP/1.1" 200 347 0.024657 +2011-05-11 18:09:23 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 18:09:23 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:23 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:23 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:23] "POST /v1.0/tenants/1234/users HTTP/1.1" 404 268 0.007461 +2011-05-11 18:09:23 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:23 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:23 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:23 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:23] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.021979 +2011-05-11 18:09:23 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:23 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:23 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:23 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:23] "POST /v1.0/token HTTP/1.1" 200 347 0.010827 +2011-05-11 18:09:23 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 18:09:23 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:23 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:23 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:23] "POST /v1.0/tenants/1234/users HTTP/1.1" 201 254 0.164926 +2011-05-11 18:09:23 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:23 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:23 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:23 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:23] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 204 103 0.121631 +2011-05-11 18:09:23 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:23 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:23 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:23 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:23] "POST /v1.0/token HTTP/1.1" 200 347 0.025042 +2011-05-11 18:09:23 DEBUG [routes.middleware] Matched POST /v1.0/tenants/0000/users +2011-05-11 18:09:23 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:23 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'0000', 'controller': } +2011-05-11 18:09:23 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:23] "POST /v1.0/tenants/0000/users HTTP/1.1" 403 210 0.023790 +2011-05-11 18:09:23 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:23 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:23 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:23 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:23] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.034338 +2011-05-11 18:09:23 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:23 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:23 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:24 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:24] "POST /v1.0/token HTTP/1.1" 200 347 0.024158 +2011-05-11 18:09:24 DEBUG [routes.middleware] Matched POST /v1.0/tenants/0000/users +2011-05-11 18:09:24 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:24 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'0000', 'controller': } +2011-05-11 18:09:24 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:24] "POST /v1.0/tenants/0000/users HTTP/1.1" 403 270 0.028179 +2011-05-11 18:09:24 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:24 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:24 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:24 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:24] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.029843 +2011-05-11 18:09:24 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:24 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:24 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:24 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:24] "POST /v1.0/token HTTP/1.1" 200 347 0.034382 +2011-05-11 18:09:24 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 18:09:24 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:24 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:24 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:24] "POST /v1.0/tenants/1234/users HTTP/1.1" 401 194 0.004718 +2011-05-11 18:09:24 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:24 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:24 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:24 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:24] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.030325 +2011-05-11 18:09:24 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:24 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:24 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:24 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:24] "POST /v1.0/token HTTP/1.1" 200 347 0.021172 +2011-05-11 18:09:24 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 18:09:24 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:24 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:24 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:24] "POST /v1.0/tenants/1234/users HTTP/1.1" 401 252 0.002747 +2011-05-11 18:09:24 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:24 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:24 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:24 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:24] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.037372 +2011-05-11 18:09:24 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:24 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:24 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:24 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:24] "POST /v1.0/token HTTP/1.1" 200 347 0.024454 +2011-05-11 18:09:24 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:24 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:24 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:24 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:24] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 263 0.033007 +2011-05-11 18:09:24 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 18:09:24 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:24 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:24 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:24] "POST /v1.0/tenants/1234/users HTTP/1.1" 201 277 0.162686 +2011-05-11 18:09:24 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:24 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:24 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:24 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:24] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 204 103 0.122036 +2011-05-11 18:09:24 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:24 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:24 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:24 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:24] "POST /v1.0/token HTTP/1.1" 200 347 0.029801 +2011-05-11 18:09:24 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/0000/users/disabled +2011-05-11 18:09:24 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:24 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'0000', 'controller': , 'user_id': u'disabled'} +2011-05-11 18:09:24 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:24] "DELETE /v1.0/tenants/0000/users/disabled HTTP/1.1" 403 210 0.020070 +2011-05-11 18:09:24 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:24 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:24 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:24 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:24] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.028292 +2011-05-11 18:09:24 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:24 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:24 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:24 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:24] "POST /v1.0/token HTTP/1.1" 200 347 0.022189 +2011-05-11 18:09:24 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/0000/users/disabled +2011-05-11 18:09:24 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:24 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'0000', 'controller': , 'user_id': u'disabled'} +2011-05-11 18:09:24 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:24] "DELETE /v1.0/tenants/0000/users/disabled HTTP/1.1" 403 270 0.024721 +2011-05-11 18:09:24 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:24 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:24 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:24 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:24] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.030791 +2011-05-11 18:09:24 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:24 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:24 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:24 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:24] "POST /v1.0/token HTTP/1.1" 200 347 0.028844 +2011-05-11 18:09:24 DEBUG [routes.middleware] Matched POST /v1.0/tenants/test_user/users +2011-05-11 18:09:24 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:24 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'test_user', 'controller': } +2011-05-11 18:09:24 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:24] "POST /v1.0/tenants/test_user/users HTTP/1.1" 401 193 0.041264 +2011-05-11 18:09:24 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:24 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:24 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:24 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:24] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 403 202 0.019115 +2011-05-11 18:09:24 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:24 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:24 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:24 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:24] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.039178 +2011-05-11 18:09:24 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:24 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:24 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:24 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:24] "POST /v1.0/token HTTP/1.1" 200 347 0.021964 +2011-05-11 18:09:24 DEBUG [routes.middleware] Matched POST /v1.0/tenants/test_user/users +2011-05-11 18:09:24 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:24 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'test_user', 'controller': } +2011-05-11 18:09:24 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:24] "POST /v1.0/tenants/test_user/users HTTP/1.1" 401 193 0.023277 +2011-05-11 18:09:24 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:24 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:24 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:24 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:24] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 403 257 0.015595 +2011-05-11 18:09:24 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:24 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:24 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:24 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:24] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.029807 +2011-05-11 18:09:24 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:24 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:24 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:25 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:25] "POST /v1.0/token HTTP/1.1" 200 347 0.021286 +2011-05-11 18:09:25 DEBUG [routes.middleware] Matched POST /v1.0/tenants/test_user/users +2011-05-11 18:09:25 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:25 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'test_user', 'controller': } +2011-05-11 18:09:25 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:25] "POST /v1.0/tenants/test_user/users HTTP/1.1" 401 193 0.046094 +2011-05-11 18:09:25 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:25 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:25 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:25 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:25] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 210 0.007790 +2011-05-11 18:09:25 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:25 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:25 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:25 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:25] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.038470 +2011-05-11 18:09:25 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:25 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:25 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:25 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:25] "POST /v1.0/token HTTP/1.1" 200 347 0.023783 +2011-05-11 18:09:25 DEBUG [routes.middleware] Matched POST /v1.0/tenants/test_user/users +2011-05-11 18:09:25 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:25 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'test_user', 'controller': } +2011-05-11 18:09:25 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:25] "POST /v1.0/tenants/test_user/users HTTP/1.1" 401 193 0.032811 +2011-05-11 18:09:25 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:25 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:25 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:25 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:25] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 268 0.005394 +2011-05-11 18:09:25 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:25 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:25 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:25 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:25] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.029693 +2011-05-11 18:09:25 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:25 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:25 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:25 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:25] "POST /v1.0/token HTTP/1.1" 200 347 0.033696 +2011-05-11 18:09:25 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 18:09:25 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:25 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:25 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:25] "POST /v1.0/tenants/1234/users HTTP/1.1" 201 254 0.173157 +2011-05-11 18:09:25 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:25 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:25 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:25 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:25] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 204 103 0.121933 +2011-05-11 18:09:25 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:25 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:25 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:25 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:25] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.033277 +2011-05-11 18:09:25 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:25 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:25 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:25 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:25] "POST /v1.0/token HTTP/1.1" 200 347 0.020174 +2011-05-11 18:09:25 DEBUG [routes.middleware] Matched POST /v1.0/tenants/test_user/users +2011-05-11 18:09:25 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:25 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'test_user', 'controller': } +2011-05-11 18:09:25 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:25] "POST /v1.0/tenants/test_user/users HTTP/1.1" 401 193 0.023103 +2011-05-11 18:09:25 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:25 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:25 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:25 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:25] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 401 194 0.002316 +2011-05-11 18:09:25 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:25 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:25 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:25 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:25] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.030793 +2011-05-11 18:09:25 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:25 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:25 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:25 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:25] "POST /v1.0/token HTTP/1.1" 200 347 0.038864 +2011-05-11 18:09:25 DEBUG [routes.middleware] Matched POST /v1.0/tenants/test_user/users +2011-05-11 18:09:25 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:25 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'test_user', 'controller': } +2011-05-11 18:09:25 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:25] "POST /v1.0/tenants/test_user/users HTTP/1.1" 401 193 0.021756 +2011-05-11 18:09:25 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:25 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:25 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:25 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:25] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 401 252 0.002360 +2011-05-11 18:09:25 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:25 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:25 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:25 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:25] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.029332 +2011-05-11 18:09:25 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:25 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:25 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:25 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:25] "POST /v1.0/token HTTP/1.1" 200 347 0.030745 +2011-05-11 18:09:25 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 18:09:25 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:25 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:26 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:26] "POST /v1.0/tenants/1234/users HTTP/1.1" 201 277 0.192005 +2011-05-11 18:09:26 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:26 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:26 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:26 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:26] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 204 103 0.113612 +2011-05-11 18:09:26 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:26 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:26 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:26 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:26] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.032395 +2011-05-11 18:09:26 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:26 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:26 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:26 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:26] "POST /v1.0/token HTTP/1.1" 200 347 0.022585 +2011-05-11 18:09:26 DEBUG [routes.middleware] Matched GET /v1.0/tenants/0000/users/disabled +2011-05-11 18:09:26 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'get_user', 'controller': } +2011-05-11 18:09:26 DEBUG [routes.middleware] Match dict: {'action': u'get_user', 'tenant_id': u'0000', 'controller': , 'user_id': u'disabled'} +2011-05-11 18:09:26 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:26] "GET /v1.0/tenants/0000/users/disabled HTTP/1.1" 403 210 0.021383 +2011-05-11 18:09:26 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:26 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:26 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:26 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:26] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.032040 +2011-05-11 18:09:26 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:26 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:26 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:26 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:26] "POST /v1.0/token HTTP/1.1" 200 347 0.021233 +2011-05-11 18:09:26 DEBUG [routes.middleware] Matched GET /v1.0/tenants/0000/users/disabled +2011-05-11 18:09:26 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'get_user', 'controller': } +2011-05-11 18:09:26 DEBUG [routes.middleware] Match dict: {'action': u'get_user', 'tenant_id': u'0000', 'controller': , 'user_id': u'disabled'} +2011-05-11 18:09:26 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:26] "GET /v1.0/tenants/0000/users/disabled HTTP/1.1" 403 270 0.028415 +2011-05-11 18:09:26 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:26 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:26 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:26 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:26] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.028436 +2011-05-11 18:09:26 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:26 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:26 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:26 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:26] "POST /v1.0/token HTTP/1.1" 200 347 0.022669 +2011-05-11 18:09:26 DEBUG [routes.middleware] Matched POST /v1.0/tenants/test_user/users +2011-05-11 18:09:26 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:26 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'test_user', 'controller': } +2011-05-11 18:09:26 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:26] "POST /v1.0/tenants/test_user/users HTTP/1.1" 401 193 0.022097 +2011-05-11 18:09:26 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:26 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'get_user', 'controller': } +2011-05-11 18:09:26 DEBUG [routes.middleware] Match dict: {'action': u'get_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:26 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:26] "GET /v1.0/tenants/1234/users/test_user HTTP/1.1" 403 214 0.018408 +2011-05-11 18:09:26 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:26 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:26 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:26 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:26] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.029988 +2011-05-11 18:09:26 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:26 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:26 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:26 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:26] "POST /v1.0/token HTTP/1.1" 200 347 0.016517 +2011-05-11 18:09:26 DEBUG [routes.middleware] Matched POST /v1.0/tenants/test_user/users +2011-05-11 18:09:26 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:26 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'test_user', 'controller': } +2011-05-11 18:09:26 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:26] "POST /v1.0/tenants/test_user/users HTTP/1.1" 401 193 0.014394 +2011-05-11 18:09:26 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:26 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'get_user', 'controller': } +2011-05-11 18:09:26 DEBUG [routes.middleware] Match dict: {'action': u'get_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:26 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:26] "GET /v1.0/tenants/1234/users/test_user HTTP/1.1" 403 272 0.010243 +2011-05-11 18:09:26 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:26 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:26 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:26 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:26] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.017802 +2011-05-11 18:09:26 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:26 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:26 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:26 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:26] "POST /v1.0/token HTTP/1.1" 200 347 0.015658 +2011-05-11 18:09:26 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234/users/disabled +2011-05-11 18:09:26 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'get_user', 'controller': } +2011-05-11 18:09:26 DEBUG [routes.middleware] Match dict: {'action': u'get_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'disabled'} +2011-05-11 18:09:26 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:26] "GET /v1.0/tenants/1234/users/disabled HTTP/1.1" 403 200 0.018576 +2011-05-11 18:09:26 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:26 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:26 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:26 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:26] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.026892 +2011-05-11 18:09:26 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:26 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:26 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:26 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:26] "POST /v1.0/token HTTP/1.1" 200 347 0.015101 +2011-05-11 18:09:26 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234/users/disabled +2011-05-11 18:09:26 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'get_user', 'controller': } +2011-05-11 18:09:26 DEBUG [routes.middleware] Match dict: {'action': u'get_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'disabled'} +2011-05-11 18:09:26 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:26] "GET /v1.0/tenants/1234/users/disabled HTTP/1.1" 403 258 0.018204 +2011-05-11 18:09:26 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:26 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:26 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:26 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:26] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.017486 +2011-05-11 18:09:26 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:26 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:26 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:26 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:26] "POST /v1.0/token HTTP/1.1" 200 347 0.012714 +2011-05-11 18:09:26 DEBUG [routes.middleware] Matched POST /v1.0/tenants/test_user/users +2011-05-11 18:09:26 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:26 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'test_user', 'controller': } +2011-05-11 18:09:26 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:26] "POST /v1.0/tenants/test_user/users HTTP/1.1" 401 193 0.011977 +2011-05-11 18:09:26 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:26 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'get_user', 'controller': } +2011-05-11 18:09:26 DEBUG [routes.middleware] Match dict: {'action': u'get_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:26 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:26] "GET /v1.0/tenants/1234/users/test_user HTTP/1.1" 403 202 0.010446 +2011-05-11 18:09:26 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:26 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:26 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:26 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:26] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.019338 +2011-05-11 18:09:26 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:26 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:26 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:26 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:26] "POST /v1.0/token HTTP/1.1" 200 347 0.012571 +2011-05-11 18:09:26 DEBUG [routes.middleware] Matched POST /v1.0/tenants/test_user/users +2011-05-11 18:09:26 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:26 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'test_user', 'controller': } +2011-05-11 18:09:26 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:26] "POST /v1.0/tenants/test_user/users HTTP/1.1" 401 193 0.011797 +2011-05-11 18:09:26 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:26 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'get_user', 'controller': } +2011-05-11 18:09:26 DEBUG [routes.middleware] Match dict: {'action': u'get_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:26 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:26] "GET /v1.0/tenants/1234/users/test_user HTTP/1.1" 403 257 0.012234 +2011-05-11 18:09:26 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:26 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:26 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:26 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:26] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.018768 +2011-05-11 18:09:26 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:26 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:26 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:26 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:26] "POST /v1.0/token HTTP/1.1" 200 347 0.019814 +2011-05-11 18:09:26 DEBUG [routes.middleware] Matched POST /v1.0/tenants/test_user/users +2011-05-11 18:09:26 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:26 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'test_user', 'controller': } +2011-05-11 18:09:26 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:26] "POST /v1.0/tenants/test_user/users HTTP/1.1" 401 193 0.012622 +2011-05-11 18:09:26 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:26 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'get_user', 'controller': } +2011-05-11 18:09:26 DEBUG [routes.middleware] Match dict: {'action': u'get_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:26 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:26] "GET /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 210 0.004624 +2011-05-11 18:09:26 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:26 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:26 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:26 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:26] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.017733 +2011-05-11 18:09:26 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:26 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:26 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:26 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:26] "POST /v1.0/token HTTP/1.1" 200 347 0.023888 +2011-05-11 18:09:26 DEBUG [routes.middleware] Matched POST /v1.0/tenants/test_user/users +2011-05-11 18:09:26 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:26 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'test_user', 'controller': } +2011-05-11 18:09:26 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:26] "POST /v1.0/tenants/test_user/users HTTP/1.1" 401 193 0.011793 +2011-05-11 18:09:26 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:26 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'get_user', 'controller': } +2011-05-11 18:09:26 DEBUG [routes.middleware] Match dict: {'action': u'get_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:26 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:26] "GET /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 268 0.003372 +2011-05-11 18:09:26 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:26 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:26 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:26 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:26] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.017691 +2011-05-11 18:09:26 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:26 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:26 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:26 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:26] "POST /v1.0/token HTTP/1.1" 200 347 0.013855 +2011-05-11 18:09:26 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 18:09:26 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:26 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:27 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:27] "POST /v1.0/tenants/1234/users HTTP/1.1" 201 254 0.154998 +2011-05-11 18:09:27 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:27 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'get_user', 'controller': } +2011-05-11 18:09:27 DEBUG [routes.middleware] Match dict: {'action': u'get_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:27 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:27] "GET /v1.0/tenants/1234/users/test_user HTTP/1.1" 200 252 0.021408 +2011-05-11 18:09:27 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:27 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:27 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:27 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:27] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 204 103 0.132516 +2011-05-11 18:09:27 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:27 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:27 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:27 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:27] "POST /v1.0/token HTTP/1.1" 200 347 0.022003 +2011-05-11 18:09:27 DEBUG [routes.middleware] Matched POST /v1.0/tenants/test_user/users +2011-05-11 18:09:27 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:27 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'test_user', 'controller': } +2011-05-11 18:09:27 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:27] "POST /v1.0/tenants/test_user/users HTTP/1.1" 401 193 0.022541 +2011-05-11 18:09:27 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:27 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'get_user', 'controller': } +2011-05-11 18:09:27 DEBUG [routes.middleware] Match dict: {'action': u'get_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:27 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:27] "GET /v1.0/tenants/1234/users/test_user HTTP/1.1" 401 194 0.002117 +2011-05-11 18:09:27 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:27 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:27 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:27 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:27] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.031620 +2011-05-11 18:09:27 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:27 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:27 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:27 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:27] "POST /v1.0/token HTTP/1.1" 200 347 0.033876 +2011-05-11 18:09:27 DEBUG [routes.middleware] Matched POST /v1.0/tenants/test_user/users +2011-05-11 18:09:27 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:27 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'test_user', 'controller': } +2011-05-11 18:09:27 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:27] "POST /v1.0/tenants/test_user/users HTTP/1.1" 401 193 0.022479 +2011-05-11 18:09:27 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:27 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'get_user', 'controller': } +2011-05-11 18:09:27 DEBUG [routes.middleware] Match dict: {'action': u'get_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:27 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:27] "GET /v1.0/tenants/1234/users/test_user HTTP/1.1" 401 252 0.005735 +2011-05-11 18:09:27 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:27 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:27 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:27 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:27] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.030552 +2011-05-11 18:09:27 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:27 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:27 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:27 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:27] "POST /v1.0/token HTTP/1.1" 200 347 0.027283 +2011-05-11 18:09:27 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 18:09:27 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:27 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:27 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:27] "POST /v1.0/tenants/1234/users HTTP/1.1" 201 254 0.184018 +2011-05-11 18:09:27 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:27 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'get_user', 'controller': } +2011-05-11 18:09:27 DEBUG [routes.middleware] Match dict: {'action': u'get_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:27 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:27] "GET /v1.0/tenants/1234/users/test_user HTTP/1.1" 200 255 0.040566 +2011-05-11 18:09:27 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:27 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:27 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:27 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:27] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 204 103 0.135366 +2011-05-11 18:09:27 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:27 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:27 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:27 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:27] "POST /v1.0/token HTTP/1.1" 200 347 0.031106 +2011-05-11 18:09:27 DEBUG [routes.middleware] Matched GET /v1.0/tenants/0000/users/test_user/groups +2011-05-11 18:09:27 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/groups', defaults: {'action': u'get_user_groups', 'controller': } +2011-05-11 18:09:27 DEBUG [routes.middleware] Match dict: {'action': u'get_user_groups', 'tenant_id': u'0000', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:27 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:27] "GET /v1.0/tenants/0000/users/test_user/groups HTTP/1.1" 403 210 0.025214 +2011-05-11 18:09:27 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:27 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:27 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:27 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:27] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.035700 +2011-05-11 18:09:27 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:27 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:27 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:27 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:27] "POST /v1.0/token HTTP/1.1" 200 347 0.025636 +2011-05-11 18:09:27 DEBUG [routes.middleware] Matched GET /v1.0/tenants/0000/users/test_user/groups +2011-05-11 18:09:27 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/groups', defaults: {'action': u'get_user_groups', 'controller': } +2011-05-11 18:09:27 DEBUG [routes.middleware] Match dict: {'action': u'get_user_groups', 'tenant_id': u'0000', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:27 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:27] "GET /v1.0/tenants/0000/users/test_user/groups HTTP/1.1" 403 270 0.024239 +2011-05-11 18:09:27 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:27 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:27 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:27 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:27] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.030726 +2011-05-11 18:09:27 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:27 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:27 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:28 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:28] "POST /v1.0/token HTTP/1.1" 200 347 0.027447 +2011-05-11 18:09:28 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234/users/test_user/groups +2011-05-11 18:09:28 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/groups', defaults: {'action': u'get_user_groups', 'controller': } +2011-05-11 18:09:28 DEBUG [routes.middleware] Match dict: {'action': u'get_user_groups', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:28 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:28] "GET /v1.0/tenants/1234/users/test_user/groups HTTP/1.1" 403 214 0.020501 +2011-05-11 18:09:28 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:28 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:28 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:28 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:28] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.033692 +2011-05-11 18:09:28 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:28 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:28 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:28 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:28] "POST /v1.0/token HTTP/1.1" 200 347 0.021056 +2011-05-11 18:09:28 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234/users/test_user/groups +2011-05-11 18:09:28 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/groups', defaults: {'action': u'get_user_groups', 'controller': } +2011-05-11 18:09:28 DEBUG [routes.middleware] Match dict: {'action': u'get_user_groups', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:28 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:28] "GET /v1.0/tenants/1234/users/test_user/groups HTTP/1.1" 403 272 0.023737 +2011-05-11 18:09:28 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:28 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:28 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:28 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:28] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.029173 +2011-05-11 18:09:28 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:28 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:28 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:28 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:28] "POST /v1.0/token HTTP/1.1" 200 347 0.021842 +2011-05-11 18:09:28 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234/users/test_user/groups +2011-05-11 18:09:28 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/groups', defaults: {'action': u'get_user_groups', 'controller': } +2011-05-11 18:09:28 DEBUG [routes.middleware] Match dict: {'action': u'get_user_groups', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:28 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:28] "GET /v1.0/tenants/1234/users/test_user/groups HTTP/1.1" 403 202 0.020187 +2011-05-11 18:09:28 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:28 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:28 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:28 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:28] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.034696 +2011-05-11 18:09:28 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:28 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:28 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:28 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:28] "POST /v1.0/token HTTP/1.1" 200 347 0.022230 +2011-05-11 18:09:28 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234/users/test_user/groups +2011-05-11 18:09:28 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/groups', defaults: {'action': u'get_user_groups', 'controller': } +2011-05-11 18:09:28 DEBUG [routes.middleware] Match dict: {'action': u'get_user_groups', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:28 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:28] "GET /v1.0/tenants/1234/users/test_user/groups HTTP/1.1" 403 257 0.018491 +2011-05-11 18:09:28 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:28 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:28 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:28 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:28] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.047416 +2011-05-11 18:09:28 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:28 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:28 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:28 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:28] "POST /v1.0/token HTTP/1.1" 200 347 0.029587 +2011-05-11 18:09:28 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234/users/test_user/groups +2011-05-11 18:09:28 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/groups', defaults: {'action': u'get_user_groups', 'controller': } +2011-05-11 18:09:28 DEBUG [routes.middleware] Match dict: {'action': u'get_user_groups', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:28 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:28] "GET /v1.0/tenants/1234/users/test_user/groups HTTP/1.1" 404 210 0.003780 +2011-05-11 18:09:28 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:28 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:28 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:28 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:28] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.022660 +2011-05-11 18:09:28 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:28 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:28 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:28 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:28] "POST /v1.0/token HTTP/1.1" 200 347 0.013421 +2011-05-11 18:09:28 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234/users/test_user/groups +2011-05-11 18:09:28 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/groups', defaults: {'action': u'get_user_groups', 'controller': } +2011-05-11 18:09:28 DEBUG [routes.middleware] Match dict: {'action': u'get_user_groups', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:28 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:28] "GET /v1.0/tenants/1234/users/test_user/groups HTTP/1.1" 404 268 0.005110 +2011-05-11 18:09:28 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:28 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:28 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:28 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:28] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.020811 +2011-05-11 18:09:28 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:28 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:28 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:28 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:28] "POST /v1.0/token HTTP/1.1" 200 347 0.015363 +2011-05-11 18:09:28 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234/users/test_user/groups +2011-05-11 18:09:28 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/groups', defaults: {'action': u'get_user_groups', 'controller': } +2011-05-11 18:09:28 DEBUG [routes.middleware] Match dict: {'action': u'get_user_groups', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:28 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:28] "GET /v1.0/tenants/1234/users/test_user/groups HTTP/1.1" 200 162 0.024168 +2011-05-11 18:09:28 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:28 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:28 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:28 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:28] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.021318 +2011-05-11 18:09:28 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:28 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:28 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:28 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:28] "POST /v1.0/token HTTP/1.1" 200 347 0.014482 +2011-05-11 18:09:28 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234/users/test_user/groups +2011-05-11 18:09:28 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/groups', defaults: {'action': u'get_user_groups', 'controller': } +2011-05-11 18:09:28 DEBUG [routes.middleware] Match dict: {'action': u'get_user_groups', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:28 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:28] "GET /v1.0/tenants/1234/users/test_user/groups HTTP/1.1" 401 194 0.002612 +2011-05-11 18:09:28 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:28 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:28 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:28 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:28] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.028910 +2011-05-11 18:09:28 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:28 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:28 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:28 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:28] "POST /v1.0/token HTTP/1.1" 200 347 0.023871 +2011-05-11 18:09:28 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234/users/test_user/groups +2011-05-11 18:09:28 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/groups', defaults: {'action': u'get_user_groups', 'controller': } +2011-05-11 18:09:28 DEBUG [routes.middleware] Match dict: {'action': u'get_user_groups', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:28 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:28] "GET /v1.0/tenants/1234/users/test_user/groups HTTP/1.1" 401 252 0.002652 +2011-05-11 18:09:28 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:28 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:28 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:28 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:28] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.022236 +2011-05-11 18:09:28 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:28 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:28 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:28 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:28] "POST /v1.0/token HTTP/1.1" 200 347 0.018684 +2011-05-11 18:09:28 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234/users/test_user/groups +2011-05-11 18:09:28 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/groups', defaults: {'action': u'get_user_groups', 'controller': } +2011-05-11 18:09:28 DEBUG [routes.middleware] Match dict: {'action': u'get_user_groups', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:28 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:28] "GET /v1.0/tenants/1234/users/test_user/groups HTTP/1.1" 200 178 0.027124 +2011-05-11 18:09:28 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:28 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:28 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:28 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:28] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.035147 +2011-05-11 18:09:28 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:28 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:28 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:28 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:28] "POST /v1.0/token HTTP/1.1" 200 347 0.016003 +2011-05-11 18:09:28 DEBUG [routes.middleware] Matched GET /v1.0/tenants/0000/users +2011-05-11 18:09:28 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'get_tenant_users', 'controller': } +2011-05-11 18:09:28 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant_users', 'tenant_id': u'0000', 'controller': } +2011-05-11 18:09:28 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:28] "GET /v1.0/tenants/0000/users HTTP/1.1" 403 210 0.017674 +2011-05-11 18:09:28 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:28 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:28 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:28 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:28] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.024464 +2011-05-11 18:09:28 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:28 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:28 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:28 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:28] "POST /v1.0/token HTTP/1.1" 200 347 0.017782 +2011-05-11 18:09:28 DEBUG [routes.middleware] Matched GET /v1.0/tenants/0000/users +2011-05-11 18:09:28 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'get_tenant_users', 'controller': } +2011-05-11 18:09:28 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant_users', 'tenant_id': u'0000', 'controller': } +2011-05-11 18:09:28 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:28] "GET /v1.0/tenants/0000/users HTTP/1.1" 403 270 0.017692 +2011-05-11 18:09:28 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:28 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:28 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:28 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:28] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.022536 +2011-05-11 18:09:28 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:28 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:28 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:28 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:28] "POST /v1.0/token HTTP/1.1" 200 347 0.018465 +2011-05-11 18:09:28 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234/users +2011-05-11 18:09:28 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'get_tenant_users', 'controller': } +2011-05-11 18:09:28 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant_users', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:28 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:28] "GET /v1.0/tenants/1234/users HTTP/1.1" 403 214 0.009690 +2011-05-11 18:09:28 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:28 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:28 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:28 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:28] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.018080 +2011-05-11 18:09:28 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:28 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:28 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:28 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:28] "POST /v1.0/token HTTP/1.1" 200 347 0.014963 +2011-05-11 18:09:28 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234/users +2011-05-11 18:09:28 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'get_tenant_users', 'controller': } +2011-05-11 18:09:28 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant_users', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:28 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:28] "GET /v1.0/tenants/1234/users HTTP/1.1" 403 272 0.009392 +2011-05-11 18:09:28 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:28 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:28 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:28 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:28] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.019625 +2011-05-11 18:09:28 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:28 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:28 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:28 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:28] "POST /v1.0/token HTTP/1.1" 200 347 0.014500 +2011-05-11 18:09:28 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234/users +2011-05-11 18:09:28 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'get_tenant_users', 'controller': } +2011-05-11 18:09:28 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant_users', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:28 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:28] "GET /v1.0/tenants/1234/users HTTP/1.1" 403 202 0.015375 +2011-05-11 18:09:28 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:28 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:28 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:28 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:28] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.018203 +2011-05-11 18:09:29 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:29 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:29 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:29 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:29] "POST /v1.0/token HTTP/1.1" 200 347 0.020227 +2011-05-11 18:09:29 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234/users +2011-05-11 18:09:29 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'get_tenant_users', 'controller': } +2011-05-11 18:09:29 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant_users', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:29 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:29] "GET /v1.0/tenants/1234/users HTTP/1.1" 403 257 0.014629 +2011-05-11 18:09:29 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:29 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:29 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:29 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:29] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.019785 +2011-05-11 18:09:29 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:29 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:29 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:29 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:29] "POST /v1.0/token HTTP/1.1" 200 347 0.018358 +2011-05-11 18:09:29 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234/users +2011-05-11 18:09:29 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'get_tenant_users', 'controller': } +2011-05-11 18:09:29 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant_users', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:29 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:29] "GET /v1.0/tenants/1234/users HTTP/1.1" 404 210 0.006661 +2011-05-11 18:09:29 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:29 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:29 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:29 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:29] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.020941 +2011-05-11 18:09:29 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:29 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:29 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:29 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:29] "POST /v1.0/token HTTP/1.1" 200 347 0.014974 +2011-05-11 18:09:29 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234/users +2011-05-11 18:09:29 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'get_tenant_users', 'controller': } +2011-05-11 18:09:29 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant_users', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:29 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:29] "GET /v1.0/tenants/1234/users HTTP/1.1" 404 268 0.004297 +2011-05-11 18:09:29 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:29 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:29 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:29 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:29] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.020964 +2011-05-11 18:09:29 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:29 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:29 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:29 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:29] "POST /v1.0/token HTTP/1.1" 200 347 0.016617 +2011-05-11 18:09:29 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234/users +2011-05-11 18:09:29 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'get_tenant_users', 'controller': } +2011-05-11 18:09:29 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant_users', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:29 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:29] "GET /v1.0/tenants/1234/users HTTP/1.1" 200 522 0.045079 +2011-05-11 18:09:29 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:29 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:29 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:29 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:29] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.020198 +2011-05-11 18:09:29 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:29 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:29 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:29 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:29] "POST /v1.0/token HTTP/1.1" 200 347 0.013645 +2011-05-11 18:09:29 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234/users +2011-05-11 18:09:29 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'get_tenant_users', 'controller': } +2011-05-11 18:09:29 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant_users', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:29 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:29] "GET /v1.0/tenants/1234/users HTTP/1.1" 401 194 0.001644 +2011-05-11 18:09:29 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:29 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:29 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:29 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:29] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.020917 +2011-05-11 18:09:29 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:29 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:29 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:29 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:29] "POST /v1.0/token HTTP/1.1" 200 347 0.015293 +2011-05-11 18:09:29 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234/users +2011-05-11 18:09:29 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'get_tenant_users', 'controller': } +2011-05-11 18:09:29 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant_users', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:29 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:29] "GET /v1.0/tenants/1234/users HTTP/1.1" 401 252 0.003218 +2011-05-11 18:09:29 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:29 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:29 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:29 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:29] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.021395 +2011-05-11 18:09:29 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:29 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:29 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:29 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:29] "POST /v1.0/token HTTP/1.1" 200 347 0.017590 +2011-05-11 18:09:29 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234/users +2011-05-11 18:09:29 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'get_tenant_users', 'controller': } +2011-05-11 18:09:29 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant_users', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:29 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:29] "GET /v1.0/tenants/1234/users HTTP/1.1" 200 694 0.040268 +2011-05-11 18:09:29 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:29 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:29 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:29 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:29] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.045347 +2011-05-11 18:09:29 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:29 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:29 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:29 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:29] "POST /v1.0/token HTTP/1.1" 200 347 0.013912 +2011-05-11 18:09:29 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 18:09:29 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:29 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:29 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:29] "POST /v1.0/tenants/1234/users HTTP/1.1" 201 254 0.161032 +2011-05-11 18:09:29 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user/enabled +2011-05-11 18:09:29 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/enabled', defaults: {'action': u'set_user_enabled', 'controller': } +2011-05-11 18:09:29 DEBUG [routes.middleware] Match dict: {'action': u'set_user_enabled', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:29 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:29] "PUT /v1.0/tenants/1234/users/test_user/enabled HTTP/1.1" 400 192 0.002186 +2011-05-11 18:09:29 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:29 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:29 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:29 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:29] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 204 103 0.094044 +2011-05-11 18:09:29 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:29 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:29 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:29 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:29] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.032336 +2011-05-11 18:09:29 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:29 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:29 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:29 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:29] "POST /v1.0/token HTTP/1.1" 200 347 0.019138 +2011-05-11 18:09:29 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 18:09:29 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:29 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:29 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:29] "POST /v1.0/tenants/1234/users HTTP/1.1" 201 277 0.182341 +2011-05-11 18:09:29 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user/enabled +2011-05-11 18:09:29 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/enabled', defaults: {'action': u'set_user_enabled', 'controller': } +2011-05-11 18:09:29 DEBUG [routes.middleware] Match dict: {'action': u'set_user_enabled', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:29 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:29] "PUT /v1.0/tenants/1234/users/test_user/enabled HTTP/1.1" 400 325 0.002499 +2011-05-11 18:09:29 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:29 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:29 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:30 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:30] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 204 103 0.233050 +2011-05-11 18:09:30 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:30 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:30 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:30 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:30] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.036444 +2011-05-11 18:09:30 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:30 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:30 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:30 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:30] "POST /v1.0/token HTTP/1.1" 200 347 0.025768 +2011-05-11 18:09:30 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user/enabled +2011-05-11 18:09:30 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/enabled', defaults: {'action': u'set_user_enabled', 'controller': } +2011-05-11 18:09:30 DEBUG [routes.middleware] Match dict: {'action': u'set_user_enabled', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:30 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:30] "PUT /v1.0/tenants/1234/users/test_user/enabled HTTP/1.1" 403 214 0.018676 +2011-05-11 18:09:30 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:30 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:30 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:30 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:30] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.032735 +2011-05-11 18:09:30 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:30 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:30 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:30 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:30] "POST /v1.0/token HTTP/1.1" 200 347 0.049461 +2011-05-11 18:09:30 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user/enabled +2011-05-11 18:09:30 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/enabled', defaults: {'action': u'set_user_enabled', 'controller': } +2011-05-11 18:09:30 DEBUG [routes.middleware] Match dict: {'action': u'set_user_enabled', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:30 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:30] "PUT /v1.0/tenants/1234/users/test_user/enabled HTTP/1.1" 403 272 0.026380 +2011-05-11 18:09:30 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:30 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:30 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:30 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:30] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.036178 +2011-05-11 18:09:30 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:30 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:30 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:30 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:30] "POST /v1.0/token HTTP/1.1" 200 347 0.041185 +2011-05-11 18:09:30 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user/enabled +2011-05-11 18:09:30 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/enabled', defaults: {'action': u'set_user_enabled', 'controller': } +2011-05-11 18:09:30 DEBUG [routes.middleware] Match dict: {'action': u'set_user_enabled', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:30 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:30] "PUT /v1.0/tenants/1234/users/test_user/enabled HTTP/1.1" 403 202 0.014541 +2011-05-11 18:09:30 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:30 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:30 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:30 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:30] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.019895 +2011-05-11 18:09:30 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:30 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:30 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:30 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:30] "POST /v1.0/token HTTP/1.1" 200 347 0.012835 +2011-05-11 18:09:30 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user/enabled +2011-05-11 18:09:30 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/enabled', defaults: {'action': u'set_user_enabled', 'controller': } +2011-05-11 18:09:30 DEBUG [routes.middleware] Match dict: {'action': u'set_user_enabled', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:30 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:30] "PUT /v1.0/tenants/1234/users/test_user/enabled HTTP/1.1" 403 257 0.009155 +2011-05-11 18:09:30 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:30 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:30 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:30 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:30] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.017338 +2011-05-11 18:09:30 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:30 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:30 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:30 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:30] "POST /v1.0/token HTTP/1.1" 200 347 0.011830 +2011-05-11 18:09:30 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user/enabled +2011-05-11 18:09:30 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/enabled', defaults: {'action': u'set_user_enabled', 'controller': } +2011-05-11 18:09:30 DEBUG [routes.middleware] Match dict: {'action': u'set_user_enabled', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:30 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:30] "PUT /v1.0/tenants/1234/users/test_user/enabled HTTP/1.1" 404 210 0.003514 +2011-05-11 18:09:30 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:30 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:30 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:30 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:30] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.016990 +2011-05-11 18:09:30 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:30 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:30 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:30 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:30] "POST /v1.0/token HTTP/1.1" 200 347 0.013034 +2011-05-11 18:09:30 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user/enabled +2011-05-11 18:09:30 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/enabled', defaults: {'action': u'set_user_enabled', 'controller': } +2011-05-11 18:09:30 DEBUG [routes.middleware] Match dict: {'action': u'set_user_enabled', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:30 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:30] "PUT /v1.0/tenants/1234/users/test_user/enabled HTTP/1.1" 404 268 0.004734 +2011-05-11 18:09:30 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:30 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:30 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:30 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:30] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.023956 +2011-05-11 18:09:30 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:30 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:30 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:30 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:30] "POST /v1.0/token HTTP/1.1" 200 347 0.012962 +2011-05-11 18:09:30 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 18:09:30 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:30 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:30 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:30] "POST /v1.0/tenants/1234/users HTTP/1.1" 201 254 0.279729 +2011-05-11 18:09:30 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user/enabled +2011-05-11 18:09:30 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/enabled', defaults: {'action': u'set_user_enabled', 'controller': } +2011-05-11 18:09:30 DEBUG [routes.middleware] Match dict: {'action': u'set_user_enabled', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:31 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:31] "PUT /v1.0/tenants/1234/users/test_user/enabled HTTP/1.1" 200 150 0.057417 +2011-05-11 18:09:31 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:31 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:31 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:31 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:31] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 204 103 0.129640 +2011-05-11 18:09:31 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:31 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:31 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:31 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:31] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.029620 +2011-05-11 18:09:31 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:31 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:31 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:31 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:31] "POST /v1.0/token HTTP/1.1" 200 347 0.019942 +2011-05-11 18:09:31 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user/enabled +2011-05-11 18:09:31 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/enabled', defaults: {'action': u'set_user_enabled', 'controller': } +2011-05-11 18:09:31 DEBUG [routes.middleware] Match dict: {'action': u'set_user_enabled', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:31 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:31] "PUT /v1.0/tenants/1234/users/test_user/enabled HTTP/1.1" 401 194 0.005877 +2011-05-11 18:09:31 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:31 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:31 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:31 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:31] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.033644 +2011-05-11 18:09:31 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:31 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:31 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:31 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:31] "POST /v1.0/token HTTP/1.1" 200 347 0.019362 +2011-05-11 18:09:31 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user/password +2011-05-11 18:09:31 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/password', defaults: {'action': u'set_user_password', 'controller': } +2011-05-11 18:09:31 DEBUG [routes.middleware] Match dict: {'action': u'set_user_password', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:31 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:31] "PUT /v1.0/tenants/1234/users/test_user/password HTTP/1.1" 401 252 0.007099 +2011-05-11 18:09:31 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:31 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:31 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:31 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:31] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.030936 +2011-05-11 18:09:31 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:31 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:31 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:31 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:31] "POST /v1.0/token HTTP/1.1" 200 347 0.028527 +2011-05-11 18:09:31 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 18:09:31 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:31 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:31 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:31] "POST /v1.0/tenants/1234/users HTTP/1.1" 201 277 0.179715 +2011-05-11 18:09:31 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user/enabled +2011-05-11 18:09:31 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/enabled', defaults: {'action': u'set_user_enabled', 'controller': } +2011-05-11 18:09:31 DEBUG [routes.middleware] Match dict: {'action': u'set_user_enabled', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:31 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:31] "PUT /v1.0/tenants/1234/users/test_user/enabled HTTP/1.1" 200 191 0.052624 +2011-05-11 18:09:31 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:31 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:31 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:31 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:31] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 204 103 0.117069 +2011-05-11 18:09:31 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:31 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:31 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:31 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:31] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.030765 +2011-05-11 18:09:31 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:31 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:31 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:31 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:31] "POST /v1.0/token HTTP/1.1" 200 347 0.030378 +2011-05-11 18:09:31 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 18:09:31 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:31 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:31 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:31] "POST /v1.0/tenants/1234/users HTTP/1.1" 201 254 0.181227 +2011-05-11 18:09:31 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user/password +2011-05-11 18:09:31 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/password', defaults: {'action': u'set_user_password', 'controller': } +2011-05-11 18:09:31 DEBUG [routes.middleware] Match dict: {'action': u'set_user_password', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:31 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:31] "PUT /v1.0/tenants/1234/users/test_user/password HTTP/1.1" 400 192 0.004205 +2011-05-11 18:09:31 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:31 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:31 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:32 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:32] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 204 103 0.132628 +2011-05-11 18:09:32 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:32 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:32 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:32 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:32] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.031378 +2011-05-11 18:09:32 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:32 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:32 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:32 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:32] "POST /v1.0/token HTTP/1.1" 200 347 0.022185 +2011-05-11 18:09:32 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 18:09:32 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:32 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:32 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:32] "POST /v1.0/tenants/1234/users HTTP/1.1" 201 277 0.184065 +2011-05-11 18:09:32 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user/password +2011-05-11 18:09:32 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/password', defaults: {'action': u'set_user_password', 'controller': } +2011-05-11 18:09:32 DEBUG [routes.middleware] Match dict: {'action': u'set_user_password', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:32 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:32] "PUT /v1.0/tenants/1234/users/test_user/password HTTP/1.1" 400 325 0.002538 +2011-05-11 18:09:32 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:32 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:32 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:32 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:32] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 204 103 0.125008 +2011-05-11 18:09:32 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:32 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:32 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:32 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:32] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.033702 +2011-05-11 18:09:32 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:32 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:32 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:32 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:32] "POST /v1.0/token HTTP/1.1" 200 347 0.028295 +2011-05-11 18:09:32 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user/password +2011-05-11 18:09:32 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/password', defaults: {'action': u'set_user_password', 'controller': } +2011-05-11 18:09:32 DEBUG [routes.middleware] Match dict: {'action': u'set_user_password', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:32 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:32] "PUT /v1.0/tenants/1234/users/test_user/password HTTP/1.1" 403 214 0.019160 +2011-05-11 18:09:32 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:32 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:32 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:32 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:32] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.031973 +2011-05-11 18:09:32 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:32 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:32 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:32 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:32] "POST /v1.0/token HTTP/1.1" 200 347 0.021327 +2011-05-11 18:09:32 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user/password +2011-05-11 18:09:32 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/password', defaults: {'action': u'set_user_password', 'controller': } +2011-05-11 18:09:32 DEBUG [routes.middleware] Match dict: {'action': u'set_user_password', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:32 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:32] "PUT /v1.0/tenants/1234/users/test_user/password HTTP/1.1" 403 272 0.021083 +2011-05-11 18:09:32 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:32 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:32 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:32 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:32] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.036599 +2011-05-11 18:09:32 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:32 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:32 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:32 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:32] "POST /v1.0/token HTTP/1.1" 200 347 0.021308 +2011-05-11 18:09:32 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user/password +2011-05-11 18:09:32 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/password', defaults: {'action': u'set_user_password', 'controller': } +2011-05-11 18:09:32 DEBUG [routes.middleware] Match dict: {'action': u'set_user_password', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:32 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:32] "PUT /v1.0/tenants/1234/users/test_user/password HTTP/1.1" 403 202 0.021032 +2011-05-11 18:09:32 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:32 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:32 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:32 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:32] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.043224 +2011-05-11 18:09:32 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:32 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:32 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:32 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:32] "POST /v1.0/token HTTP/1.1" 200 347 0.022823 +2011-05-11 18:09:32 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user/password +2011-05-11 18:09:32 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/password', defaults: {'action': u'set_user_password', 'controller': } +2011-05-11 18:09:32 DEBUG [routes.middleware] Match dict: {'action': u'set_user_password', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:32 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:32] "PUT /v1.0/tenants/1234/users/test_user/password HTTP/1.1" 403 257 0.019240 +2011-05-11 18:09:32 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:32 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:32 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:32 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:32] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.030616 +2011-05-11 18:09:32 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:32 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:32 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:32 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:32] "POST /v1.0/token HTTP/1.1" 200 347 0.021689 +2011-05-11 18:09:32 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user/password +2011-05-11 18:09:32 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/password', defaults: {'action': u'set_user_password', 'controller': } +2011-05-11 18:09:32 DEBUG [routes.middleware] Match dict: {'action': u'set_user_password', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:32 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:32] "PUT /v1.0/tenants/1234/users/test_user/password HTTP/1.1" 404 210 0.007710 +2011-05-11 18:09:32 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:32 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:32 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:32 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:32] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.031440 +2011-05-11 18:09:32 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:32 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:32 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:32 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:32] "POST /v1.0/token HTTP/1.1" 200 347 0.030234 +2011-05-11 18:09:32 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user/password +2011-05-11 18:09:32 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/password', defaults: {'action': u'set_user_password', 'controller': } +2011-05-11 18:09:32 DEBUG [routes.middleware] Match dict: {'action': u'set_user_password', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:32 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:32] "PUT /v1.0/tenants/1234/users/test_user/password HTTP/1.1" 404 268 0.008051 +2011-05-11 18:09:32 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:32 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:32 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:32 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:32] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.030948 +2011-05-11 18:09:32 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:32 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:32 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:33 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:33] "POST /v1.0/token HTTP/1.1" 200 347 0.021362 +2011-05-11 18:09:33 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 18:09:33 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:33 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:33 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:33] "POST /v1.0/tenants/1234/users HTTP/1.1" 201 254 0.173083 +2011-05-11 18:09:33 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user/password +2011-05-11 18:09:33 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/password', defaults: {'action': u'set_user_password', 'controller': } +2011-05-11 18:09:33 DEBUG [routes.middleware] Match dict: {'action': u'set_user_password', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:33 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:33] "PUT /v1.0/tenants/1234/users/test_user/password HTTP/1.1" 200 175 0.111790 +2011-05-11 18:09:33 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:33 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:33 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:33 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:33] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 204 103 0.122217 +2011-05-11 18:09:33 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:33 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:33 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:33 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:33] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.028801 +2011-05-11 18:09:33 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:33 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:33 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:33 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:33] "POST /v1.0/token HTTP/1.1" 200 347 0.018982 +2011-05-11 18:09:33 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user/password +2011-05-11 18:09:33 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/password', defaults: {'action': u'set_user_password', 'controller': } +2011-05-11 18:09:33 DEBUG [routes.middleware] Match dict: {'action': u'set_user_password', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:33 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:33] "PUT /v1.0/tenants/1234/users/test_user/password HTTP/1.1" 401 194 0.009405 +2011-05-11 18:09:33 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:33 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:33 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:33 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:33] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.029391 +2011-05-11 18:09:33 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:33 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:33 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:33 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:33] "POST /v1.0/token HTTP/1.1" 200 347 0.024527 +2011-05-11 18:09:33 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user/password +2011-05-11 18:09:33 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/password', defaults: {'action': u'set_user_password', 'controller': } +2011-05-11 18:09:33 DEBUG [routes.middleware] Match dict: {'action': u'set_user_password', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:33 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:33] "PUT /v1.0/tenants/1234/users/test_user/password HTTP/1.1" 401 252 0.004666 +2011-05-11 18:09:33 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:33 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:33 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:33 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:33] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.041305 +2011-05-11 18:09:33 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:33 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:33 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:33 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:33] "POST /v1.0/token HTTP/1.1" 200 347 0.021504 +2011-05-11 18:09:33 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/disabled/password +2011-05-11 18:09:33 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/password', defaults: {'action': u'set_user_password', 'controller': } +2011-05-11 18:09:33 DEBUG [routes.middleware] Match dict: {'action': u'set_user_password', 'tenant_id': u'1234', 'controller': , 'user_id': u'disabled'} +2011-05-11 18:09:33 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:33] "PUT /v1.0/tenants/1234/users/disabled/password HTTP/1.1" 403 200 0.031273 +2011-05-11 18:09:33 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:33 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:33 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:33 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:33] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.033687 +2011-05-11 18:09:33 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:33 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:33 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:33 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:33] "POST /v1.0/token HTTP/1.1" 200 347 0.019496 +2011-05-11 18:09:33 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/disabled +2011-05-11 18:09:33 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'update_user', 'controller': } +2011-05-11 18:09:33 DEBUG [routes.middleware] Match dict: {'action': u'update_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'disabled'} +2011-05-11 18:09:33 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:33] "PUT /v1.0/tenants/1234/users/disabled HTTP/1.1" 403 258 0.033897 +2011-05-11 18:09:33 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:33 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:33 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:33 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:33] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.030058 +2011-05-11 18:09:33 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:33 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:33 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:33 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:33] "POST /v1.0/token HTTP/1.1" 200 347 0.020262 +2011-05-11 18:09:33 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 18:09:33 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:33 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:33 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:33] "POST /v1.0/tenants/1234/users HTTP/1.1" 201 277 0.174697 +2011-05-11 18:09:34 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user/password +2011-05-11 18:09:34 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}/password', defaults: {'action': u'set_user_password', 'controller': } +2011-05-11 18:09:34 DEBUG [routes.middleware] Match dict: {'action': u'set_user_password', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:34 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:34] "PUT /v1.0/tenants/1234/users/test_user/password HTTP/1.1" 200 212 0.129173 +2011-05-11 18:09:34 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:34 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:34 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:34 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:34] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 204 103 0.130379 +2011-05-11 18:09:34 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:34 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:34 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:34 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:34] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.031423 +2011-05-11 18:09:34 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:34 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:34 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:34 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:34] "POST /v1.0/token HTTP/1.1" 200 347 0.023099 +2011-05-11 18:09:34 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 18:09:34 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:34 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:34 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:34] "POST /v1.0/tenants/1234/users HTTP/1.1" 201 254 0.171063 +2011-05-11 18:09:34 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:34 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'update_user', 'controller': } +2011-05-11 18:09:34 DEBUG [routes.middleware] Match dict: {'action': u'update_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:34 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:34] "PUT /v1.0/tenants/1234/users/test_user HTTP/1.1" 400 192 0.002362 +2011-05-11 18:09:34 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:34 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:34 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:34 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:34] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 204 103 0.117159 +2011-05-11 18:09:34 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:34 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:34 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:34 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:34] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.033760 +2011-05-11 18:09:34 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:34 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:34 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:34 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:34] "POST /v1.0/token HTTP/1.1" 200 347 0.019316 +2011-05-11 18:09:34 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 18:09:34 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:34 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:34 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:34] "POST /v1.0/tenants/1234/users HTTP/1.1" 201 277 0.179950 +2011-05-11 18:09:34 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:34 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'update_user', 'controller': } +2011-05-11 18:09:34 DEBUG [routes.middleware] Match dict: {'action': u'update_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:34 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:34] "PUT /v1.0/tenants/1234/users/test_user HTTP/1.1" 400 325 0.004072 +2011-05-11 18:09:34 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:34 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:34 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:35 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:35] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 204 103 0.132411 +2011-05-11 18:09:35 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:35 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:35 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:35 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:35] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.056089 +2011-05-11 18:09:35 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:35 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:35 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:35 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:35] "POST /v1.0/token HTTP/1.1" 200 347 0.032289 +2011-05-11 18:09:35 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:35 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'update_user', 'controller': } +2011-05-11 18:09:35 DEBUG [routes.middleware] Match dict: {'action': u'update_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:35 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:35] "PUT /v1.0/tenants/1234/users/test_user HTTP/1.1" 403 214 0.015291 +2011-05-11 18:09:35 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:35 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:35 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:35 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:35] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.033262 +2011-05-11 18:09:35 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:35 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:35 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:35 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:35] "POST /v1.0/token HTTP/1.1" 200 347 0.031004 +2011-05-11 18:09:35 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:35 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'update_user', 'controller': } +2011-05-11 18:09:35 DEBUG [routes.middleware] Match dict: {'action': u'update_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:35 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:35] "PUT /v1.0/tenants/1234/users/test_user HTTP/1.1" 403 272 0.018642 +2011-05-11 18:09:35 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:35 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:35 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:35 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:35] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.037202 +2011-05-11 18:09:35 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:35 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:35 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:35 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:35] "POST /v1.0/token HTTP/1.1" 200 347 0.032513 +2011-05-11 18:09:35 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 18:09:35 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:35 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:35 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:35] "POST /v1.0/tenants/1234/users HTTP/1.1" 201 277 0.285148 +2011-05-11 18:09:35 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:35 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'update_user', 'controller': } +2011-05-11 18:09:35 DEBUG [routes.middleware] Match dict: {'action': u'update_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:35 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:35] "PUT /v1.0/tenants/1234/users/test_user HTTP/1.1" 409 198 0.035900 +2011-05-11 18:09:35 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:35 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:35 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:35 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:35] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 204 103 0.125259 +2011-05-11 18:09:35 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:35 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:35 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:35 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:35] "POST /v1.0/token HTTP/1.1" 200 347 0.022683 +2011-05-11 18:09:35 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 18:09:35 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:35 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:35 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:35] "POST /v1.0/tenants/1234/users HTTP/1.1" 201 277 0.164741 +2011-05-11 18:09:35 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:35 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'update_user', 'controller': } +2011-05-11 18:09:35 DEBUG [routes.middleware] Match dict: {'action': u'update_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:35 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:35] "PUT /v1.0/tenants/1234/users/test_user HTTP/1.1" 409 257 0.035343 +2011-05-11 18:09:35 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:35 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:35 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:36 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:36] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 204 103 0.124604 +2011-05-11 18:09:36 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:36 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:36 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:36 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:36] "POST /v1.0/token HTTP/1.1" 200 347 0.031647 +2011-05-11 18:09:36 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:36 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'update_user', 'controller': } +2011-05-11 18:09:36 DEBUG [routes.middleware] Match dict: {'action': u'update_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:36 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:36] "PUT /v1.0/tenants/1234/users/test_user HTTP/1.1" 403 202 0.019039 +2011-05-11 18:09:36 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:36 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:36 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:36 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:36] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.030565 +2011-05-11 18:09:36 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:36 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:36 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:36 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:36] "POST /v1.0/token HTTP/1.1" 200 347 0.027831 +2011-05-11 18:09:36 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:36 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'update_user', 'controller': } +2011-05-11 18:09:36 DEBUG [routes.middleware] Match dict: {'action': u'update_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:36 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:36] "PUT /v1.0/tenants/1234/users/test_user HTTP/1.1" 403 257 0.018784 +2011-05-11 18:09:36 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:36 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:36 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:36 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:36] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.028542 +2011-05-11 18:09:36 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:36 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:36 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:36 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:36] "POST /v1.0/token HTTP/1.1" 200 347 0.022409 +2011-05-11 18:09:36 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:36 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'update_user', 'controller': } +2011-05-11 18:09:36 DEBUG [routes.middleware] Match dict: {'action': u'update_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:36 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:36] "PUT /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 210 0.007801 +2011-05-11 18:09:36 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:36 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:36 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:36 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:36] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.032231 +2011-05-11 18:09:36 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:36 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:36 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:36 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:36] "POST /v1.0/token HTTP/1.1" 200 347 0.021192 +2011-05-11 18:09:36 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:36 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'update_user', 'controller': } +2011-05-11 18:09:36 DEBUG [routes.middleware] Match dict: {'action': u'update_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:36 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:36] "PUT /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 268 0.005862 +2011-05-11 18:09:36 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:36 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:36 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:36 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:36] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.020092 +2011-05-11 18:09:36 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:36 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:36 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:36 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:36] "POST /v1.0/token HTTP/1.1" 200 347 0.013947 +2011-05-11 18:09:36 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 18:09:36 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:36 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:36 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:36] "POST /v1.0/tenants/1234/users HTTP/1.1" 201 254 0.175075 +2011-05-11 18:09:36 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:36 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'update_user', 'controller': } +2011-05-11 18:09:36 DEBUG [routes.middleware] Match dict: {'action': u'update_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:36 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:36] "PUT /v1.0/tenants/1234/users/test_user HTTP/1.1" 200 254 0.125074 +2011-05-11 18:09:36 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:36 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:36 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:36 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:36] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 204 103 0.135060 +2011-05-11 18:09:36 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:36 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:36 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:36 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:36] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.034002 +2011-05-11 18:09:36 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:36 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:36 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:36 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:36] "POST /v1.0/token HTTP/1.1" 200 347 0.022489 +2011-05-11 18:09:36 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:36 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'update_user', 'controller': } +2011-05-11 18:09:36 DEBUG [routes.middleware] Match dict: {'action': u'update_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:36 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:36] "PUT /v1.0/tenants/1234/users/test_user HTTP/1.1" 401 194 0.004710 +2011-05-11 18:09:36 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:36 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:36 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:36 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:36] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.033683 +2011-05-11 18:09:36 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:36 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:36 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:36 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:36] "POST /v1.0/token HTTP/1.1" 200 347 0.019612 +2011-05-11 18:09:36 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:36 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'update_user', 'controller': } +2011-05-11 18:09:36 DEBUG [routes.middleware] Match dict: {'action': u'update_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:36 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:36] "PUT /v1.0/tenants/1234/users/test_user HTTP/1.1" 401 252 0.005915 +2011-05-11 18:09:36 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:36 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:36 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:37 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:37] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.039544 +2011-05-11 18:09:37 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:37 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:37 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:37 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:37] "POST /v1.0/token HTTP/1.1" 200 347 0.014065 +2011-05-11 18:09:37 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/disabled +2011-05-11 18:09:37 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'update_user', 'controller': } +2011-05-11 18:09:37 DEBUG [routes.middleware] Match dict: {'action': u'update_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'disabled'} +2011-05-11 18:09:37 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:37] "PUT /v1.0/tenants/1234/users/disabled HTTP/1.1" 403 200 0.019474 +2011-05-11 18:09:37 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:37 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:37 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:37 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:37] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.018128 +2011-05-11 18:09:37 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:37 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:37 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:37 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:37] "POST /v1.0/token HTTP/1.1" 200 347 0.013006 +2011-05-11 18:09:37 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/disabled +2011-05-11 18:09:37 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'update_user', 'controller': } +2011-05-11 18:09:37 DEBUG [routes.middleware] Match dict: {'action': u'update_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'disabled'} +2011-05-11 18:09:37 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:37] "PUT /v1.0/tenants/1234/users/disabled HTTP/1.1" 403 258 0.017787 +2011-05-11 18:09:37 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:37 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:37 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:37 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:37] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.018279 +2011-05-11 18:09:37 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:37 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:37 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:37 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:37] "POST /v1.0/token HTTP/1.1" 200 347 0.013539 +2011-05-11 18:09:37 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 18:09:37 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:37 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:37 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:37] "POST /v1.0/tenants/1234/users HTTP/1.1" 201 277 0.151105 +2011-05-11 18:09:37 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:37 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'update_user', 'controller': } +2011-05-11 18:09:37 DEBUG [routes.middleware] Match dict: {'action': u'update_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:37 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:37] "PUT /v1.0/tenants/1234/users/test_user HTTP/1.1" 200 279 0.093440 +2011-05-11 18:09:37 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:37 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:37 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:37 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:37] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 204 103 0.127121 +2011-05-11 18:09:37 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234/users/test_user +2011-05-11 18:09:37 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:37 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'1234', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:37 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:37] "DELETE /v1.0/tenants/1234/users/test_user HTTP/1.1" 404 205 0.031431 +2011-05-11 18:09:37 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:37 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:37 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:37 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:37] "POST /v1.0/token HTTP/1.1" 200 347 0.022569 +2011-05-11 18:09:37 DEBUG [routes.middleware] Matched GET /v1.0/token/000999 +2011-05-11 18:09:37 DEBUG [routes.middleware] Route path: '/v1.0/token/{token_id}', defaults: {'action': u'validate_token', 'controller': } +2011-05-11 18:09:37 DEBUG [routes.middleware] Match dict: {'action': u'validate_token', 'token_id': u'000999', 'controller': } +2011-05-11 18:09:37 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:37] "GET /v1.0/token/000999?belongsTo=1234 HTTP/1.1" 403 202 0.018819 +2011-05-11 18:09:37 DEBUG [routes.middleware] Matched DELETE /v1.0/token/52b85eea-d83b-40df-a991-37d85b7e1dc3 +2011-05-11 18:09:37 DEBUG [routes.middleware] Route path: '/v1.0/token/{token_id}', defaults: {'action': u'delete_token', 'controller': } +2011-05-11 18:09:37 DEBUG [routes.middleware] Match dict: {'action': u'delete_token', 'token_id': u'52b85eea-d83b-40df-a991-37d85b7e1dc3', 'controller': } +2011-05-11 18:09:37 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:37] "DELETE /v1.0/token/52b85eea-d83b-40df-a991-37d85b7e1dc3 HTTP/1.1" 204 103 0.093305 +2011-05-11 18:09:37 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:37 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:37 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:37 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:37] "POST /v1.0/token HTTP/1.1" 200 347 0.100527 +2011-05-11 18:09:37 DEBUG [routes.middleware] Matched GET /v1.0/token/000999 +2011-05-11 18:09:37 DEBUG [routes.middleware] Route path: '/v1.0/token/{token_id}', defaults: {'action': u'validate_token', 'controller': } +2011-05-11 18:09:37 DEBUG [routes.middleware] Match dict: {'action': u'validate_token', 'token_id': u'000999', 'controller': } +2011-05-11 18:09:37 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:37] "GET /v1.0/token/000999?belongsTo=1234 HTTP/1.1" 403 257 0.018149 +2011-05-11 18:09:37 DEBUG [routes.middleware] Matched DELETE /v1.0/token/bc026967-3c57-47e9-8eef-b255b690aa6b +2011-05-11 18:09:37 DEBUG [routes.middleware] Route path: '/v1.0/token/{token_id}', defaults: {'action': u'delete_token', 'controller': } +2011-05-11 18:09:37 DEBUG [routes.middleware] Match dict: {'action': u'delete_token', 'token_id': u'bc026967-3c57-47e9-8eef-b255b690aa6b', 'controller': } +2011-05-11 18:09:37 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:37] "DELETE /v1.0/token/bc026967-3c57-47e9-8eef-b255b690aa6b HTTP/1.1" 204 103 0.096403 +2011-05-11 18:09:37 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:37 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:37 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:38 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:38] "POST /v1.0/token HTTP/1.1" 200 347 0.092826 +2011-05-11 18:09:38 DEBUG [routes.middleware] Matched GET /v1.0/token/NonExistingToken +2011-05-11 18:09:38 DEBUG [routes.middleware] Route path: '/v1.0/token/{token_id}', defaults: {'action': u'validate_token', 'controller': } +2011-05-11 18:09:38 DEBUG [routes.middleware] Match dict: {'action': u'validate_token', 'token_id': u'NonExistingToken', 'controller': } +2011-05-11 18:09:38 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:38] "GET /v1.0/token/NonExistingToken?belongsTo=1234 HTTP/1.1" 401 213 0.023050 +2011-05-11 18:09:38 DEBUG [routes.middleware] Matched DELETE /v1.0/token/51ad01fd-8805-4aec-b9e9-a8652e64d9ac +2011-05-11 18:09:38 DEBUG [routes.middleware] Route path: '/v1.0/token/{token_id}', defaults: {'action': u'delete_token', 'controller': } +2011-05-11 18:09:38 DEBUG [routes.middleware] Match dict: {'action': u'delete_token', 'token_id': u'51ad01fd-8805-4aec-b9e9-a8652e64d9ac', 'controller': } +2011-05-11 18:09:38 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:38] "DELETE /v1.0/token/51ad01fd-8805-4aec-b9e9-a8652e64d9ac HTTP/1.1" 204 103 0.092545 +2011-05-11 18:09:38 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:38 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:38 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:38 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:38] "POST /v1.0/token HTTP/1.1" 200 347 0.085826 +2011-05-11 18:09:38 DEBUG [routes.middleware] Matched GET /v1.0/token/NonExistingToken +2011-05-11 18:09:38 DEBUG [routes.middleware] Route path: '/v1.0/token/{token_id}', defaults: {'action': u'validate_token', 'controller': } +2011-05-11 18:09:38 DEBUG [routes.middleware] Match dict: {'action': u'validate_token', 'token_id': u'NonExistingToken', 'controller': } +2011-05-11 18:09:38 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:38] "GET /v1.0/token/NonExistingToken?belongsTo=1234 HTTP/1.1" 401 213 0.025152 +2011-05-11 18:09:38 DEBUG [routes.middleware] Matched DELETE /v1.0/token/f2c528e3-31a9-421f-8447-fa4dee53ede1 +2011-05-11 18:09:38 DEBUG [routes.middleware] Route path: '/v1.0/token/{token_id}', defaults: {'action': u'delete_token', 'controller': } +2011-05-11 18:09:38 DEBUG [routes.middleware] Match dict: {'action': u'delete_token', 'token_id': u'f2c528e3-31a9-421f-8447-fa4dee53ede1', 'controller': } +2011-05-11 18:09:38 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:38] "DELETE /v1.0/token/f2c528e3-31a9-421f-8447-fa4dee53ede1 HTTP/1.1" 204 103 0.089274 +2011-05-11 18:09:38 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:38 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:38 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:38 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:38] "POST /v1.0/token HTTP/1.1" 200 347 0.092323 +2011-05-11 18:09:38 DEBUG [routes.middleware] Matched GET /v1.0/token/e34b299d-82a0-4f32-a873-0ccbbc63aed5 +2011-05-11 18:09:38 DEBUG [routes.middleware] Route path: '/v1.0/token/{token_id}', defaults: {'action': u'validate_token', 'controller': } +2011-05-11 18:09:38 DEBUG [routes.middleware] Match dict: {'action': u'validate_token', 'token_id': u'e34b299d-82a0-4f32-a873-0ccbbc63aed5', 'controller': } +2011-05-11 18:09:38 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:38] "GET /v1.0/token/e34b299d-82a0-4f32-a873-0ccbbc63aed5?belongsTo=1234 HTTP/1.1" 200 347 0.040811 +2011-05-11 18:09:38 DEBUG [routes.middleware] Matched DELETE /v1.0/token/e34b299d-82a0-4f32-a873-0ccbbc63aed5 +2011-05-11 18:09:38 DEBUG [routes.middleware] Route path: '/v1.0/token/{token_id}', defaults: {'action': u'delete_token', 'controller': } +2011-05-11 18:09:38 DEBUG [routes.middleware] Match dict: {'action': u'delete_token', 'token_id': u'e34b299d-82a0-4f32-a873-0ccbbc63aed5', 'controller': } +2011-05-11 18:09:38 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:38] "DELETE /v1.0/token/e34b299d-82a0-4f32-a873-0ccbbc63aed5 HTTP/1.1" 204 103 0.092487 +2011-05-11 18:09:38 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:38 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:38 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:38 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:38] "POST /v1.0/token HTTP/1.1" 200 347 0.100853 +2011-05-11 18:09:38 DEBUG [routes.middleware] Matched GET /v1.0/token/69d88327-5a08-46d4-a7a6-d988d63944a5 +2011-05-11 18:09:38 DEBUG [routes.middleware] Route path: '/v1.0/token/{token_id}', defaults: {'action': u'validate_token', 'controller': } +2011-05-11 18:09:38 DEBUG [routes.middleware] Match dict: {'action': u'validate_token', 'token_id': u'69d88327-5a08-46d4-a7a6-d988d63944a5', 'controller': } +2011-05-11 18:09:38 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:38] "GET /v1.0/token/69d88327-5a08-46d4-a7a6-d988d63944a5?belongsTo=1234 HTTP/1.1" 200 372 0.039985 +2011-05-11 18:09:38 DEBUG [routes.middleware] Matched DELETE /v1.0/token/69d88327-5a08-46d4-a7a6-d988d63944a5 +2011-05-11 18:09:38 DEBUG [routes.middleware] Route path: '/v1.0/token/{token_id}', defaults: {'action': u'delete_token', 'controller': } +2011-05-11 18:09:38 DEBUG [routes.middleware] Match dict: {'action': u'delete_token', 'token_id': u'69d88327-5a08-46d4-a7a6-d988d63944a5', 'controller': } +2011-05-11 18:09:38 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:38] "DELETE /v1.0/token/69d88327-5a08-46d4-a7a6-d988d63944a5 HTTP/1.1" 204 103 0.101551 +2011-05-11 18:09:38 DEBUG [routes.middleware] Matched GET /v1.0/ +2011-05-11 18:09:38 DEBUG [routes.middleware] Route path: '/v1.0/', defaults: {'action': u'get_version_info', 'controller': } +2011-05-11 18:09:38 DEBUG [routes.middleware] Match dict: {'action': u'get_version_info', 'controller': } +2011-05-11 18:09:38 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:38] "GET /v1.0/ HTTP/1.1" 200 1081 0.053700 +2011-05-11 18:09:38 DEBUG [routes.middleware] Matched GET /v1.0/ +2011-05-11 18:09:38 DEBUG [routes.middleware] Route path: '/v1.0/', defaults: {'action': u'get_version_info', 'controller': } +2011-05-11 18:09:38 DEBUG [routes.middleware] Match dict: {'action': u'get_version_info', 'controller': } +2011-05-11 18:09:38 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:38] "GET /v1.0/ HTTP/1.1" 200 988 0.019373 +2011-05-11 18:09:38 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:38 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:38 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:39 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:39] "POST /v1.0/token HTTP/1.1" 200 347 0.085645 +2011-05-11 18:09:39 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant +2011-05-11 18:09:39 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:39 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 18:09:39 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:39] "DELETE /v1.0/tenants/test_tenant HTTP/1.1" 404 207 0.022682 +2011-05-11 18:09:39 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:39 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:39 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:39 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:39] "POST /v1.0/tenants HTTP/1.1" 201 214 0.087428 +2011-05-11 18:09:39 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant +2011-05-11 18:09:39 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:39 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 18:09:39 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:39] "DELETE /v1.0/tenants/test_tenant HTTP/1.1" 204 103 0.105063 +2011-05-11 18:09:39 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:39 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:39 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:39 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:39] "POST /v1.0/token HTTP/1.1" 200 347 0.024054 +2011-05-11 18:09:39 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:39 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:39 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:39 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:39] "POST /v1.0/tenants HTTP/1.1" 201 214 0.088623 +2011-05-11 18:09:39 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:39 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:39 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:39 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:39] "POST /v1.0/tenants HTTP/1.1" 409 215 0.025509 +2011-05-11 18:09:39 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:39 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:39 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:39 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:39] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.025862 +2011-05-11 18:09:39 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:39 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:39 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:39 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:39] "POST /v1.0/token HTTP/1.1" 200 347 0.021428 +2011-05-11 18:09:39 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:39 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:39 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:39 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:39] "POST /v1.0/tenants HTTP/1.1" 409 275 0.024553 +2011-05-11 18:09:39 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:39 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:39 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:39 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:39] "POST /v1.0/tenants HTTP/1.1" 409 275 0.022883 +2011-05-11 18:09:39 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:39 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:39 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:39 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:39] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.024631 +2011-05-11 18:09:39 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:39 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:39 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:39 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:39] "POST /v1.0/token HTTP/1.1" 200 347 0.020422 +2011-05-11 18:09:39 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:39 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:39 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:39 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:39] "POST /v1.0/tenants HTTP/1.1" 409 215 0.020456 +2011-05-11 18:09:39 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:39 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:39 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:39 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:39] "POST /v1.0/tenants HTTP/1.1" 403 214 0.020696 +2011-05-11 18:09:39 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:39 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:39 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:39 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:39] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.030849 +2011-05-11 18:09:39 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:39 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:39 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:39 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:39] "POST /v1.0/token HTTP/1.1" 200 347 0.023038 +2011-05-11 18:09:39 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:39 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:39 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:39 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:39] "POST /v1.0/tenants HTTP/1.1" 409 275 0.025804 +2011-05-11 18:09:39 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:39 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:39 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:39 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:39] "POST /v1.0/tenants HTTP/1.1" 403 272 0.018912 +2011-05-11 18:09:39 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:39 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:39 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:39 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:39] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.029661 +2011-05-11 18:09:39 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:39 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:39 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:39 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:39] "POST /v1.0/token HTTP/1.1" 200 347 0.019572 +2011-05-11 18:09:39 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:39 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:39 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:39 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:39] "POST /v1.0/tenants HTTP/1.1" 409 215 0.012420 +2011-05-11 18:09:39 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:39 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:39 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:39 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:39] "POST /v1.0/tenants HTTP/1.1" 403 202 0.009808 +2011-05-11 18:09:39 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:39 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:39 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:39 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:39] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.015161 +2011-05-11 18:09:39 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:39 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:39 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:39 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:39] "POST /v1.0/token HTTP/1.1" 200 347 0.012042 +2011-05-11 18:09:39 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:39 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:39 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:39 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:39] "POST /v1.0/tenants HTTP/1.1" 409 275 0.014707 +2011-05-11 18:09:39 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:39 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:39 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:39 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:39] "POST /v1.0/tenants HTTP/1.1" 403 257 0.011319 +2011-05-11 18:09:39 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:39 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:39 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:39 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:39] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.014037 +2011-05-11 18:09:39 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:39 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:39 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:39 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:39] "POST /v1.0/token HTTP/1.1" 200 347 0.011833 +2011-05-11 18:09:39 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:39 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:39 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:39 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:39] "POST /v1.0/tenants HTTP/1.1" 409 215 0.012890 +2011-05-11 18:09:39 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:39 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:39 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:39 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:39] "POST /v1.0/tenants HTTP/1.1" 401 221 0.009856 +2011-05-11 18:09:39 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:39 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:39 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:39 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:39] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.019172 +2011-05-11 18:09:39 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:39 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:39 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:39 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:39] "POST /v1.0/token HTTP/1.1" 200 347 0.011940 +2011-05-11 18:09:39 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:39 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:39 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:39 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:39] "POST /v1.0/tenants HTTP/1.1" 409 275 0.012498 +2011-05-11 18:09:39 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:39 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:39 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:39 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:39] "POST /v1.0/tenants HTTP/1.1" 401 279 0.009353 +2011-05-11 18:09:39 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:39 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:39 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:39 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:39] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.013926 +2011-05-11 18:09:39 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:39 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:39 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:39 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:39] "POST /v1.0/token HTTP/1.1" 200 347 0.021090 +2011-05-11 18:09:39 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:39 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:39 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:40] "POST /v1.0/tenants HTTP/1.1" 409 215 0.014320 +2011-05-11 18:09:40 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:40 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:40 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:40] "POST /v1.0/tenants HTTP/1.1" 404 210 0.003689 +2011-05-11 18:09:40 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:40 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:40 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:40] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.015434 +2011-05-11 18:09:40 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:40 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:40 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:40] "POST /v1.0/token HTTP/1.1" 200 347 0.011442 +2011-05-11 18:09:40 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:40 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:40 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:40] "POST /v1.0/tenants HTTP/1.1" 409 275 0.014658 +2011-05-11 18:09:40 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:40 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:40 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:40] "POST /v1.0/tenants HTTP/1.1" 404 268 0.003588 +2011-05-11 18:09:40 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:40 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:40 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:40] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.014149 +2011-05-11 18:09:40 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:40 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:40 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:40] "POST /v1.0/token HTTP/1.1" 200 347 0.012932 +2011-05-11 18:09:40 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:40 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:40 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:40] "POST /v1.0/tenants HTTP/1.1" 409 215 0.012312 +2011-05-11 18:09:40 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:40 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:40 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:40] "POST /v1.0/tenants HTTP/1.1" 401 194 0.002529 +2011-05-11 18:09:40 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:40 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:40 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:40] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.014533 +2011-05-11 18:09:40 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:40 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:40 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:40] "POST /v1.0/token HTTP/1.1" 200 347 0.011919 +2011-05-11 18:09:40 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:40 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:40 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:40] "POST /v1.0/tenants HTTP/1.1" 409 275 0.012629 +2011-05-11 18:09:40 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:40 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:40 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:40] "POST /v1.0/tenants HTTP/1.1" 401 252 0.002904 +2011-05-11 18:09:40 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:40 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:40 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:40] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.014146 +2011-05-11 18:09:40 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:40 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:40 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:40] "POST /v1.0/token HTTP/1.1" 200 347 0.018311 +2011-05-11 18:09:40 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant +2011-05-11 18:09:40 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:40 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 18:09:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:40] "DELETE /v1.0/tenants/test_tenant HTTP/1.1" 204 103 0.078106 +2011-05-11 18:09:40 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:40 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:40 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:40] "POST /v1.0/tenants HTTP/1.1" 201 267 0.181343 +2011-05-11 18:09:40 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant +2011-05-11 18:09:40 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:40 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 18:09:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:40] "DELETE /v1.0/tenants/test_tenant HTTP/1.1" 204 103 0.096811 +2011-05-11 18:09:40 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:40 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:40 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:40] "POST /v1.0/token HTTP/1.1" 200 347 0.032806 +2011-05-11 18:09:40 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:40 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:40 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:40] "POST /v1.0/tenants HTTP/1.1" 201 221 0.087840 +2011-05-11 18:09:40 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant_delete +2011-05-11 18:09:40 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:40 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'test_tenant_delete', 'controller': } +2011-05-11 18:09:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:40] "DELETE /v1.0/tenants/test_tenant_delete HTTP/1.1" 204 103 0.096028 +2011-05-11 18:09:40 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:40 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:40 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:40] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.027334 +2011-05-11 18:09:40 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:40 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:40 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:40] "POST /v1.0/token HTTP/1.1" 200 347 0.020262 +2011-05-11 18:09:40 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant_delete111 +2011-05-11 18:09:40 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:40 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'test_tenant_delete111', 'controller': } +2011-05-11 18:09:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:40] "DELETE /v1.0/tenants/test_tenant_delete111 HTTP/1.1" 404 207 0.024051 +2011-05-11 18:09:40 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:40 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:40 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:40] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.025991 +2011-05-11 18:09:40 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:40 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:40 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:40] "POST /v1.0/token HTTP/1.1" 200 347 0.019817 +2011-05-11 18:09:40 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant_delete111 +2011-05-11 18:09:40 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:40 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'test_tenant_delete111', 'controller': } +2011-05-11 18:09:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:40] "DELETE /v1.0/tenants/test_tenant_delete111 HTTP/1.1" 404 265 0.027820 +2011-05-11 18:09:40 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:40 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:40 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:40] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.027233 +2011-05-11 18:09:40 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:40 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:40 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:40 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:40] "POST /v1.0/token HTTP/1.1" 200 347 0.023330 +2011-05-11 18:09:41 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:41 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:41 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:41 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:41] "POST /v1.0/tenants HTTP/1.1" 201 274 0.091294 +2011-05-11 18:09:41 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant_delete +2011-05-11 18:09:41 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:41 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'test_tenant_delete', 'controller': } +2011-05-11 18:09:41 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:41] "DELETE /v1.0/tenants/test_tenant_delete HTTP/1.1" 204 103 0.081479 +2011-05-11 18:09:41 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:41 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:41 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:41 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:41] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.024417 +2011-05-11 18:09:41 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:41 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:41 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:41 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:41] "POST /v1.0/token HTTP/1.1" 200 347 0.024938 +2011-05-11 18:09:41 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:41 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:41 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:41 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:41] "POST /v1.0/tenants HTTP/1.1" 409 215 0.023880 +2011-05-11 18:09:41 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234 +2011-05-11 18:09:41 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'get_tenant', 'controller': } +2011-05-11 18:09:41 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:41 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:41] "GET /v1.0/tenants/1234 HTTP/1.1" 200 205 0.019446 +2011-05-11 18:09:41 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:41 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:41 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:41 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:41] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.029977 +2011-05-11 18:09:41 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:41 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:41 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:41 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:41] "POST /v1.0/token HTTP/1.1" 200 347 0.020951 +2011-05-11 18:09:41 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:41 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:41 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:41 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:41] "POST /v1.0/tenants HTTP/1.1" 409 215 0.026501 +2011-05-11 18:09:41 DEBUG [routes.middleware] Matched GET /v1.0/tenants/tenant_bad +2011-05-11 18:09:41 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'get_tenant', 'controller': } +2011-05-11 18:09:41 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant', 'tenant_id': u'tenant_bad', 'controller': } +2011-05-11 18:09:41 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:41] "GET /v1.0/tenants/tenant_bad HTTP/1.1" 404 207 0.020718 +2011-05-11 18:09:41 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:41 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:41 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:41 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:41] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.032656 +2011-05-11 18:09:41 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:41 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:41 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:41 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:41] "POST /v1.0/token HTTP/1.1" 200 347 0.023313 +2011-05-11 18:09:41 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:41 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:41 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:41 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:41] "POST /v1.0/tenants HTTP/1.1" 409 215 0.022158 +2011-05-11 18:09:41 DEBUG [routes.middleware] Matched GET /v1.0/tenants/tenant_bad +2011-05-11 18:09:41 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'get_tenant', 'controller': } +2011-05-11 18:09:41 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant', 'tenant_id': u'tenant_bad', 'controller': } +2011-05-11 18:09:41 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:41] "GET /v1.0/tenants/tenant_bad HTTP/1.1" 404 265 0.022770 +2011-05-11 18:09:41 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:41 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:41 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:41 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:41] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.024381 +2011-05-11 18:09:41 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:41 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:41 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:41 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:41] "POST /v1.0/token HTTP/1.1" 200 347 0.023635 +2011-05-11 18:09:41 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:41 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:41 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:41 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:41] "POST /v1.0/tenants HTTP/1.1" 409 215 0.021263 +2011-05-11 18:09:41 DEBUG [routes.middleware] Matched GET /v1.0/tenants/NonexistingID +2011-05-11 18:09:41 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'get_tenant', 'controller': } +2011-05-11 18:09:41 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant', 'tenant_id': u'NonexistingID', 'controller': } +2011-05-11 18:09:41 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:41] "GET /v1.0/tenants/NonexistingID HTTP/1.1" 404 207 0.020141 +2011-05-11 18:09:41 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:41 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:41 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:41 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:41] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.026497 +2011-05-11 18:09:41 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:41 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:41 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:41 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:41] "POST /v1.0/token HTTP/1.1" 200 347 0.028623 +2011-05-11 18:09:41 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:41 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:41 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:41 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:41] "POST /v1.0/tenants HTTP/1.1" 409 215 0.020845 +2011-05-11 18:09:41 DEBUG [routes.middleware] Matched GET /v1.0/tenants/NonexistingID +2011-05-11 18:09:41 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'get_tenant', 'controller': } +2011-05-11 18:09:41 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant', 'tenant_id': u'NonexistingID', 'controller': } +2011-05-11 18:09:41 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:41] "GET /v1.0/tenants/NonexistingID HTTP/1.1" 404 265 0.020345 +2011-05-11 18:09:41 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:41 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:41 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:41 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:41] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.031164 +2011-05-11 18:09:41 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:41 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:41 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:41 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:41] "POST /v1.0/token HTTP/1.1" 200 347 0.022977 +2011-05-11 18:09:41 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:41 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:41 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:41 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:41] "POST /v1.0/tenants HTTP/1.1" 409 215 0.021805 +2011-05-11 18:09:41 DEBUG [routes.middleware] Matched GET /v1.0/tenants/1234 +2011-05-11 18:09:41 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'get_tenant', 'controller': } +2011-05-11 18:09:41 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:41 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:41] "GET /v1.0/tenants/1234 HTTP/1.1" 200 259 0.021441 +2011-05-11 18:09:41 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:41 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:41 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:41 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:41] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.024572 +2011-05-11 18:09:41 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:41 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:41 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:41 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:41] "POST /v1.0/token HTTP/1.1" 200 347 0.021957 +2011-05-11 18:09:41 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:41 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:41 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:41 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:41] "POST /v1.0/tenants HTTP/1.1" 409 215 0.020534 +2011-05-11 18:09:41 DEBUG [routes.middleware] Matched GET /v1.0/tenants +2011-05-11 18:09:41 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'get_tenants', 'controller': } +2011-05-11 18:09:41 DEBUG [routes.middleware] Match dict: {'action': u'get_tenants', 'controller': } +2011-05-11 18:09:41 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:41] "GET /v1.0/tenants HTTP/1.1" 200 307 0.031866 +2011-05-11 18:09:41 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:41 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:41 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:41 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:41] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.024701 +2011-05-11 18:09:41 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:41 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:41 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:41 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:41] "POST /v1.0/token HTTP/1.1" 200 347 0.025676 +2011-05-11 18:09:41 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:41 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:41 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:42 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:42] "POST /v1.0/tenants HTTP/1.1" 409 215 0.022044 +2011-05-11 18:09:42 DEBUG [routes.middleware] Matched GET /v1.0/tenants +2011-05-11 18:09:42 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'get_tenants', 'controller': } +2011-05-11 18:09:42 DEBUG [routes.middleware] Match dict: {'action': u'get_tenants', 'controller': } +2011-05-11 18:09:42 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:42] "GET /v1.0/tenants HTTP/1.1" 403 202 0.020998 +2011-05-11 18:09:42 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:42 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:42 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:42 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:42] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.022395 +2011-05-11 18:09:42 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:42 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:42 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:42 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:42] "POST /v1.0/token HTTP/1.1" 200 347 0.027753 +2011-05-11 18:09:42 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:42 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:42 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:42 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:42] "POST /v1.0/tenants HTTP/1.1" 409 215 0.019379 +2011-05-11 18:09:42 DEBUG [routes.middleware] Matched GET /v1.0/tenants +2011-05-11 18:09:42 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'get_tenants', 'controller': } +2011-05-11 18:09:42 DEBUG [routes.middleware] Match dict: {'action': u'get_tenants', 'controller': } +2011-05-11 18:09:42 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:42] "GET /v1.0/tenants HTTP/1.1" 403 257 0.018184 +2011-05-11 18:09:42 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:42 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:42 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:42 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:42] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.029296 +2011-05-11 18:09:42 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:42 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:42 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:42 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:42] "POST /v1.0/token HTTP/1.1" 200 347 0.024479 +2011-05-11 18:09:42 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:42 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:42 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:42 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:42] "POST /v1.0/tenants HTTP/1.1" 409 215 0.019209 +2011-05-11 18:09:42 DEBUG [routes.middleware] Matched GET /v1.0/tenants +2011-05-11 18:09:42 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'get_tenants', 'controller': } +2011-05-11 18:09:42 DEBUG [routes.middleware] Match dict: {'action': u'get_tenants', 'controller': } +2011-05-11 18:09:42 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:42] "GET /v1.0/tenants HTTP/1.1" 401 221 0.022103 +2011-05-11 18:09:42 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:42 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:42 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:42 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:42] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.025321 +2011-05-11 18:09:42 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:42 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:42 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:42 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:42] "POST /v1.0/token HTTP/1.1" 200 347 0.034556 +2011-05-11 18:09:42 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:42 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:42 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:42 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:42] "POST /v1.0/tenants HTTP/1.1" 409 215 0.012724 +2011-05-11 18:09:42 DEBUG [routes.middleware] Matched GET /v1.0/tenants +2011-05-11 18:09:42 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'get_tenants', 'controller': } +2011-05-11 18:09:42 DEBUG [routes.middleware] Match dict: {'action': u'get_tenants', 'controller': } +2011-05-11 18:09:42 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:42] "GET /v1.0/tenants HTTP/1.1" 401 279 0.011747 +2011-05-11 18:09:42 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:42 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:42 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:42 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:42] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.014276 +2011-05-11 18:09:42 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:42 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:42 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:42 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:42] "POST /v1.0/token HTTP/1.1" 200 347 0.014876 +2011-05-11 18:09:42 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:42 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:42 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:42 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:42] "POST /v1.0/tenants HTTP/1.1" 409 215 0.014426 +2011-05-11 18:09:42 DEBUG [routes.middleware] Matched GET /v1.0/tenants +2011-05-11 18:09:42 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'get_tenants', 'controller': } +2011-05-11 18:09:42 DEBUG [routes.middleware] Match dict: {'action': u'get_tenants', 'controller': } +2011-05-11 18:09:42 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:42] "GET /v1.0/tenants HTTP/1.1" 200 462 0.022661 +2011-05-11 18:09:42 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:42 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:42 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:42 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:42] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.014127 +2011-05-11 18:09:42 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:42 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:42 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:42 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:42] "POST /v1.0/token HTTP/1.1" 200 347 0.014194 +2011-05-11 18:09:42 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:42 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:42 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:42 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:42] "POST /v1.0/tenants HTTP/1.1" 409 215 0.011335 +2011-05-11 18:09:42 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234 +2011-05-11 18:09:42 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'update_tenant', 'controller': } +2011-05-11 18:09:42 DEBUG [routes.middleware] Match dict: {'action': u'update_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:42 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:42] "PUT /v1.0/tenants/1234 HTTP/1.1" 200 205 0.021370 +2011-05-11 18:09:42 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:42 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:42 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:42 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:42] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.017238 +2011-05-11 18:09:42 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:42 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:42 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:42 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:42] "POST /v1.0/token HTTP/1.1" 200 347 0.013562 +2011-05-11 18:09:42 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:42 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:42 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:42 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:42] "POST /v1.0/tenants HTTP/1.1" 409 215 0.011937 +2011-05-11 18:09:42 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234 +2011-05-11 18:09:42 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'update_tenant', 'controller': } +2011-05-11 18:09:42 DEBUG [routes.middleware] Match dict: {'action': u'update_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:42 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:42] "PUT /v1.0/tenants/1234 HTTP/1.1" 400 206 0.001476 +2011-05-11 18:09:42 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:42 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:42 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:42 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:42] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.014654 +2011-05-11 18:09:42 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:42 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:42 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:42 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:42] "POST /v1.0/token HTTP/1.1" 200 347 0.014721 +2011-05-11 18:09:42 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:42 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:42 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:42 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:42] "POST /v1.0/tenants HTTP/1.1" 409 215 0.013377 +2011-05-11 18:09:42 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234 +2011-05-11 18:09:42 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'update_tenant', 'controller': } +2011-05-11 18:09:42 DEBUG [routes.middleware] Match dict: {'action': u'update_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:42 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:42] "PUT /v1.0/tenants/1234 HTTP/1.1" 400 363 0.001473 +2011-05-11 18:09:42 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:42 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:42 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:42 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:42] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.013864 +2011-05-11 18:09:42 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:42 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:42 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:42 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:42] "POST /v1.0/token HTTP/1.1" 200 347 0.013262 +2011-05-11 18:09:42 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:42 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:42 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:42 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:42] "POST /v1.0/tenants HTTP/1.1" 409 215 0.020391 +2011-05-11 18:09:42 DEBUG [routes.middleware] Matched GET /v1.0/tenants/NonexistingID +2011-05-11 18:09:42 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'get_tenant', 'controller': } +2011-05-11 18:09:42 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant', 'tenant_id': u'NonexistingID', 'controller': } +2011-05-11 18:09:42 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:42] "GET /v1.0/tenants/NonexistingID HTTP/1.1" 404 207 0.013556 +2011-05-11 18:09:42 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:42 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:42 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:42 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:42] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.015166 +2011-05-11 18:09:42 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:42 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:42 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:42 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:42] "POST /v1.0/token HTTP/1.1" 200 347 0.013054 +2011-05-11 18:09:42 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:42 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:42 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:42 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:42] "POST /v1.0/tenants HTTP/1.1" 409 215 0.014262 +2011-05-11 18:09:42 DEBUG [routes.middleware] Matched GET /v1.0/tenants/NonexistingID +2011-05-11 18:09:42 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'get_tenant', 'controller': } +2011-05-11 18:09:42 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant', 'tenant_id': u'NonexistingID', 'controller': } +2011-05-11 18:09:42 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:42] "GET /v1.0/tenants/NonexistingID HTTP/1.1" 404 265 0.014008 +2011-05-11 18:09:42 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:42 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:42 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:42 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:42] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.016308 +2011-05-11 18:09:42 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:42 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:42 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:42 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:42] "POST /v1.0/token HTTP/1.1" 200 347 0.013306 +2011-05-11 18:09:42 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:42 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:42 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:42 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:42] "POST /v1.0/tenants HTTP/1.1" 409 275 0.013469 +2011-05-11 18:09:42 DEBUG [routes.middleware] Matched PUT /v1.0/tenants/1234 +2011-05-11 18:09:42 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'update_tenant', 'controller': } +2011-05-11 18:09:42 DEBUG [routes.middleware] Match dict: {'action': u'update_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:42 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:42] "PUT /v1.0/tenants/1234 HTTP/1.1" 200 259 0.014552 +2011-05-11 18:09:42 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:42 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:42 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:42 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:42] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.016345 +2011-05-11 18:09:42 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:42 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:42 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:42 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:42] "POST /v1.0/token HTTP/1.1" 200 347 0.021893 +2011-05-11 18:09:42 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:42 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:42 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:42 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:42] "POST /v1.0/tenants HTTP/1.1" 201 214 0.088457 +2011-05-11 18:09:42 DEBUG [routes.middleware] Matched POST /v1.0/tenant/test_tenant/groups +2011-05-11 18:09:42 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 18:09:42 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 18:09:42 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:42] "POST /v1.0/tenant/test_tenant/groups HTTP/1.1" 201 234 0.083755 +2011-05-11 18:09:42 DEBUG [routes.middleware] Matched POST /v1.0/tenants/test_tenant/users +2011-05-11 18:09:42 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:42 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 18:09:43 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:43] "POST /v1.0/tenants/test_tenant/users HTTP/1.1" 201 261 0.170542 +2011-05-11 18:09:43 DEBUG [routes.middleware] No route matched for PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 18:09:43 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:43] "PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.001241 +2011-05-11 18:09:43 DEBUG [routes.middleware] No route matched for DELETE /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 18:09:43 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:43] "DELETE /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.001206 +2011-05-11 18:09:43 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant/users/test_user +2011-05-11 18:09:43 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:43 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'test_tenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:43 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:43] "DELETE /v1.0/tenants/test_tenant/users/test_user HTTP/1.1" 204 103 0.138113 +2011-05-11 18:09:43 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/test_tenant/groups/test_tenant_group_add +2011-05-11 18:09:43 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:09:43 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'test_tenant', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:09:43 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:43] "DELETE /v1.0/tenant/test_tenant/groups/test_tenant_group_add HTTP/1.1" 204 103 0.097247 +2011-05-11 18:09:43 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant +2011-05-11 18:09:43 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:43 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 18:09:43 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:43] "DELETE /v1.0/tenants/test_tenant HTTP/1.1" 204 103 0.096973 +2011-05-11 18:09:43 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:43 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:43 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:43 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:43] "POST /v1.0/token HTTP/1.1" 200 347 0.027371 +2011-05-11 18:09:43 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:43 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:43 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:43 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:43] "POST /v1.0/tenants HTTP/1.1" 201 214 0.084674 +2011-05-11 18:09:43 DEBUG [routes.middleware] Matched POST /v1.0/tenant/test_tenant/groups +2011-05-11 18:09:43 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 18:09:43 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 18:09:43 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:43] "POST /v1.0/tenant/test_tenant/groups HTTP/1.1" 201 234 0.088555 +2011-05-11 18:09:43 DEBUG [routes.middleware] Matched POST /v1.0/tenants/test_tenant/users +2011-05-11 18:09:43 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:43 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 18:09:43 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:43] "POST /v1.0/tenants/test_tenant/users HTTP/1.1" 201 261 0.163523 +2011-05-11 18:09:43 DEBUG [routes.middleware] No route matched for PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 18:09:43 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:43] "PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.001798 +2011-05-11 18:09:43 DEBUG [routes.middleware] No route matched for PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 18:09:43 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:43] "PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.002292 +2011-05-11 18:09:43 DEBUG [routes.middleware] No route matched for DELETE /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 18:09:43 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:43] "DELETE /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.001127 +2011-05-11 18:09:43 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant/users/test_user +2011-05-11 18:09:43 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:43 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'test_tenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:44 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:44] "DELETE /v1.0/tenants/test_tenant/users/test_user HTTP/1.1" 204 103 0.124486 +2011-05-11 18:09:44 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/test_tenant/groups/test_tenant_group_add +2011-05-11 18:09:44 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:09:44 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'test_tenant', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:09:44 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:44] "DELETE /v1.0/tenant/test_tenant/groups/test_tenant_group_add HTTP/1.1" 204 103 0.096920 +2011-05-11 18:09:44 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant +2011-05-11 18:09:44 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:44 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 18:09:44 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:44] "DELETE /v1.0/tenants/test_tenant HTTP/1.1" 204 103 0.113972 +2011-05-11 18:09:44 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:44 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:44 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:44 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:44] "POST /v1.0/token HTTP/1.1" 200 347 0.021459 +2011-05-11 18:09:44 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:44 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:44 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:44 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:44] "POST /v1.0/tenants HTTP/1.1" 201 214 0.097972 +2011-05-11 18:09:44 DEBUG [routes.middleware] Matched POST /v1.0/tenant/test_tenant/groups +2011-05-11 18:09:44 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 18:09:44 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 18:09:44 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:44] "POST /v1.0/tenant/test_tenant/groups HTTP/1.1" 201 234 0.097238 +2011-05-11 18:09:44 DEBUG [routes.middleware] Matched POST /v1.0/tenants/test_tenant/users +2011-05-11 18:09:44 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:44 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 18:09:44 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:44] "POST /v1.0/tenants/test_tenant/users HTTP/1.1" 201 261 0.171672 +2011-05-11 18:09:44 DEBUG [routes.middleware] No route matched for PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 18:09:44 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:44] "PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.001161 +2011-05-11 18:09:44 DEBUG [routes.middleware] No route matched for PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 18:09:44 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:44] "PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.003301 +2011-05-11 18:09:44 DEBUG [routes.middleware] No route matched for DELETE /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 18:09:44 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:44] "DELETE /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.003289 +2011-05-11 18:09:44 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant/users/test_user +2011-05-11 18:09:44 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:44 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'test_tenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:44 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:44] "DELETE /v1.0/tenants/test_tenant/users/test_user HTTP/1.1" 204 103 0.114809 +2011-05-11 18:09:44 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/test_tenant/groups/test_tenant_group_add +2011-05-11 18:09:44 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:09:44 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'test_tenant', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:09:44 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:44] "DELETE /v1.0/tenant/test_tenant/groups/test_tenant_group_add HTTP/1.1" 204 103 0.088735 +2011-05-11 18:09:44 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant +2011-05-11 18:09:44 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:44 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 18:09:44 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:44] "DELETE /v1.0/tenants/test_tenant HTTP/1.1" 204 103 0.088715 +2011-05-11 18:09:44 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:44 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:44 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:44 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:44] "POST /v1.0/token HTTP/1.1" 200 347 0.030848 +2011-05-11 18:09:44 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:44 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:44 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:45 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:45] "POST /v1.0/tenants HTTP/1.1" 201 214 0.081858 +2011-05-11 18:09:45 DEBUG [routes.middleware] Matched POST /v1.0/tenant/test_tenant/groups +2011-05-11 18:09:45 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 18:09:45 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 18:09:45 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:45] "POST /v1.0/tenant/test_tenant/groups HTTP/1.1" 201 234 0.099606 +2011-05-11 18:09:45 DEBUG [routes.middleware] Matched POST /v1.0/tenants/test_tenant/users +2011-05-11 18:09:45 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:45 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 18:09:45 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:45] "POST /v1.0/tenants/test_tenant/users HTTP/1.1" 201 261 0.294851 +2011-05-11 18:09:45 DEBUG [routes.middleware] No route matched for PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 18:09:45 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:45] "PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.002301 +2011-05-11 18:09:45 DEBUG [routes.middleware] No route matched for DELETE /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 18:09:45 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:45] "DELETE /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.001149 +2011-05-11 18:09:45 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant/users/test_user +2011-05-11 18:09:45 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:45 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'test_tenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:45 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:45] "DELETE /v1.0/tenants/test_tenant/users/test_user HTTP/1.1" 204 103 0.212717 +2011-05-11 18:09:45 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/test_tenant/groups/test_tenant_group_add +2011-05-11 18:09:45 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:09:45 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'test_tenant', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:09:45 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:45] "DELETE /v1.0/tenant/test_tenant/groups/test_tenant_group_add HTTP/1.1" 204 103 0.113058 +2011-05-11 18:09:45 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant +2011-05-11 18:09:45 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:45 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 18:09:46 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:46] "DELETE /v1.0/tenants/test_tenant HTTP/1.1" 204 103 0.280420 +2011-05-11 18:09:46 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:46 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:46 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:46 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:46] "POST /v1.0/token HTTP/1.1" 200 347 0.021304 +2011-05-11 18:09:46 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:46 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:46 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:46 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:46] "POST /v1.0/tenants HTTP/1.1" 201 214 0.080651 +2011-05-11 18:09:46 DEBUG [routes.middleware] Matched POST /v1.0/tenant/test_tenant/groups +2011-05-11 18:09:46 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 18:09:46 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 18:09:46 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:46] "POST /v1.0/tenant/test_tenant/groups HTTP/1.1" 201 234 0.089149 +2011-05-11 18:09:46 DEBUG [routes.middleware] Matched POST /v1.0/tenants/test_tenant/users +2011-05-11 18:09:46 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:46 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 18:09:46 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:46] "POST /v1.0/tenants/test_tenant/users HTTP/1.1" 201 261 0.172221 +2011-05-11 18:09:46 DEBUG [routes.middleware] No route matched for PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 18:09:46 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:46] "PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.002784 +2011-05-11 18:09:46 DEBUG [routes.middleware] No route matched for DELETE /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 18:09:46 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:46] "DELETE /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.001448 +2011-05-11 18:09:46 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant/users/test_user +2011-05-11 18:09:46 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:46 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'test_tenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:46 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:46] "DELETE /v1.0/tenants/test_tenant/users/test_user HTTP/1.1" 204 103 0.127327 +2011-05-11 18:09:46 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/test_tenant/groups/test_tenant_group_add +2011-05-11 18:09:46 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:09:46 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'test_tenant', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:09:46 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:46] "DELETE /v1.0/tenant/test_tenant/groups/test_tenant_group_add HTTP/1.1" 204 103 0.106189 +2011-05-11 18:09:46 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant +2011-05-11 18:09:46 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:46 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 18:09:46 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:46] "DELETE /v1.0/tenants/test_tenant HTTP/1.1" 204 103 0.104512 +2011-05-11 18:09:46 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:46 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:46 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:46 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:46] "POST /v1.0/token HTTP/1.1" 200 347 0.028291 +2011-05-11 18:09:46 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:46 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:46 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:46 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:46] "POST /v1.0/tenants HTTP/1.1" 201 214 0.092619 +2011-05-11 18:09:46 DEBUG [routes.middleware] Matched POST /v1.0/tenant/test_tenant/groups +2011-05-11 18:09:46 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 18:09:46 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 18:09:47 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:47] "POST /v1.0/tenant/test_tenant/groups HTTP/1.1" 201 234 0.089032 +2011-05-11 18:09:47 DEBUG [routes.middleware] Matched POST /v1.0/tenants/test_tenant/users +2011-05-11 18:09:47 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:47 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 18:09:47 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:47] "POST /v1.0/tenants/test_tenant/users HTTP/1.1" 201 261 0.159501 +2011-05-11 18:09:47 DEBUG [routes.middleware] No route matched for PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 18:09:47 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:47] "PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.001190 +2011-05-11 18:09:47 DEBUG [routes.middleware] No route matched for DELETE /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 18:09:47 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:47] "DELETE /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.001254 +2011-05-11 18:09:47 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant/users/test_user +2011-05-11 18:09:47 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:47 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'test_tenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:47 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:47] "DELETE /v1.0/tenants/test_tenant/users/test_user HTTP/1.1" 204 103 0.121885 +2011-05-11 18:09:47 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/test_tenant/groups/test_tenant_group_add +2011-05-11 18:09:47 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:09:47 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'test_tenant', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:09:47 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:47] "DELETE /v1.0/tenant/test_tenant/groups/test_tenant_group_add HTTP/1.1" 204 103 0.097431 +2011-05-11 18:09:47 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant +2011-05-11 18:09:47 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:47 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 18:09:47 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:47] "DELETE /v1.0/tenants/test_tenant HTTP/1.1" 204 103 0.097605 +2011-05-11 18:09:47 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:47 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:47 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:47 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:47] "POST /v1.0/token HTTP/1.1" 200 347 0.023797 +2011-05-11 18:09:47 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:47 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:47 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:47 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:47] "POST /v1.0/tenants HTTP/1.1" 201 214 0.088716 +2011-05-11 18:09:47 DEBUG [routes.middleware] Matched POST /v1.0/tenant/test_tenant/groups +2011-05-11 18:09:47 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 18:09:47 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 18:09:47 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:47] "POST /v1.0/tenant/test_tenant/groups HTTP/1.1" 201 234 0.097262 +2011-05-11 18:09:47 DEBUG [routes.middleware] Matched POST /v1.0/tenants/test_tenant/users +2011-05-11 18:09:47 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:47 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 18:09:47 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:47] "POST /v1.0/tenants/test_tenant/users HTTP/1.1" 201 261 0.163733 +2011-05-11 18:09:47 DEBUG [routes.middleware] No route matched for PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 18:09:47 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:47] "PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.001277 +2011-05-11 18:09:47 DEBUG [routes.middleware] No route matched for DELETE /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 18:09:47 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:47] "DELETE /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.002013 +2011-05-11 18:09:47 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant/users/test_user +2011-05-11 18:09:47 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:47 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'test_tenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:48] "DELETE /v1.0/tenants/test_tenant/users/test_user HTTP/1.1" 204 103 0.121606 +2011-05-11 18:09:48 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/test_tenant/groups/test_tenant_group_add +2011-05-11 18:09:48 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:09:48 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'test_tenant', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:09:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:48] "DELETE /v1.0/tenant/test_tenant/groups/test_tenant_group_add HTTP/1.1" 204 103 0.097045 +2011-05-11 18:09:48 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant +2011-05-11 18:09:48 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:48 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 18:09:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:48] "DELETE /v1.0/tenants/test_tenant HTTP/1.1" 204 103 0.088891 +2011-05-11 18:09:48 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:48 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:48 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:48] "POST /v1.0/token HTTP/1.1" 200 347 0.021947 +2011-05-11 18:09:48 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:48 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:48 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:48] "POST /v1.0/tenants HTTP/1.1" 201 214 0.099139 +2011-05-11 18:09:48 DEBUG [routes.middleware] Matched POST /v1.0/tenant/test_tenant/groups +2011-05-11 18:09:48 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 18:09:48 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 18:09:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:48] "POST /v1.0/tenant/test_tenant/groups HTTP/1.1" 201 234 0.097295 +2011-05-11 18:09:48 DEBUG [routes.middleware] Matched POST /v1.0/tenants/test_tenant/users +2011-05-11 18:09:48 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:48 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 18:09:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:48] "POST /v1.0/tenants/test_tenant/users HTTP/1.1" 201 261 0.179774 +2011-05-11 18:09:48 DEBUG [routes.middleware] No route matched for PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 18:09:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:48] "PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.001270 +2011-05-11 18:09:48 DEBUG [routes.middleware] No route matched for DELETE /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 18:09:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:48] "DELETE /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.001229 +2011-05-11 18:09:48 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant/users/test_user +2011-05-11 18:09:48 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:48 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'test_tenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:48] "DELETE /v1.0/tenants/test_tenant/users/test_user HTTP/1.1" 204 103 0.122001 +2011-05-11 18:09:48 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/test_tenant/groups/test_tenant_group_add +2011-05-11 18:09:48 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:09:48 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'test_tenant', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:09:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:48] "DELETE /v1.0/tenant/test_tenant/groups/test_tenant_group_add HTTP/1.1" 204 103 0.097066 +2011-05-11 18:09:48 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant +2011-05-11 18:09:48 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:48 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 18:09:48 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:48] "DELETE /v1.0/tenants/test_tenant HTTP/1.1" 204 103 0.097683 +2011-05-11 18:09:48 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:48 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:48 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:49 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:49] "POST /v1.0/token HTTP/1.1" 200 347 0.026855 +2011-05-11 18:09:49 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:49 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:49 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:49 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:49] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.034038 +2011-05-11 18:09:49 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:49 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:49 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:49 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:49] "POST /v1.0/tenants HTTP/1.1" 409 215 0.021846 +2011-05-11 18:09:49 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 18:09:49 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:09:49 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:09:49 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:49] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 404 204 0.023330 +2011-05-11 18:09:49 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 18:09:49 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 18:09:49 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:49 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:49] "POST /v1.0/tenant/1234/groups HTTP/1.1" 201 226 0.082434 +2011-05-11 18:09:49 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 18:09:49 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:09:49 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:09:49 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:49] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 204 103 0.095580 +2011-05-11 18:09:49 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:49 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:49 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:49 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:49] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.025929 +2011-05-11 18:09:49 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:49 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:49 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:49 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:49] "POST /v1.0/token HTTP/1.1" 200 347 0.019376 +2011-05-11 18:09:49 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:49 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:49 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:49 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:49] "POST /v1.0/tenants HTTP/1.1" 409 215 0.022476 +2011-05-11 18:09:49 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 18:09:49 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 18:09:49 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:49 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:49] "POST /v1.0/tenant/1234/groups HTTP/1.1" 201 226 0.104435 +2011-05-11 18:09:49 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 18:09:49 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 18:09:49 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:49 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:49] "POST /v1.0/tenant/1234/groups HTTP/1.1" 409 226 0.036561 +2011-05-11 18:09:49 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 18:09:49 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:09:49 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:09:49 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:49] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 204 103 0.107643 +2011-05-11 18:09:49 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:49 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:49 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:49 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:49] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.037822 +2011-05-11 18:09:49 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:49 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:49 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:49 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:49] "POST /v1.0/token HTTP/1.1" 200 347 0.010477 +2011-05-11 18:09:49 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:49 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:49 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:49 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:49] "POST /v1.0/tenants HTTP/1.1" 201 267 0.080075 +2011-05-11 18:09:49 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 18:09:49 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 18:09:49 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:49 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:49] "POST /v1.0/tenant/1234/groups HTTP/1.1" 201 276 0.082729 +2011-05-11 18:09:49 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 18:09:49 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 18:09:49 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:49 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:49] "POST /v1.0/tenant/1234/groups HTTP/1.1" 409 291 0.030360 +2011-05-11 18:09:49 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 18:09:49 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:09:49 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:09:49 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:49] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 204 103 0.088595 +2011-05-11 18:09:49 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:49 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:49 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:49 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:49] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.021755 +2011-05-11 18:09:49 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:49 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:49 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:49 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:49] "POST /v1.0/token HTTP/1.1" 200 347 0.020960 +2011-05-11 18:09:50 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:50 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:50 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:50] "POST /v1.0/tenants HTTP/1.1" 409 215 0.019857 +2011-05-11 18:09:50 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 18:09:50 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 18:09:50 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:50] "POST /v1.0/tenant/1234/groups HTTP/1.1" 403 214 0.017130 +2011-05-11 18:09:50 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 18:09:50 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:09:50 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:09:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:50] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 404 204 0.024503 +2011-05-11 18:09:50 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:50 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:50 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:50] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.026374 +2011-05-11 18:09:50 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:50 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:50 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:50] "POST /v1.0/token HTTP/1.1" 200 347 0.023410 +2011-05-11 18:09:50 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:50 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:50 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:50] "POST /v1.0/tenants HTTP/1.1" 409 275 0.022350 +2011-05-11 18:09:50 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 18:09:50 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 18:09:50 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:50] "POST /v1.0/tenant/1234/groups HTTP/1.1" 403 272 0.015913 +2011-05-11 18:09:50 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 18:09:50 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:09:50 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:09:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:50] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 404 204 0.021330 +2011-05-11 18:09:50 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:50 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:50 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:50] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.022048 +2011-05-11 18:09:50 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:50 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:50 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:50] "POST /v1.0/token HTTP/1.1" 200 347 0.021821 +2011-05-11 18:09:50 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:50 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:50 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:50] "POST /v1.0/tenants HTTP/1.1" 409 215 0.022208 +2011-05-11 18:09:50 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 18:09:50 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 18:09:50 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:50] "POST /v1.0/tenant/1234/groups HTTP/1.1" 403 202 0.020399 +2011-05-11 18:09:50 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 18:09:50 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:09:50 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:09:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:50] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 404 204 0.018614 +2011-05-11 18:09:50 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:50 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:50 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:50] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.014412 +2011-05-11 18:09:50 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:50 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:50 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:50] "POST /v1.0/token HTTP/1.1" 200 347 0.014002 +2011-05-11 18:09:50 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:50 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:50 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:50] "POST /v1.0/tenants HTTP/1.1" 409 275 0.012109 +2011-05-11 18:09:50 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 18:09:50 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 18:09:50 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:50] "POST /v1.0/tenant/1234/groups HTTP/1.1" 403 257 0.010062 +2011-05-11 18:09:50 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 18:09:50 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:09:50 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:09:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:50] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 404 204 0.013637 +2011-05-11 18:09:50 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:50 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:50 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:50] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.013700 +2011-05-11 18:09:50 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:50 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:50 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:50] "POST /v1.0/token HTTP/1.1" 200 347 0.012491 +2011-05-11 18:09:50 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:50 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:50 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:50] "POST /v1.0/tenants HTTP/1.1" 409 215 0.012775 +2011-05-11 18:09:50 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 18:09:50 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 18:09:50 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:50] "POST /v1.0/tenant/1234/groups HTTP/1.1" 404 210 0.003383 +2011-05-11 18:09:50 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 18:09:50 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:09:50 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:09:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:50] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 404 204 0.015602 +2011-05-11 18:09:50 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:50 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:50 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:50] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.016506 +2011-05-11 18:09:50 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:50 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:50 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:50] "POST /v1.0/token HTTP/1.1" 200 347 0.015298 +2011-05-11 18:09:50 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:50 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:50 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:50] "POST /v1.0/tenants HTTP/1.1" 409 275 0.013868 +2011-05-11 18:09:50 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 18:09:50 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 18:09:50 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:50] "POST /v1.0/tenant/1234/groups HTTP/1.1" 404 268 0.005129 +2011-05-11 18:09:50 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 18:09:50 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:09:50 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:09:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:50] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 404 204 0.014164 +2011-05-11 18:09:50 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:50 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:50 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:50] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.013124 +2011-05-11 18:09:50 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:50 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:50 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:50] "POST /v1.0/token HTTP/1.1" 200 347 0.014175 +2011-05-11 18:09:50 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:50 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:50 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:50] "POST /v1.0/tenants HTTP/1.1" 409 215 0.016370 +2011-05-11 18:09:50 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 18:09:50 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 18:09:50 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:50] "POST /v1.0/tenant/1234/groups HTTP/1.1" 401 194 0.002836 +2011-05-11 18:09:50 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 18:09:50 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:09:50 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:09:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:50] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 404 204 0.013687 +2011-05-11 18:09:50 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:50 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:50 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:50] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.016654 +2011-05-11 18:09:50 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:50 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:50 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:50] "POST /v1.0/token HTTP/1.1" 200 347 0.016546 +2011-05-11 18:09:50 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:50 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:50 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:50] "POST /v1.0/tenants HTTP/1.1" 409 275 0.011115 +2011-05-11 18:09:50 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 18:09:50 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 18:09:50 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:50] "POST /v1.0/tenant/1234/groups HTTP/1.1" 401 252 0.001442 +2011-05-11 18:09:50 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 18:09:50 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:09:50 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:09:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:50] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 404 204 0.013551 +2011-05-11 18:09:50 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:50 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:50 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:50] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.017097 +2011-05-11 18:09:50 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:50 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:50 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:50] "POST /v1.0/token HTTP/1.1" 200 347 0.012354 +2011-05-11 18:09:50 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:50 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:50 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:50] "POST /v1.0/tenants HTTP/1.1" 409 215 0.011428 +2011-05-11 18:09:50 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 18:09:50 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 18:09:50 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:50] "POST /v1.0/tenant/1234/groups HTTP/1.1" 201 276 0.081678 +2011-05-11 18:09:50 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 18:09:50 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 18:09:50 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:50] "POST /v1.0/tenant/1234/groups HTTP/1.1" 401 221 0.014519 +2011-05-11 18:09:50 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 18:09:50 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:09:50 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:09:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:50] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 204 103 0.081978 +2011-05-11 18:09:50 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:50 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:50 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:50] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.020808 +2011-05-11 18:09:50 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:50 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:50 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:50] "POST /v1.0/token HTTP/1.1" 200 347 0.019639 +2011-05-11 18:09:50 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:50 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:50 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:50] "POST /v1.0/tenants HTTP/1.1" 409 215 0.015817 +2011-05-11 18:09:50 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 18:09:50 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 18:09:50 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:50] "POST /v1.0/tenant/1234/groups HTTP/1.1" 401 279 0.013008 +2011-05-11 18:09:50 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 18:09:50 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:09:50 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:09:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:50] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 404 204 0.017970 +2011-05-11 18:09:50 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:50 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:50 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:50 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:50] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.016830 +2011-05-11 18:09:51 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:51 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:51 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:51] "POST /v1.0/token HTTP/1.1" 200 347 0.031802 +2011-05-11 18:09:51 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:51 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:51 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:51] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 287 0.017123 +2011-05-11 18:09:51 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:51 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:51 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:51] "POST /v1.0/tenants HTTP/1.1" 409 275 0.018362 +2011-05-11 18:09:51 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 18:09:51 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:09:51 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:09:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:51] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 404 262 0.017951 +2011-05-11 18:09:51 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 18:09:51 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 18:09:51 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:51] "POST /v1.0/tenant/1234/groups HTTP/1.1" 201 276 0.080125 +2011-05-11 18:09:51 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 18:09:51 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:09:51 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:09:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:51] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 204 103 0.089323 +2011-05-11 18:09:51 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:51 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:51 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:51] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.029921 +2011-05-11 18:09:51 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:51 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:51 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:51] "POST /v1.0/token HTTP/1.1" 200 347 0.020645 +2011-05-11 18:09:51 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:51 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:51 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:51] "POST /v1.0/tenants HTTP/1.1" 201 221 0.099192 +2011-05-11 18:09:51 DEBUG [routes.middleware] Matched POST /v1.0/tenant/test_tenant_delete/groups +2011-05-11 18:09:51 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 18:09:51 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'test_tenant_delete', 'controller': } +2011-05-11 18:09:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:51] "POST /v1.0/tenant/test_tenant_delete/groups HTTP/1.1" 201 244 0.105440 +2011-05-11 18:09:51 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/test_tenant_delete/groups/test_tenant_group_delete +2011-05-11 18:09:51 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:09:51 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'test_tenant_delete', 'controller': , 'group_id': u'test_tenant_group_delete'} +2011-05-11 18:09:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:51] "DELETE /v1.0/tenant/test_tenant_delete/groups/test_tenant_group_delete HTTP/1.1" 204 103 0.096936 +2011-05-11 18:09:51 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant_delete +2011-05-11 18:09:51 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:51 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'test_tenant_delete', 'controller': } +2011-05-11 18:09:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:51] "DELETE /v1.0/tenants/test_tenant_delete HTTP/1.1" 204 103 0.088825 +2011-05-11 18:09:51 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 18:09:51 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:09:51 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:09:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:51] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 404 204 0.023887 +2011-05-11 18:09:51 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:51 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:51 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:51] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.022550 +2011-05-11 18:09:51 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:51 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:51 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:51] "POST /v1.0/token HTTP/1.1" 200 347 0.021922 +2011-05-11 18:09:51 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_delete111 +2011-05-11 18:09:51 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:09:51 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_delete111'} +2011-05-11 18:09:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:51] "DELETE /v1.0/tenant/1234/groups/test_tenant_delete111 HTTP/1.1" 404 204 0.023743 +2011-05-11 18:09:51 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 18:09:51 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:09:51 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:09:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:51] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 404 204 0.023448 +2011-05-11 18:09:51 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:51 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:51 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:51] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.024033 +2011-05-11 18:09:51 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:51 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:51 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:51] "POST /v1.0/token HTTP/1.1" 200 347 0.035095 +2011-05-11 18:09:51 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_delete111 +2011-05-11 18:09:51 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:09:51 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_delete111'} +2011-05-11 18:09:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:51] "DELETE /v1.0/tenant/1234/groups/test_tenant_delete111 HTTP/1.1" 404 262 0.021517 +2011-05-11 18:09:51 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 18:09:51 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:09:51 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:09:51 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:51] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 404 204 0.023698 +2011-05-11 18:09:51 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:51 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:51 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:52 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:52] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.027050 +2011-05-11 18:09:52 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:52 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:52 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:52 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:52] "POST /v1.0/token HTTP/1.1" 200 347 0.026642 +2011-05-11 18:09:52 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:52 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:52 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:52 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:52] "POST /v1.0/tenants HTTP/1.1" 201 221 0.086557 +2011-05-11 18:09:52 DEBUG [routes.middleware] Matched POST /v1.0/tenant/test_tenant_delete/groups +2011-05-11 18:09:52 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 18:09:52 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'test_tenant_delete', 'controller': } +2011-05-11 18:09:52 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:52] "POST /v1.0/tenant/test_tenant_delete/groups HTTP/1.1" 201 244 0.086743 +2011-05-11 18:09:52 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/test_tenant_delete/groups/test_tenant_group_delete +2011-05-11 18:09:52 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:09:52 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'test_tenant_delete', 'controller': , 'group_id': u'test_tenant_group_delete'} +2011-05-11 18:09:52 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:52] "DELETE /v1.0/tenant/test_tenant_delete/groups/test_tenant_group_delete HTTP/1.1" 204 103 0.088458 +2011-05-11 18:09:52 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant_delete +2011-05-11 18:09:52 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:52 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'test_tenant_delete', 'controller': } +2011-05-11 18:09:52 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:52] "DELETE /v1.0/tenants/test_tenant_delete HTTP/1.1" 204 103 0.097281 +2011-05-11 18:09:52 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 18:09:52 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:09:52 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:09:52 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:52] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 404 204 0.021772 +2011-05-11 18:09:52 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:52 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:52 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:52 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:52] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.024671 +2011-05-11 18:09:52 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:52 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:52 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:52 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:52] "POST /v1.0/token HTTP/1.1" 200 347 0.024020 +2011-05-11 18:09:52 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:52 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:52 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:52 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:52] "POST /v1.0/tenants HTTP/1.1" 409 215 0.020204 +2011-05-11 18:09:52 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 18:09:52 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 18:09:52 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:52 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:52] "POST /v1.0/tenant/1234/groups HTTP/1.1" 201 226 0.094779 +2011-05-11 18:09:52 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 18:09:52 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:52 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:52 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:52] "POST /v1.0/tenants/1234/users HTTP/1.1" 201 254 0.171837 +2011-05-11 18:09:52 DEBUG [routes.middleware] No route matched for PUT /v1.0/tenants/1234/groups/test_tenant_group_add/users/test_user +2011-05-11 18:09:52 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:52] "PUT /v1.0/tenants/1234/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.001196 +2011-05-11 18:09:52 DEBUG [routes.middleware] No route matched for DELETE /v1.0/tenants/1234/groups/test_tenant_group_add/users/test_user +2011-05-11 18:09:52 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:52] "DELETE /v1.0/tenants/1234/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.001278 +2011-05-11 18:09:52 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 18:09:52 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:09:52 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:09:52 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:52] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 204 103 0.097398 +2011-05-11 18:09:52 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:52 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:52 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:52 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:52] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.023802 +2011-05-11 18:09:52 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:52 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:52 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:52 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:52] "POST /v1.0/token HTTP/1.1" 200 347 0.020597 +2011-05-11 18:09:52 DEBUG [routes.middleware] No route matched for DELETE /v1.0/tenants/1234/groups/test_tenant_group_add/users/NonExistinguser +2011-05-11 18:09:52 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:52] "DELETE /v1.0/tenants/1234/groups/test_tenant_group_add/users/NonExistinguser HTTP/1.1" 404 176 0.003107 +2011-05-11 18:09:52 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 18:09:52 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:09:52 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:09:52 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:52] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 404 204 0.029048 +2011-05-11 18:09:52 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:52 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:52 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:53 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:53] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.022885 +2011-05-11 18:09:53 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:53 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:53 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:53 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:53] "POST /v1.0/token HTTP/1.1" 200 347 0.021691 +2011-05-11 18:09:53 DEBUG [routes.middleware] No route matched for DELETE /v1.0/tenants/1234/groups/test_tenant_group_add/users/NonExistinguser +2011-05-11 18:09:53 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:53] "DELETE /v1.0/tenants/1234/groups/test_tenant_group_add/users/NonExistinguser HTTP/1.1" 404 176 0.001270 +2011-05-11 18:09:53 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 18:09:53 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:09:53 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:09:53 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:53] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 404 204 0.025012 +2011-05-11 18:09:53 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:53 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:53 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:53 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:53] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.026464 +2011-05-11 18:09:53 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:53 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:53 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:53 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:53] "POST /v1.0/token HTTP/1.1" 200 347 0.033240 +2011-05-11 18:09:53 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:53 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:53 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:53 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:53] "POST /v1.0/tenants HTTP/1.1" 409 215 0.023258 +2011-05-11 18:09:53 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 18:09:53 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 18:09:53 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:53 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:53] "POST /v1.0/tenant/1234/groups HTTP/1.1" 201 226 0.093117 +2011-05-11 18:09:53 DEBUG [routes.middleware] Matched POST /v1.0/tenants/1234/users +2011-05-11 18:09:53 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:53 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:53 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:53] "POST /v1.0/tenants/1234/users HTTP/1.1" 409 212 0.037896 +2011-05-11 18:09:53 DEBUG [routes.middleware] No route matched for PUT /v1.0/tenants/1234/groups/test_tenant_group_add/users/test_user +2011-05-11 18:09:53 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:53] "PUT /v1.0/tenants/1234/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.003513 +2011-05-11 18:09:53 DEBUG [routes.middleware] No route matched for DELETE /v1.0/tenants/1234/groups/test_tenant_group_add/users/test_user +2011-05-11 18:09:53 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:53] "DELETE /v1.0/tenants/1234/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.003314 +2011-05-11 18:09:53 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 18:09:53 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:09:53 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:09:53 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:53] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 204 103 0.103496 +2011-05-11 18:09:53 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:53 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:53 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:53 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:53] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.025229 +2011-05-11 18:09:53 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:53 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:53 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:53 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:53] "POST /v1.0/token HTTP/1.1" 200 347 0.025721 +2011-05-11 18:09:53 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:53 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:53 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:53 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:53] "POST /v1.0/tenants HTTP/1.1" 409 215 0.019926 +2011-05-11 18:09:53 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 18:09:53 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 18:09:53 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:53 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:53] "POST /v1.0/tenant/1234/groups HTTP/1.1" 201 226 0.082603 +2011-05-11 18:09:53 DEBUG [routes.middleware] Matched GET /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 18:09:53 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'get_tenant_group', 'controller': } +2011-05-11 18:09:53 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:09:53 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:53] "GET /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 200 221 0.029347 +2011-05-11 18:09:53 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 18:09:53 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:09:53 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:09:53 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:53] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 204 103 0.088545 +2011-05-11 18:09:53 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:53 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:53 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:53 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:53] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.022615 +2011-05-11 18:09:53 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:53 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:53 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:53 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:53] "POST /v1.0/token HTTP/1.1" 200 347 0.023615 +2011-05-11 18:09:53 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:53 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:53 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:53 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:53] "POST /v1.0/tenants HTTP/1.1" 409 215 0.023264 +2011-05-11 18:09:53 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 18:09:53 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 18:09:53 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:53 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:53] "POST /v1.0/tenant/1234/groups HTTP/1.1" 201 226 0.092163 +2011-05-11 18:09:53 DEBUG [routes.middleware] Matched GET /v1.0/tenant/tenant_bad/groups/test_tenant_group_add +2011-05-11 18:09:53 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'get_tenant_group', 'controller': } +2011-05-11 18:09:53 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant_group', 'tenant_id': u'tenant_bad', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:09:53 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:53] "GET /v1.0/tenant/tenant_bad/groups/test_tenant_group_add HTTP/1.1" 404 198 0.027954 +2011-05-11 18:09:53 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 18:09:53 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:09:53 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:09:54 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:54] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 204 103 0.100355 +2011-05-11 18:09:54 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:54 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:54 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:54 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:54] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.023498 +2011-05-11 18:09:54 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:54 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:54 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:54 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:54] "POST /v1.0/token HTTP/1.1" 200 347 0.021094 +2011-05-11 18:09:54 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:54 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:54 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:54 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:54] "POST /v1.0/tenants HTTP/1.1" 409 215 0.025537 +2011-05-11 18:09:54 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 18:09:54 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 18:09:54 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:54 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:54] "POST /v1.0/tenant/1234/groups HTTP/1.1" 201 226 0.103976 +2011-05-11 18:09:54 DEBUG [routes.middleware] Matched GET /v1.0/tenant/tenant_bad/groups/test_tenant_group_add +2011-05-11 18:09:54 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'get_tenant_group', 'controller': } +2011-05-11 18:09:54 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant_group', 'tenant_id': u'tenant_bad', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:09:54 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:54] "GET /v1.0/tenant/tenant_bad/groups/test_tenant_group_add HTTP/1.1" 404 256 0.022799 +2011-05-11 18:09:54 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 18:09:54 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:09:54 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:09:54 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:54] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 204 103 0.096225 +2011-05-11 18:09:54 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:54 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:54 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:54 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:54] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.021786 +2011-05-11 18:09:54 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:54 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:54 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:54 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:54] "POST /v1.0/token HTTP/1.1" 200 347 0.024415 +2011-05-11 18:09:54 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:54 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:54 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:54 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:54] "POST /v1.0/tenants HTTP/1.1" 409 215 0.024459 +2011-05-11 18:09:54 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 18:09:54 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 18:09:54 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:54 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:54] "POST /v1.0/tenant/1234/groups HTTP/1.1" 201 226 0.087628 +2011-05-11 18:09:54 DEBUG [routes.middleware] Matched GET /v1.0/tenant/1234/groups/nonexistinggroup +2011-05-11 18:09:54 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'get_tenant_group', 'controller': } +2011-05-11 18:09:54 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'nonexistinggroup'} +2011-05-11 18:09:54 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:54] "GET /v1.0/tenant/1234/groups/nonexistinggroup HTTP/1.1" 404 204 0.026735 +2011-05-11 18:09:54 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 18:09:54 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:09:54 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:09:54 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:54] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 204 103 0.092384 +2011-05-11 18:09:54 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:54 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:54 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:54 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:54] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.023468 +2011-05-11 18:09:54 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:54 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:54 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:54 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:54] "POST /v1.0/token HTTP/1.1" 200 347 0.022335 +2011-05-11 18:09:54 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:54 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:54 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:54 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:54] "POST /v1.0/tenants HTTP/1.1" 409 215 0.023290 +2011-05-11 18:09:54 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 18:09:54 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 18:09:54 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:54 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:54] "POST /v1.0/tenant/1234/groups HTTP/1.1" 201 226 0.087756 +2011-05-11 18:09:54 DEBUG [routes.middleware] Matched GET /v1.0/tenant/1234/groups/nonexistinggroup +2011-05-11 18:09:54 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'get_tenant_group', 'controller': } +2011-05-11 18:09:54 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'nonexistinggroup'} +2011-05-11 18:09:54 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:54] "GET /v1.0/tenant/1234/groups/nonexistinggroup HTTP/1.1" 404 262 0.030837 +2011-05-11 18:09:54 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 18:09:54 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:09:54 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:09:54 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:54] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 204 103 0.089397 +2011-05-11 18:09:54 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:54 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:54 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:54 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:54] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.022325 +2011-05-11 18:09:54 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:54 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:54 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:54 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:54] "POST /v1.0/token HTTP/1.1" 200 347 0.026024 +2011-05-11 18:09:54 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:54 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:54 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:54 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:54] "POST /v1.0/tenants HTTP/1.1" 409 215 0.022457 +2011-05-11 18:09:54 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 18:09:54 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 18:09:54 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:55 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:55] "POST /v1.0/tenant/1234/groups HTTP/1.1" 201 226 0.086174 +2011-05-11 18:09:55 DEBUG [routes.middleware] Matched GET /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 18:09:55 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'get_tenant_group', 'controller': } +2011-05-11 18:09:55 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:09:55 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:55] "GET /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 200 272 0.026538 +2011-05-11 18:09:55 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 18:09:55 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:09:55 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:09:55 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:55] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 204 103 0.099767 +2011-05-11 18:09:55 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:55 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:55 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:55 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:55] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.025976 +2011-05-11 18:09:55 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:55 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:55 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:55 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:55] "POST /v1.0/token HTTP/1.1" 200 347 0.019020 +2011-05-11 18:09:55 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:55 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:55 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:55 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:55] "POST /v1.0/tenants HTTP/1.1" 409 215 0.025116 +2011-05-11 18:09:55 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 18:09:55 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 18:09:55 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:55 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:55] "POST /v1.0/tenant/1234/groups HTTP/1.1" 201 226 0.104758 +2011-05-11 18:09:55 DEBUG [routes.middleware] Matched GET /v1.0/tenant/1234/groups +2011-05-11 18:09:55 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'get_tenant_groups', 'controller': } +2011-05-11 18:09:55 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant_groups', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:55 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:55] "GET /v1.0/tenant/1234/groups HTTP/1.1" 200 389 0.063200 +2011-05-11 18:09:55 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 18:09:55 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:09:55 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:09:55 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:55] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 204 103 0.175571 +2011-05-11 18:09:55 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:55 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:55 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:55 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:55] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.025918 +2011-05-11 18:09:55 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:55 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:55 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:55 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:55] "POST /v1.0/token HTTP/1.1" 200 347 0.020938 +2011-05-11 18:09:55 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:55 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:55 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:55 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:55] "POST /v1.0/tenants HTTP/1.1" 409 215 0.029710 +2011-05-11 18:09:55 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 18:09:55 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 18:09:55 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:55 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:55] "POST /v1.0/tenant/1234/groups HTTP/1.1" 201 226 0.112152 +2011-05-11 18:09:55 DEBUG [routes.middleware] Matched GET /v1.0/tenant/1234/groups +2011-05-11 18:09:55 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'get_tenant_groups', 'controller': } +2011-05-11 18:09:55 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant_groups', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:55 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:55] "GET /v1.0/tenant/1234/groups HTTP/1.1" 403 202 0.020042 +2011-05-11 18:09:55 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 18:09:55 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:09:55 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:09:55 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:55] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 204 103 0.113157 +2011-05-11 18:09:55 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:55 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:55 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:56 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:56] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.027518 +2011-05-11 18:09:56 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:56 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:56 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:56 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:56] "POST /v1.0/token HTTP/1.1" 200 347 0.027408 +2011-05-11 18:09:56 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:56 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:56 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:56 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:56] "POST /v1.0/tenants HTTP/1.1" 409 215 0.019471 +2011-05-11 18:09:56 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 18:09:56 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 18:09:56 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:56 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:56] "POST /v1.0/tenant/1234/groups HTTP/1.1" 201 226 0.082936 +2011-05-11 18:09:56 DEBUG [routes.middleware] Matched GET /v1.0/tenant/1234/groups +2011-05-11 18:09:56 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'get_tenant_groups', 'controller': } +2011-05-11 18:09:56 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant_groups', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:56 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:56] "GET /v1.0/tenant/1234/groups HTTP/1.1" 403 257 0.017852 +2011-05-11 18:09:56 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 18:09:56 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:09:56 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:09:56 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:56] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 204 103 0.086807 +2011-05-11 18:09:56 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:56 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:56 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:56 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:56] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.022451 +2011-05-11 18:09:56 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:56 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:56 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:56 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:56] "POST /v1.0/token HTTP/1.1" 200 347 0.025932 +2011-05-11 18:09:56 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:56 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:56 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:56 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:56] "POST /v1.0/tenants HTTP/1.1" 409 215 0.024417 +2011-05-11 18:09:56 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 18:09:56 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 18:09:56 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:56 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:56] "POST /v1.0/tenant/1234/groups HTTP/1.1" 201 226 0.090570 +2011-05-11 18:09:56 DEBUG [routes.middleware] Matched GET /v1.0/tenant/1234/groups +2011-05-11 18:09:56 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'get_tenant_groups', 'controller': } +2011-05-11 18:09:56 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant_groups', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:56 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:56] "GET /v1.0/tenant/1234/groups HTTP/1.1" 401 221 0.019618 +2011-05-11 18:09:56 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 18:09:56 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:09:56 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:09:56 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:56] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 204 103 0.108083 +2011-05-11 18:09:56 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:56 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:56 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:56 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:56] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.025511 +2011-05-11 18:09:56 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:56 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:56 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:56 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:56] "POST /v1.0/token HTTP/1.1" 200 347 0.023752 +2011-05-11 18:09:56 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:56 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:56 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:56 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:56] "POST /v1.0/tenants HTTP/1.1" 409 215 0.028971 +2011-05-11 18:09:56 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 18:09:56 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 18:09:56 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:56 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:56] "POST /v1.0/tenant/1234/groups HTTP/1.1" 201 226 0.095123 +2011-05-11 18:09:56 DEBUG [routes.middleware] Matched GET /v1.0/tenant/1234/groups +2011-05-11 18:09:56 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'get_tenant_groups', 'controller': } +2011-05-11 18:09:56 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant_groups', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:56 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:56] "GET /v1.0/tenant/1234/groups HTTP/1.1" 401 279 0.017936 +2011-05-11 18:09:56 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 18:09:56 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:09:56 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:09:56 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:56] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 204 103 0.094283 +2011-05-11 18:09:56 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:56 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:56 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:56 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:56] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.025038 +2011-05-11 18:09:56 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:56 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:56 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:56 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:56] "POST /v1.0/token HTTP/1.1" 200 347 0.023773 +2011-05-11 18:09:56 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:56 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:56 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:56 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:56] "POST /v1.0/tenants HTTP/1.1" 409 215 0.024736 +2011-05-11 18:09:56 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 18:09:56 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 18:09:56 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:57 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:57] "POST /v1.0/tenant/1234/groups HTTP/1.1" 201 276 0.086149 +2011-05-11 18:09:57 DEBUG [routes.middleware] Matched GET /v1.0/tenant/1234/groups +2011-05-11 18:09:57 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'get_tenant_groups', 'controller': } +2011-05-11 18:09:57 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant_groups', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:57 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:57] "GET /v1.0/tenant/1234/groups HTTP/1.1" 200 594 0.039126 +2011-05-11 18:09:57 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 18:09:57 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:09:57 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:09:57 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:57] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 204 103 0.095924 +2011-05-11 18:09:57 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:09:57 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:57 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:09:57 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:57] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.026454 +2011-05-11 18:09:57 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:57 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:57 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:57 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:57] "POST /v1.0/token HTTP/1.1" 200 347 0.023654 +2011-05-11 18:09:57 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:57 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:57 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:57 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:57] "POST /v1.0/tenants HTTP/1.1" 409 215 0.021398 +2011-05-11 18:09:57 DEBUG [routes.middleware] Matched POST /v1.0/tenant/test_tenant/groups +2011-05-11 18:09:57 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 18:09:57 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 18:09:57 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:57] "POST /v1.0/tenant/test_tenant/groups HTTP/1.1" 201 234 0.083885 +2011-05-11 18:09:57 DEBUG [routes.middleware] Matched POST /v1.0/tenants/test_tenant/users +2011-05-11 18:09:57 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:57 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 18:09:57 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:57] "POST /v1.0/tenants/test_tenant/users HTTP/1.1" 409 212 0.034024 +2011-05-11 18:09:57 DEBUG [routes.middleware] No route matched for PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 18:09:57 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:57] "PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.001252 +2011-05-11 18:09:57 DEBUG [routes.middleware] Matched GET /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users +2011-05-11 18:09:57 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/groups/{group_id}/users', defaults: {'action': u'get_users_tenant_group', 'controller': } +2011-05-11 18:09:57 DEBUG [routes.middleware] Match dict: {'action': u'get_users_tenant_group', 'tenant_id': u'test_tenant', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:09:57 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:57] "GET /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users HTTP/1.1" 200 161 0.035802 +2011-05-11 18:09:57 DEBUG [routes.middleware] No route matched for DELETE /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 18:09:57 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:57] "DELETE /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.001147 +2011-05-11 18:09:57 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant/users/test_user +2011-05-11 18:09:57 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:57 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'test_tenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:57 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:57] "DELETE /v1.0/tenants/test_tenant/users/test_user HTTP/1.1" 404 224 0.041767 +2011-05-11 18:09:57 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/test_tenant/groups/test_tenant_group_add +2011-05-11 18:09:57 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:09:57 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'test_tenant', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:09:57 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:57] "DELETE /v1.0/tenant/test_tenant/groups/test_tenant_group_add HTTP/1.1" 204 103 0.094097 +2011-05-11 18:09:57 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant +2011-05-11 18:09:57 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:57 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 18:09:57 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:57] "DELETE /v1.0/tenants/test_tenant HTTP/1.1" 204 103 0.097431 +2011-05-11 18:09:57 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:57 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:57 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:57 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:57] "POST /v1.0/token HTTP/1.1" 200 347 0.034994 +2011-05-11 18:09:57 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:57 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:57 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:57 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:57] "POST /v1.0/tenants HTTP/1.1" 201 214 0.087492 +2011-05-11 18:09:57 DEBUG [routes.middleware] Matched POST /v1.0/tenant/test_tenant/groups +2011-05-11 18:09:57 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 18:09:57 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 18:09:57 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:57] "POST /v1.0/tenant/test_tenant/groups HTTP/1.1" 201 234 0.096968 +2011-05-11 18:09:57 DEBUG [routes.middleware] Matched POST /v1.0/tenants/test_tenant/users +2011-05-11 18:09:57 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:57 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 18:09:57 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:57] "POST /v1.0/tenants/test_tenant/users HTTP/1.1" 409 212 0.031975 +2011-05-11 18:09:57 DEBUG [routes.middleware] No route matched for PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 18:09:57 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:57] "PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.001200 +2011-05-11 18:09:57 DEBUG [routes.middleware] Matched GET /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users +2011-05-11 18:09:57 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/groups/{group_id}/users', defaults: {'action': u'get_users_tenant_group', 'controller': } +2011-05-11 18:09:57 DEBUG [routes.middleware] Match dict: {'action': u'get_users_tenant_group', 'tenant_id': u'test_tenant', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:09:57 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:57] "GET /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users HTTP/1.1" 403 202 0.016453 +2011-05-11 18:09:57 DEBUG [routes.middleware] No route matched for DELETE /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 18:09:57 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:57] "DELETE /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.001323 +2011-05-11 18:09:57 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant/users/test_user +2011-05-11 18:09:57 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:57 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'test_tenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:57 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:57] "DELETE /v1.0/tenants/test_tenant/users/test_user HTTP/1.1" 404 224 0.038178 +2011-05-11 18:09:57 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/test_tenant/groups/test_tenant_group_add +2011-05-11 18:09:57 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:09:57 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'test_tenant', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:09:58 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:58] "DELETE /v1.0/tenant/test_tenant/groups/test_tenant_group_add HTTP/1.1" 204 103 0.108880 +2011-05-11 18:09:58 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant +2011-05-11 18:09:58 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:58 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 18:09:58 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:58] "DELETE /v1.0/tenants/test_tenant HTTP/1.1" 204 103 0.103881 +2011-05-11 18:09:58 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:58 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:58 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:58 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:58] "POST /v1.0/token HTTP/1.1" 200 347 0.025087 +2011-05-11 18:09:58 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:58 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:58 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:58 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:58] "POST /v1.0/tenants HTTP/1.1" 201 214 0.095371 +2011-05-11 18:09:58 DEBUG [routes.middleware] Matched POST /v1.0/tenant/test_tenant/groups +2011-05-11 18:09:58 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 18:09:58 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 18:09:58 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:58] "POST /v1.0/tenant/test_tenant/groups HTTP/1.1" 201 234 0.097240 +2011-05-11 18:09:58 DEBUG [routes.middleware] Matched POST /v1.0/tenants/test_tenant/users +2011-05-11 18:09:58 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:58 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 18:09:58 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:58] "POST /v1.0/tenants/test_tenant/users HTTP/1.1" 409 212 0.033277 +2011-05-11 18:09:58 DEBUG [routes.middleware] No route matched for PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 18:09:58 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:58] "PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.001246 +2011-05-11 18:09:58 DEBUG [routes.middleware] Matched GET /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users +2011-05-11 18:09:58 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/groups/{group_id}/users', defaults: {'action': u'get_users_tenant_group', 'controller': } +2011-05-11 18:09:58 DEBUG [routes.middleware] Match dict: {'action': u'get_users_tenant_group', 'tenant_id': u'test_tenant', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:09:58 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:58] "GET /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users HTTP/1.1" 403 257 0.017268 +2011-05-11 18:09:58 DEBUG [routes.middleware] No route matched for DELETE /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 18:09:58 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:58] "DELETE /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.003412 +2011-05-11 18:09:58 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant/users/test_user +2011-05-11 18:09:58 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:58 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'test_tenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:58 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:58] "DELETE /v1.0/tenants/test_tenant/users/test_user HTTP/1.1" 404 224 0.033325 +2011-05-11 18:09:58 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/test_tenant/groups/test_tenant_group_add +2011-05-11 18:09:58 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:09:58 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'test_tenant', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:09:58 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:58] "DELETE /v1.0/tenant/test_tenant/groups/test_tenant_group_add HTTP/1.1" 204 103 0.097539 +2011-05-11 18:09:58 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant +2011-05-11 18:09:58 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:58 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 18:09:58 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:58] "DELETE /v1.0/tenants/test_tenant HTTP/1.1" 204 103 0.098040 +2011-05-11 18:09:58 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:58 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:58 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:58 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:58] "POST /v1.0/token HTTP/1.1" 200 347 0.023694 +2011-05-11 18:09:58 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:58 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:58 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:58 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:58] "POST /v1.0/tenants HTTP/1.1" 201 214 0.088883 +2011-05-11 18:09:58 DEBUG [routes.middleware] Matched POST /v1.0/tenant/test_tenant/groups +2011-05-11 18:09:58 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 18:09:58 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 18:09:58 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:58] "POST /v1.0/tenant/test_tenant/groups HTTP/1.1" 201 234 0.089027 +2011-05-11 18:09:58 DEBUG [routes.middleware] Matched POST /v1.0/tenants/test_tenant/users +2011-05-11 18:09:58 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:58 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 18:09:58 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:58] "POST /v1.0/tenants/test_tenant/users HTTP/1.1" 409 212 0.033724 +2011-05-11 18:09:58 DEBUG [routes.middleware] No route matched for PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 18:09:58 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:58] "PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.001243 +2011-05-11 18:09:58 DEBUG [routes.middleware] Matched GET /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users +2011-05-11 18:09:58 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/groups/{group_id}/users', defaults: {'action': u'get_users_tenant_group', 'controller': } +2011-05-11 18:09:58 DEBUG [routes.middleware] Match dict: {'action': u'get_users_tenant_group', 'tenant_id': u'test_tenant', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:09:59 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:59] "GET /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users HTTP/1.1" 403 214 0.027345 +2011-05-11 18:09:59 DEBUG [routes.middleware] No route matched for DELETE /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 18:09:59 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:59] "DELETE /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.003492 +2011-05-11 18:09:59 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant/users/test_user +2011-05-11 18:09:59 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:59 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'test_tenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:59 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:59] "DELETE /v1.0/tenants/test_tenant/users/test_user HTTP/1.1" 404 224 0.038978 +2011-05-11 18:09:59 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/test_tenant/groups/test_tenant_group_add +2011-05-11 18:09:59 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:09:59 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'test_tenant', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:09:59 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:59] "DELETE /v1.0/tenant/test_tenant/groups/test_tenant_group_add HTTP/1.1" 204 103 0.106100 +2011-05-11 18:09:59 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant +2011-05-11 18:09:59 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:59 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 18:09:59 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:59] "DELETE /v1.0/tenants/test_tenant HTTP/1.1" 204 103 0.105174 +2011-05-11 18:09:59 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:59 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:59 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:59 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:59] "POST /v1.0/token HTTP/1.1" 200 347 0.024576 +2011-05-11 18:09:59 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:59 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:59 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:59 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:59] "POST /v1.0/tenants HTTP/1.1" 201 214 0.092349 +2011-05-11 18:09:59 DEBUG [routes.middleware] Matched POST /v1.0/tenant/test_tenant/groups +2011-05-11 18:09:59 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 18:09:59 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 18:09:59 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:59] "POST /v1.0/tenant/test_tenant/groups HTTP/1.1" 201 234 0.097409 +2011-05-11 18:09:59 DEBUG [routes.middleware] Matched POST /v1.0/tenants/test_tenant/users +2011-05-11 18:09:59 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:09:59 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 18:09:59 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:59] "POST /v1.0/tenants/test_tenant/users HTTP/1.1" 409 212 0.030134 +2011-05-11 18:09:59 DEBUG [routes.middleware] No route matched for PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 18:09:59 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:59] "PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.001195 +2011-05-11 18:09:59 DEBUG [routes.middleware] Matched GET /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users +2011-05-11 18:09:59 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/groups/{group_id}/users', defaults: {'action': u'get_users_tenant_group', 'controller': } +2011-05-11 18:09:59 DEBUG [routes.middleware] Match dict: {'action': u'get_users_tenant_group', 'tenant_id': u'test_tenant', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:09:59 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:59] "GET /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users HTTP/1.1" 403 272 0.016091 +2011-05-11 18:09:59 DEBUG [routes.middleware] No route matched for DELETE /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 18:09:59 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:59] "DELETE /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.002139 +2011-05-11 18:09:59 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant/users/test_user +2011-05-11 18:09:59 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:09:59 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'test_tenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:09:59 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:59] "DELETE /v1.0/tenants/test_tenant/users/test_user HTTP/1.1" 404 224 0.037275 +2011-05-11 18:09:59 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/test_tenant/groups/test_tenant_group_add +2011-05-11 18:09:59 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:09:59 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'test_tenant', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:09:59 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:59] "DELETE /v1.0/tenant/test_tenant/groups/test_tenant_group_add HTTP/1.1" 204 103 0.098097 +2011-05-11 18:09:59 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant +2011-05-11 18:09:59 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:09:59 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 18:09:59 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:59] "DELETE /v1.0/tenants/test_tenant HTTP/1.1" 204 103 0.097455 +2011-05-11 18:09:59 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:09:59 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:59 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:09:59 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:59] "POST /v1.0/token HTTP/1.1" 200 347 0.021283 +2011-05-11 18:09:59 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:09:59 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:59 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:09:59 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:09:59] "POST /v1.0/tenants HTTP/1.1" 201 214 0.125007 +2011-05-11 18:09:59 DEBUG [routes.middleware] Matched POST /v1.0/tenant/test_tenant/groups +2011-05-11 18:09:59 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 18:09:59 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 18:10:00 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:00] "POST /v1.0/tenant/test_tenant/groups HTTP/1.1" 201 234 0.105461 +2011-05-11 18:10:00 DEBUG [routes.middleware] Matched POST /v1.0/tenants/test_tenant/users +2011-05-11 18:10:00 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:10:00 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 18:10:00 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:00] "POST /v1.0/tenants/test_tenant/users HTTP/1.1" 409 212 0.032400 +2011-05-11 18:10:00 DEBUG [routes.middleware] No route matched for PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 18:10:00 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:00] "PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.002348 +2011-05-11 18:10:00 DEBUG [routes.middleware] Matched GET /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users +2011-05-11 18:10:00 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/groups/{group_id}/users', defaults: {'action': u'get_users_tenant_group', 'controller': } +2011-05-11 18:10:00 DEBUG [routes.middleware] Match dict: {'action': u'get_users_tenant_group', 'tenant_id': u'test_tenant', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:10:00 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:00] "GET /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users HTTP/1.1" 401 221 0.014901 +2011-05-11 18:10:00 DEBUG [routes.middleware] No route matched for DELETE /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 18:10:00 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:00] "DELETE /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.003086 +2011-05-11 18:10:00 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant/users/test_user +2011-05-11 18:10:00 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:10:00 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'test_tenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:10:00 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:00] "DELETE /v1.0/tenants/test_tenant/users/test_user HTTP/1.1" 404 224 0.033479 +2011-05-11 18:10:00 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/test_tenant/groups/test_tenant_group_add +2011-05-11 18:10:00 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:10:00 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'test_tenant', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:10:00 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:00] "DELETE /v1.0/tenant/test_tenant/groups/test_tenant_group_add HTTP/1.1" 204 103 0.104089 +2011-05-11 18:10:00 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant +2011-05-11 18:10:00 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:10:00 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 18:10:00 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:00] "DELETE /v1.0/tenants/test_tenant HTTP/1.1" 204 103 0.105651 +2011-05-11 18:10:00 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:10:00 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:10:00 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:10:00 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:00] "POST /v1.0/token HTTP/1.1" 200 347 0.029569 +2011-05-11 18:10:00 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:10:00 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:10:00 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:10:00 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:00] "POST /v1.0/tenants HTTP/1.1" 201 214 0.088393 +2011-05-11 18:10:00 DEBUG [routes.middleware] Matched POST /v1.0/tenant/test_tenant/groups +2011-05-11 18:10:00 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 18:10:00 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 18:10:00 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:00] "POST /v1.0/tenant/test_tenant/groups HTTP/1.1" 201 234 0.088882 +2011-05-11 18:10:00 DEBUG [routes.middleware] Matched POST /v1.0/tenants/test_tenant/users +2011-05-11 18:10:00 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:10:00 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 18:10:00 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:00] "POST /v1.0/tenants/test_tenant/users HTTP/1.1" 409 212 0.039815 +2011-05-11 18:10:00 DEBUG [routes.middleware] No route matched for PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 18:10:00 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:00] "PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.001794 +2011-05-11 18:10:00 DEBUG [routes.middleware] Matched GET /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users +2011-05-11 18:10:00 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/groups/{group_id}/users', defaults: {'action': u'get_users_tenant_group', 'controller': } +2011-05-11 18:10:00 DEBUG [routes.middleware] Match dict: {'action': u'get_users_tenant_group', 'tenant_id': u'test_tenant', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:10:00 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:00] "GET /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users HTTP/1.1" 401 279 0.030116 +2011-05-11 18:10:00 DEBUG [routes.middleware] No route matched for DELETE /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 18:10:00 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:00] "DELETE /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.003270 +2011-05-11 18:10:00 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant/users/test_user +2011-05-11 18:10:00 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:10:00 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'test_tenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:10:00 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:00] "DELETE /v1.0/tenants/test_tenant/users/test_user HTTP/1.1" 404 224 0.035073 +2011-05-11 18:10:00 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/test_tenant/groups/test_tenant_group_add +2011-05-11 18:10:00 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:10:00 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'test_tenant', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:10:00 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:00] "DELETE /v1.0/tenant/test_tenant/groups/test_tenant_group_add HTTP/1.1" 204 103 0.101331 +2011-05-11 18:10:00 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant +2011-05-11 18:10:00 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:10:00 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 18:10:01 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:01] "DELETE /v1.0/tenants/test_tenant HTTP/1.1" 204 103 0.294440 +2011-05-11 18:10:01 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:10:01 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:10:01 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:10:01 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:01] "POST /v1.0/token HTTP/1.1" 200 347 0.038581 +2011-05-11 18:10:01 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:10:01 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:10:01 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:10:01 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:01] "POST /v1.0/tenants HTTP/1.1" 201 214 0.107241 +2011-05-11 18:10:01 DEBUG [routes.middleware] Matched POST /v1.0/tenant/test_tenant/groups +2011-05-11 18:10:01 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 18:10:01 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 18:10:01 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:01] "POST /v1.0/tenant/test_tenant/groups HTTP/1.1" 201 234 0.114051 +2011-05-11 18:10:01 DEBUG [routes.middleware] Matched POST /v1.0/tenants/test_tenant/users +2011-05-11 18:10:01 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users', defaults: {'action': u'create_user', 'controller': } +2011-05-11 18:10:01 DEBUG [routes.middleware] Match dict: {'action': u'create_user', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 18:10:01 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:01] "POST /v1.0/tenants/test_tenant/users HTTP/1.1" 409 212 0.032304 +2011-05-11 18:10:01 DEBUG [routes.middleware] No route matched for PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 18:10:01 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:01] "PUT /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.003084 +2011-05-11 18:10:01 DEBUG [routes.middleware] Matched GET /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users +2011-05-11 18:10:01 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/groups/{group_id}/users', defaults: {'action': u'get_users_tenant_group', 'controller': } +2011-05-11 18:10:01 DEBUG [routes.middleware] Match dict: {'action': u'get_users_tenant_group', 'tenant_id': u'test_tenant', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:10:01 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:01] "GET /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users HTTP/1.1" 200 177 0.031505 +2011-05-11 18:10:01 DEBUG [routes.middleware] No route matched for DELETE /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user +2011-05-11 18:10:01 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:01] "DELETE /v1.0/tenants/test_tenant/groups/test_tenant_group_add/users/test_user HTTP/1.1" 404 176 0.001259 +2011-05-11 18:10:01 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant/users/test_user +2011-05-11 18:10:01 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}/users/{user_id}', defaults: {'action': u'delete_user', 'controller': } +2011-05-11 18:10:01 DEBUG [routes.middleware] Match dict: {'action': u'delete_user', 'tenant_id': u'test_tenant', 'controller': , 'user_id': u'test_user'} +2011-05-11 18:10:01 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:01] "DELETE /v1.0/tenants/test_tenant/users/test_user HTTP/1.1" 404 224 0.035434 +2011-05-11 18:10:01 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/test_tenant/groups/test_tenant_group_add +2011-05-11 18:10:01 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:10:01 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'test_tenant', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:10:01 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:01] "DELETE /v1.0/tenant/test_tenant/groups/test_tenant_group_add HTTP/1.1" 204 103 0.114123 +2011-05-11 18:10:01 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/test_tenant +2011-05-11 18:10:01 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:10:01 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'test_tenant', 'controller': } +2011-05-11 18:10:01 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:01] "DELETE /v1.0/tenants/test_tenant HTTP/1.1" 204 103 0.105729 +2011-05-11 18:10:01 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:10:01 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:10:01 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:10:01 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:01] "POST /v1.0/token HTTP/1.1" 200 347 0.025689 +2011-05-11 18:10:01 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:10:01 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:10:01 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:10:01 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:01] "POST /v1.0/tenants HTTP/1.1" 409 215 0.021751 +2011-05-11 18:10:01 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 18:10:01 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:10:01 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:10:01 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:01] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 404 204 0.028466 +2011-05-11 18:10:01 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 18:10:01 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 18:10:01 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:10:01 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:01] "POST /v1.0/tenant/1234/groups HTTP/1.1" 201 226 0.101679 +2011-05-11 18:10:01 DEBUG [routes.middleware] Matched PUT /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 18:10:01 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'update_tenant_group', 'controller': } +2011-05-11 18:10:01 DEBUG [routes.middleware] Match dict: {'action': u'update_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:10:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:02] "PUT /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 200 225 0.096517 +2011-05-11 18:10:02 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 18:10:02 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:10:02 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:10:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:02] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 204 103 0.096908 +2011-05-11 18:10:02 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:10:02 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:10:02 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:10:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:02] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.026382 +2011-05-11 18:10:02 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:10:02 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:10:02 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:10:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:02] "POST /v1.0/token HTTP/1.1" 200 347 0.018809 +2011-05-11 18:10:02 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:10:02 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:10:02 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:10:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:02] "POST /v1.0/tenants HTTP/1.1" 409 215 0.022968 +2011-05-11 18:10:02 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 18:10:02 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:10:02 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:10:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:02] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 404 204 0.023394 +2011-05-11 18:10:02 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 18:10:02 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 18:10:02 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:10:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:02] "POST /v1.0/tenant/1234/groups HTTP/1.1" 201 226 0.092679 +2011-05-11 18:10:02 DEBUG [routes.middleware] Matched PUT /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 18:10:02 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'update_tenant_group', 'controller': } +2011-05-11 18:10:02 DEBUG [routes.middleware] Match dict: {'action': u'update_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:10:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:02] "PUT /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 400 205 0.002353 +2011-05-11 18:10:02 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 18:10:02 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:10:02 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:10:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:02] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 204 103 0.091940 +2011-05-11 18:10:02 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:10:02 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:10:02 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:10:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:02] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.021740 +2011-05-11 18:10:02 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:10:02 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:10:02 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:10:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:02] "POST /v1.0/token HTTP/1.1" 200 347 0.019542 +2011-05-11 18:10:02 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:10:02 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:10:02 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:10:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:02] "POST /v1.0/tenants HTTP/1.1" 409 215 0.029918 +2011-05-11 18:10:02 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 18:10:02 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:10:02 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:10:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:02] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 404 204 0.023889 +2011-05-11 18:10:02 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 18:10:02 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 18:10:02 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:10:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:02] "POST /v1.0/tenant/1234/groups HTTP/1.1" 201 226 0.089881 +2011-05-11 18:10:02 DEBUG [routes.middleware] Matched PUT /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 18:10:02 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'update_tenant_group', 'controller': } +2011-05-11 18:10:02 DEBUG [routes.middleware] Match dict: {'action': u'update_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:10:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:02] "PUT /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 400 362 0.003522 +2011-05-11 18:10:02 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 18:10:02 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:10:02 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:10:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:02] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 204 103 0.107650 +2011-05-11 18:10:02 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:10:02 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:10:02 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:10:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:02] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.026179 +2011-05-11 18:10:02 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:10:02 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:10:02 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:10:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:02] "POST /v1.0/token HTTP/1.1" 200 347 0.020052 +2011-05-11 18:10:02 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:10:02 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:10:02 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:10:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:02] "POST /v1.0/tenants HTTP/1.1" 409 215 0.024983 +2011-05-11 18:10:02 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 18:10:02 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:10:02 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:10:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:02] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 404 204 0.023867 +2011-05-11 18:10:02 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 18:10:02 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 18:10:02 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:10:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:02] "POST /v1.0/tenant/1234/groups HTTP/1.1" 201 226 0.098781 +2011-05-11 18:10:02 DEBUG [routes.middleware] Matched GET /v1.0/tenant/1234/groups/NonexistingID +2011-05-11 18:10:02 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'get_tenant_group', 'controller': } +2011-05-11 18:10:02 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'NonexistingID'} +2011-05-11 18:10:02 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:02] "GET /v1.0/tenant/1234/groups/NonexistingID HTTP/1.1" 404 204 0.027837 +2011-05-11 18:10:02 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 18:10:02 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:10:02 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:10:03 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:03] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 204 103 0.109392 +2011-05-11 18:10:03 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:10:03 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:10:03 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:10:03 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:03] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.027156 +2011-05-11 18:10:03 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:10:03 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:10:03 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:10:03 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:03] "POST /v1.0/token HTTP/1.1" 200 347 0.019890 +2011-05-11 18:10:03 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:10:03 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:10:03 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:10:03 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:03] "POST /v1.0/tenants HTTP/1.1" 409 215 0.026906 +2011-05-11 18:10:03 DEBUG [routes.middleware] Matched GET /v1.0/tenant/1234/groups/NonexistingID +2011-05-11 18:10:03 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'get_tenant_group', 'controller': } +2011-05-11 18:10:03 DEBUG [routes.middleware] Match dict: {'action': u'get_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'NonexistingID'} +2011-05-11 18:10:03 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:03] "GET /v1.0/tenant/1234/groups/NonexistingID HTTP/1.1" 404 262 0.022894 +2011-05-11 18:10:03 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 18:10:03 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:10:03 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:10:03 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:03] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 404 204 0.027257 +2011-05-11 18:10:03 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:10:03 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:10:03 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:10:03 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:03] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.024627 +2011-05-11 18:10:03 DEBUG [routes.middleware] Matched POST /v1.0/token +2011-05-11 18:10:03 DEBUG [routes.middleware] Route path: '/v1.0/token', defaults: {'action': u'authenticate', 'controller': } +2011-05-11 18:10:03 DEBUG [routes.middleware] Match dict: {'action': u'authenticate', 'controller': } +2011-05-11 18:10:03 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:03] "POST /v1.0/token HTTP/1.1" 200 347 0.017628 +2011-05-11 18:10:03 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:10:03 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:10:03 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:10:03 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:03] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.016967 +2011-05-11 18:10:03 DEBUG [routes.middleware] Matched POST /v1.0/tenants +2011-05-11 18:10:03 DEBUG [routes.middleware] Route path: '/v1.0/tenants', defaults: {'action': u'create_tenant', 'controller': } +2011-05-11 18:10:03 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant', 'controller': } +2011-05-11 18:10:03 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:03] "POST /v1.0/tenants HTTP/1.1" 409 215 0.011018 +2011-05-11 18:10:03 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 18:10:03 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:10:03 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:10:03 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:03] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 404 204 0.015896 +2011-05-11 18:10:03 DEBUG [routes.middleware] Matched POST /v1.0/tenant/1234/groups +2011-05-11 18:10:03 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups', defaults: {'action': u'create_tenant_group', 'controller': } +2011-05-11 18:10:03 DEBUG [routes.middleware] Match dict: {'action': u'create_tenant_group', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:10:03 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:03] "POST /v1.0/tenant/1234/groups HTTP/1.1" 201 226 0.079289 +2011-05-11 18:10:03 DEBUG [routes.middleware] Matched PUT /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 18:10:03 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'update_tenant_group', 'controller': } +2011-05-11 18:10:03 DEBUG [routes.middleware] Match dict: {'action': u'update_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:10:03 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:03] "PUT /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 200 275 0.081707 +2011-05-11 18:10:03 DEBUG [routes.middleware] Matched DELETE /v1.0/tenant/1234/groups/test_tenant_group_add +2011-05-11 18:10:03 DEBUG [routes.middleware] Route path: '/v1.0/tenant/{tenant_id}/groups/{group_id}', defaults: {'action': u'delete_tenant_group', 'controller': } +2011-05-11 18:10:03 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant_group', 'tenant_id': u'1234', 'controller': , 'group_id': u'test_tenant_group_add'} +2011-05-11 18:10:03 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:03] "DELETE /v1.0/tenant/1234/groups/test_tenant_group_add HTTP/1.1" 204 103 0.089328 +2011-05-11 18:10:03 DEBUG [routes.middleware] Matched DELETE /v1.0/tenants/1234 +2011-05-11 18:10:03 DEBUG [routes.middleware] Route path: '/v1.0/tenants/{tenant_id}', defaults: {'action': u'delete_tenant', 'controller': } +2011-05-11 18:10:03 DEBUG [routes.middleware] Match dict: {'action': u'delete_tenant', 'tenant_id': u'1234', 'controller': } +2011-05-11 18:10:03 DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [11/May/2011 18:10:03] "DELETE /v1.0/tenants/1234 HTTP/1.1" 403 233 0.021803 diff --git a/test/unit/test_identity.py b/test/unit/test_identity.py index 76c0a808..31b6ae32 100644 --- a/test/unit/test_identity.py +++ b/test/unit/test_identity.py @@ -1,9400 +1,54 @@ -"""import os -import sys -# Need to access identity module -sys.path.append(os.path.abspath(os.path.join(os.path.abspath(__file__), - '..', '..', '..', '..', 'keystone'))) -from keystone import server - -import unittest -from webtest import TestApp -import httplib2 -import json -from lxml import etree +#TODO (India Team) Need to modify this script +import logging +import os import unittest -from webtest import TestApp -""" -""" -URL = 'http://localhost:8080/v1.0/' - - -def get_token(user, pswd, kind=''): - h = httplib2.Http(".cache") - url = '%stoken' % URL - body = {"passwordCredentials": {"username": user, - "password": pswd}} - resp, content = h.request(url, "POST", body=json.dumps(body), - headers={"Content-Type": "application/json"}) - content = json.loads(content) - - token = str(content['auth']['token']['id']) - if kind == 'token': - return token - else: - return (resp, content) - - -def delete_token(token, auth_token): - h = httplib2.Http(".cache") - url = '%stoken/%s' % (URL, token) - resp, content = h.request(url, "DELETE", body='', - headers={"Content-Type": "application/json", - "X-Auth-Token": auth_token}) - return (resp, content) - - -def create_tenant(tenantid, auth_token): - h = httplib2.Http(".cache") - - url = '%stenants' % (URL) - body = {"tenant": {"id": tenantid, - "description": "A description ...", - "enabled": True}} - resp, content = h.request(url, "POST", body=json.dumps(body), - headers={"Content-Type": "application/json", - "X-Auth-Token": auth_token}) - return (resp, content) - - -def create_tenant_group(groupid, tenantid, auth_token): - h = httplib2.Http(".cache") - - url = '%stenant/%s/groups' % (URL, tenantid) - body = {"group": {"id": groupid, - "description": "A description ..." - }} - resp, content = h.request(url, "POST", body=json.dumps(body), - headers={"Content-Type": "application/json", - "X-Auth-Token": auth_token}) - return (resp, content) - - -def delete_tenant(tenantid, auth_token): - h = httplib2.Http(".cache") - url = '%stenants/%s' % (URL, tenantid) - resp, content = h.request(url, "DELETE", body='{}', - headers={"Content-Type": "application/json", - "X-Auth-Token": auth_token}) - return (resp, content) - - -def delete_tenant_group(groupid, tenantid, auth_token): - h = httplib2.Http(".cache") - url = '%stenant/%s/groups/%s' % (URL, tenantid, groupid) - resp, content = h.request(url, "DELETE", body='{}', - headers={"Content-Type": "application/json", - "X-Auth-Token": auth_token}) - return (resp, content) - - -def create_global_group(groupid, auth_token): - h = httplib2.Http(".cache") - - url = '%sgroups' % (URL) - body = {"group": {"id": groupid, - "description": "A description ..." - }} - resp, content = h.request(url, "POST", body=json.dumps(body), - headers={"Content-Type": "application/json", - "X-Auth-Token": auth_token}) - return (resp, content) - - -def create_global_group_xml(groupid, auth_token): - h = httplib2.Http(".cache") - url = '%sgroups' % (URL) - body = '\ - A Description of the group\ - ' % groupid - resp, content = h.request(url, "POST", body=body, - headers={"Content-Type": "application/xml", - "X-Auth-Token": auth_token, - "ACCEPT": "application/xml"}) - return (resp, content) - - -def delete_global_group(groupid, auth_token): - h = httplib2.Http(".cache") - url = '%sgroups/%s' % (URL, groupid) - resp, content = h.request(url, "DELETE", body='{}', - headers={"Content-Type": "application/json", - "X-Auth-Token": auth_token}) - return (resp, content) - -def delete_global_group_xml(groupid, auth_token): - h = httplib2.Http(".cache") - url = '%sgroups/%s' % (URL, groupid) - resp, content = h.request(url, "DELETE", body='', - headers={"Content-Type": "application/xml", - "X-Auth-Token": auth_token, - "ACCEPT": "application/xml"}) - return (resp, content) - - -def get_token_xml(user, pswd, type=''): - h = httplib2.Http(".cache") - url = '%stoken' % URL - body = ' \ - ' % (pswd, user) - resp, content = h.request(url, "POST", body=body, - headers={"Content-Type": "application/xml", - "ACCEPT": "application/xml"}) - dom = etree.fromstring(content) - root = dom.find("{http://docs.openstack.org/idm/api/v1.0}token") - token_root = root.attrib - token = str(token_root['id']) - if type == 'token': - return token - else: - return (resp, content) - - -def delete_token_xml(token, auth_token): - h = httplib2.Http(".cache") - url = '%stoken/%s' % (URL, token) - resp, content = h.request(url, "DELETE", body='', - headers={"Content-Type": "application/xml", - "X-Auth-Token": auth_token, - "ACCEPT": "application/xml"}) - return (resp, content) - - -def create_tenant_xml(tenantid, auth_token): - h = httplib2.Http(".cache") - url = '%stenants' % (URL) - body = ' \ - \ - A description... \ - ' % tenantid - resp, content = h.request(url, "POST", body=body, - headers={"Content-Type": "application/xml", - "X-Auth-Token": auth_token, - "ACCEPT": "application/xml"}) - return (resp, content) - - -def create_tenant_group_xml(groupid, tenantid, auth_token): - h = httplib2.Http(".cache") - url = '%stenant/%s/groups' % (URL, tenantid) - body = ' \ - \ - A description... \ - ' % groupid - resp, content = h.request(url, "POST", body=body, - headers={"Content-Type": "application/xml", - "X-Auth-Token": auth_token, - "ACCEPT": "application/xml"}) - return (resp, content) - - -def delete_tenant_xml(tenantid, auth_token): - h = httplib2.Http(".cache") - url = '%stenants/%s' % (URL, tenantid) - resp, content = h.request(url, "DELETE", body='', - headers={"Content-Type": "application/xml", - "X-Auth-Token": auth_token, - "ACCEPT": "application/xml"}) - return (resp, content) - - -def delete_tenant_group_xml(groupid, tenantid, auth_token): - h = httplib2.Http(".cache") - url = '%stenant/%s/groups/%s' % (URL, tenantid, groupid) - resp, content = h.request(url, "DELETE", body='', - headers={"Content-Type": "application/xml", - "X-Auth-Token": auth_token, - "ACCEPT": "application/xml"}) - return (resp, content) - -def create_user(tenantid, userid, auth_token): - h = httplib2.Http(".cache") - url = '%stenants/%s/users' % (URL, tenantid) - body = {"user": {"password": "secrete", - "id": userid, - "tenantId": tenantid, - "email": "%s@rackspace.com" % userid, - "enabled": True}} - resp, content = h.request(url, "POST", body=json.dumps(body), - headers={"Content-Type": "application/json", - "X-Auth-Token": auth_token}) - return (resp, content) - - -def delete_user(tenant, userid, auth_token): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s' % (URL, tenant, userid) - - resp, content = h.request(url, "DELETE", body='{}', - headers={"Content-Type": "application/json", - "X-Auth-Token": auth_token}) - - return (resp, content) - -def create_user_xml(tenantid, userid, auth_token): - h = httplib2.Http(".cache") - url = '%stenants/%s/users' % (URL, tenantid) - body = ' \ - ' % (tenantid, userid) - resp, content = h.request(url, "POST", body=body, - headers={"Content-Type": "application/xml", - "X-Auth-Token": auth_token, - "ACCEPT": "application/xml"}) - return (resp, content) - -def create_user_json(tenantid, userid, auth_token): - h = httplib2.Http(".cache") - url = '%stenants/%s/users' % (URL, tenantid) - body = {"user": {"password": "secrete", - "id": userid, - "tenantId": tenantid, - "email": "%s@rackspace.com" % userid, - "enabled": True}} - resp, content = h.request(url, "POST", body=json.dumps(body), - headers={"Content-Type": "application/json", - "X-Auth-Token": auth_token}) - return (resp, content) - - -def delete_user_json(tenant, userid, auth_token): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s' % (URL, tenant, userid) - print url - resp, content = h.request(url, "DELETE", body='{}', \ - headers={"Content-Type": "application/json", \ - "X-Auth-Token": auth_token}) - return (resp, content) - -def create_user_xml(tenantid, userid, auth_token): - h = httplib2.Http(".cache") - url = '%stenants/%s/users' % (URL, tenantid) - body = ' \ - '\ - % (tenantid, userid) - resp, content = h.request(url, "POST", body=body, \ - headers={"Content-Type": "application/xml",\ - "X-Auth-Token": auth_token, \ - "ACCEPT": "application/xml"}) - return (resp, content) - - -def delete_user_xml(tenantid, userid, auth_token): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s' % (URL, tenantid, userid) - resp, content = h.request(url, "DELETE", body='',\ - headers={"Content-Type": "application/xml",\ - "X-Auth-Token": auth_token, - "ACCEPT": "application/xml"}) - return (resp, content) - - -def delete_user_xml(tenantid, userid, auth_token): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s' % (URL, tenantid, userid) - resp, content = h.request(url, "DELETE", body='', - headers={"Content-Type": "application/xml", - "X-Auth-Token": auth_token, - "ACCEPT": "application/xml"}) - return (resp, content) - -def add_user_tenant_group(tenantid, groupid, userid, auth_token): - h = httplib2.Http(".cache") - url = '%stenants/%s/groups/%s/users/%s' % (URL, tenantid, groupid, userid) - - resp, content = h.request(url, "PUT", body='', - headers={"Content-Type": "application/json", - "X-Auth-Token": auth_token}) - return (resp, content) - -def add_user_tenant_group_xml(tenantid, groupid, userid, auth_token): - h = httplib2.Http(".cache") - url = '%stenants/%s/groups/%s/users/%s' % (URL, tenantid, groupid, userid) - - resp, content = h.request(url, "PUT", body='', - headers={"Content-Type": "application/xml", - "X-Auth-Token": auth_token, - "ACCEPT": "application/xml"}) - return (resp, content) - -def delete_user_tenant_group(tenantid, groupid, userid, auth_token): - h = httplib2.Http(".cache") - url = '%stenants/%s/groups/%s/users/%s' % (URL, tenantid, groupid, userid) - - resp, content = h.request(url, "DELETE", body='', - headers={"Content-Type": "application/json", - "X-Auth-Token": auth_token}) - return (resp, content) - -def delete_user_tenant_group_xml(tenantid, groupid, userid, auth_token): - h = httplib2.Http(".cache") - url = '%stenants/%s/groups/%s/users/%s' % (URL, tenantid, groupid, userid) - - resp, content = h.request(url, "DELETE", body='', - headers={"Content-Type": "application/xml", - "X-Auth-Token": auth_token, - "ACCEPT": "application/xml"}) - return (resp, content) - -def get_user_tenant_group(tenantid, groupid, auth_token): - h = httplib2.Http(".cache") - url = '%stenants/%s/groups/%s/users' % (URL, tenantid, groupid) - - resp, content = h.request(url, "GET", body='', - headers={"Content-Type": "application/json", - "X-Auth-Token": auth_token}) - return (resp, content) - -def get_user_tenant_group_xml(tenantid, groupid, auth_token): - h = httplib2.Http(".cache") - url = '%stenants/%s/groups/%s/users' % (URL, tenantid, groupid) - - resp, content = h.request(url, "GET", body='', - headers={"Content-Type": "application/xml", - "X-Auth-Token": auth_token, - "ACCEPT": "application/xml"}) - return (resp, content) - - -def add_user_global_group(groupid, userid, auth_token): - h = httplib2.Http(".cache") - url = '%sgroups/%s/users/%s' % (URL, groupid, userid) - - resp, content = h.request(url, "PUT", body='', - headers={"Content-Type": "application/json", - "X-Auth-Token": auth_token}) - return (resp, content) - -def add_user_global_group_xml(groupid, userid, auth_token): - h = httplib2.Http(".cache") - url = '%sgroups/%s/users/%s' % (URL, groupid, userid) - - resp, content = h.request(url, "PUT", body='', - headers={"Content-Type": "application/xml", - "X-Auth-Token": auth_token, - "ACCEPT": "application/xml"}) - return (resp, content) - -def delete_user_global_group(groupid, userid, auth_token): - h = httplib2.Http(".cache") - url = '%sgroups/%s/users/%s' % (URL, groupid, userid) - - resp, content = h.request(url, "DELETE", body='', - headers={"Content-Type": "application/json", - "X-Auth-Token": auth_token}) - return (resp, content) - -def delete_user_global_group_xml(groupid, userid, auth_token): - h = httplib2.Http(".cache") - url = '%sgroups/%s/users/%s' % (URL, groupid, userid) - - resp, content = h.request(url, "DELETE", body='', - headers={"Content-Type": "application/xml", - "X-Auth-Token": auth_token, - "ACCEPT": "application/xml"}) - return (resp, content) - -def get_user_global_group(groupid, auth_token): - h = httplib2.Http(".cache") - url = '%sgroups/%s/users' % (URL, groupid) - - resp, content = h.request(url, "GET", body='', - headers={"Content-Type": "application/json", - "X-Auth-Token": auth_token}) - - return (resp, content) - -def get_userid(): - return 'test_user11' - - -def get_password(): - return 'secrete' - - -def get_email(): - return 'joetest@rackspace.com' - -def get_user_global_group_xml(groupid, auth_token): - h = httplib2.Http(".cache") - url = '%sgroups/%s/users' % (URL, groupid) - - resp, content = h.request(url, "GET", body='', - headers={"Content-Type": "application/xml", - "X-Auth-Token": auth_token, - "ACCEPT": "application/xml"}) - return (resp, content) - -def get_tenant(): - return '1234' - - -def get_user(): - return 'test_user' - - -def get_userdisabled(): - return 'disabled' - -def get_auth_token(): - return '999888777666' - - -def get_exp_auth_token(): - return '000999' - -def get_none_token(): - return '' - -def get_non_existing_token(): - return 'invalid_token' - -def get_disabled_token(): - return '999888777' - - -def content_type(resp): - return resp['content-type'].split(';')[0] - -def get_global_tenant(): - return 'GlobalTenant' - -def handle_user_resp(self,content, respvalue,resptype): - if respvalue == 200: - if resptype == 'application/json': - content = json.loads(content) - self.tenant = content['user']['tenantId'] - self.userid = content['user']['id'] - if resptype == 'application/xml': - content=etree.fromstring(content) - self.tenant=content.get("tenantId") - self.id=content.get("id") - - - if respvalue == 500: - self.fail('IDM fault') - elif respvalue == 503: - self.fail('Service Not Available') - -def content_type(resp): - return resp['content-type'].split(';')[0] -""" -"""class identity_test(unittest.TestCase): - - #Given _a_ to make inherited test cases in an order. - #here to call below method will call as last test case - - def test_a_get_version_json(self): - h = httplib2.Http(".cache") - url = URL - resp, content = h.request(url, "GET", body="", - headers={"Content-Type":"application/json"}) - self.assertEqual(200, int(resp['status'])) - self.assertEqual('application/json', content_type(resp)) - - def test_a_get_version_xml(self): - h = httplib2.Http(".cache") - url = URL - resp, content = h.request(url, "GET", body="", - headers={"Content-Type": "application/xml", - "ACCEPT": "application/xml"}) - - self.assertEqual(200, int(resp['status'])) - self.assertEqual('application/xml', content_type(resp)) -""" -""" -class authorize_test(identity_test): - - def setUp(self): - self.token = get_token('joeuser', 'secrete', 'token') - self.tenant = get_tenant() - self.user = get_user() - self.userdisabled = get_userdisabled() - self.auth_token = get_auth_token() - self.exp_auth_token = get_exp_auth_token() - self.disabled_token = get_disabled_token() - - def tearDown(self): - delete_token(self.token, self.auth_token) - - def test_a_authorize(self): - resp, content = get_token('joeuser', 'secrete') - self.assertEqual(200, int(resp['status'])) - self.assertEqual('application/json', content_type(resp)) - - def test_a_authorize_xml(self): - resp, content = get_token_xml('joeuser', 'secrete') - self.assertEqual(200, int(resp['status'])) - self.assertEqual('application/xml', content_type(resp)) - - def test_a_authorize_user_disabled(self): - h = httplib2.Http(".cache") - url = '%stoken' % URL - body = {"passwordCredentials": {"username": "disabled", - "password": "secrete"}} - resp, content = h.request(url, "POST", body=json.dumps(body), - headers={"Content-Type": "application/json"}) - content = json.loads(content) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(resp['status'])) - self.assertEqual('application/json', content_type(resp)) - - def test_a_authorize_user_disabled_xml(self): - h = httplib2.Http(".cache") - url = '%stoken' % URL - body = ' \ - ' - resp, content = h.request(url, "POST", body=body, - headers={"Content-Type": "application/xml", - "ACCEPT": "application/xml"}) - content = etree.fromstring(content) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(resp['status'])) - self.assertEqual('application/xml', content_type(resp)) - - def test_a_authorize_user_wrong(self): - h = httplib2.Http(".cache") - url = '%stoken' % URL - body = {"passwordCredentials": {"username-w": "disabled", - "password": "secrete"}} - resp, content = h.request(url, "POST", body=json.dumps(body), - headers={"Content-Type": "application/json"}) - content = json.loads(content) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(400, int(resp['status'])) - self.assertEqual('application/json', content_type(resp)) - - def test_a_authorize_user_wrong_xml(self): - h = httplib2.Http(".cache") - url = '%stoken' % URL - body = ' \ - ' - resp, content = h.request(url, "POST", body=body, - headers={"Content-Type": "application/xml", - "ACCEPT": "application/xml"}) - content = etree.fromstring(content) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(400, int(resp['status'])) - self.assertEqual('application/xml', content_type(resp)) -""" -""" -class validate_token(authorize_test): - - def test_validate_token_true(self): - h = httplib2.Http(".cache") - - url = '%stoken/%s?belongsTo=%s' % (URL, self.token, self.tenant) - resp, content = h.request(url, "GET", body='', - headers={"Content-Type": "application/json", - "X-Auth-Token": self.auth_token}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(200, int(resp['status'])) - self.assertEqual('application/json', content_type(resp)) - - def test_validate_token_true_xml(self): - h = httplib2.Http(".cache") - url = '%stoken/%s?belongsTo=%s' % (URL, self.token, self.tenant) - resp, content = h.request(url, "GET", body='', - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(200, int(resp['status'])) - self.assertEqual('application/xml', content_type(resp)) - - def test_validate_token_expired(self): - h = httplib2.Http(".cache") - url = '%stoken/%s?belongsTo=%s' % (URL, self.exp_auth_token, - self.tenant) - resp, content = h.request(url, "GET", body='', - headers={"Content-Type": "application/json", - "X-Auth-Token": self.exp_auth_token - }) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(resp['status'])) - self.assertEqual('application/json', content_type(resp)) - - def test_validate_token_expired_xml(self): - h = httplib2.Http(".cache") - - url = '%stoken/%s?belongsTo=%s' % (URL, self.exp_auth_token, - self.tenant) - resp, content = h.request(url, "GET", body='', - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.exp_auth_token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(resp['status'])) - self.assertEqual('application/xml', content_type(resp)) - - def test_validate_token_invalid(self): - h = httplib2.Http(".cache") - url = '%stoken/%s?belongsTo=%s' % (URL, 'NonExistingToken', - self.tenant) - resp, content = h.request(url, "GET", body='', - headers={"Content-Type": "application/json", - "X-Auth-Token": self.auth_token}) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(401, int(resp['status'])) - self.assertEqual('application/json', content_type(resp)) - - def test_validate_token_invalid_xml(self): - h = httplib2.Http(".cache") - url = '%stoken/%s?belongsTo=%s' % (URL, 'NonExistingToken', - self.tenant) - resp, content = h.request(url, "GET", body='', - headers={"Content-Type": "application/json", - "X-Auth-Token": self.auth_token}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(401, int(resp['status'])) - self.assertEqual('application/json', content_type(resp)) - -""" -"""class tenant_test(unittest.TestCase): - - def setUp(self): - self.token = get_token('joeuser', 'secrete', 'token') - self.tenant = get_tenant() - self.user = get_user() - self.userdisabled = get_userdisabled() - self.auth_token = get_auth_token() - self.exp_auth_token = get_exp_auth_token() - self.disabled_token = get_disabled_token() - - def tearDown(self): - resp, content = delete_tenant(self.tenant, self.auth_token) -""" -""" -class create_tenant_test(tenant_test): - - def test_tenant_create(self): - resp, content = delete_tenant('test_tenant', str(self.auth_token)) - - resp, content = create_tenant('test_tenant', str(self.auth_token)) - self.tenant = 'test_tenant' - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - - if int(resp['status']) not in (200, 201): - - self.fail('Failed due to %d' % int(resp['status'])) - - def test_tenant_create_xml(self): - resp, content = delete_tenant_xml('test_tenant', str(self.auth_token)) - resp, content = create_tenant_xml('test_tenant', str(self.auth_token)) - self.tenant = 'test_tenant' - content = etree.fromstring(content) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - - if int(resp['status']) not in (200, 201): - - self.fail('Failed due to %d' % int(resp['status'])) - - def test_tenant_create_again(self): - - resp, content = create_tenant("test_tenant", str(self.auth_token)) - resp, content = create_tenant("test_tenant", str(self.auth_token)) - if int(resp['status']) == 200: - self.tenant = content['tenant']['id'] - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(409, int(resp['status'])) - if int(resp['status']) == 200: - self.tenant = content['tenant']['id'] - - def test_tenant_create_again_xml(self): - - resp, content = create_tenant_xml("test_tenant", str(self.auth_token)) - resp, content = create_tenant_xml("test_tenant", str(self.auth_token)) - content = etree.fromstring(content) - if int(resp['status']) == 200: - self.tenant = content.get("id") - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(409, int(resp['status'])) - if int(resp['status']) == 200: - self.tenant = content.get("id") - - def test_tenant_create_forbidden_token(self): - h = httplib2.Http(".cache") - resp, content = create_tenant("test_tenant", str(self.auth_token)) - if int(resp['status']) == 200: - self.tenant = content['tenant']['id'] - - url = '%stenants' % (URL) - body = {"tenant": {"id": self.tenant, - "description": "A description ...", - "enabled": True}} - resp, content = h.request(url, "POST", body=json.dumps(body), - headers={"Content-Type": "application/json", - "X-Auth-Token": self.token}) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(401, int(resp['status'])) - - def test_tenant_create_forbidden_token_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant_xml("test_tenant", str(self.auth_token)) - content = etree.fromstring(content) - if int(resp['status']) == 200: - self.tenant = content.get('id') - - url = '%stenants' % (URL) - body = ' \ - \ - A description... \ - ' % self.tenant - resp, content = h.request(url, "POST", body=body, - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.token, - "ACCEPT": "application/xml"}) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(401, int(resp['status'])) - def test_tenant_create_expired_token(self): - h = httplib2.Http(".cache") - resp, content = create_tenant("test_tenant", str(self.auth_token)) - if int(resp['status']) == 200: - self.tenant = content['tenant']['id'] +MODULE_EXTENSIONS = set('.py .pyc .pyo'.split()) + +def unit_test_extractor(tup, path, filenames): + """Pull ``unittest.TestSuite``s from modules in path + if the path represents a valid Python package. Accumulate + results in `tup[1]`. + """ + package_path, suites = tup + logging.debug('Path: %s', path) + logging.debug('Filenames: %s', filenames) + relpath = os.path.relpath(path, package_path) + relpath_pieces = relpath.split(os.sep) + + if relpath_pieces[0] == '.': # Base directory. + relpath_pieces.pop(0) # Otherwise, screws up module name. + elif not any(os.path.exists(os.path.join(path, '__init__' + ext)) + for ext in MODULE_EXTENSIONS): + return # Not a package directory and not the base directory, reject. + + logging.info('Base: %s', '.'.join(relpath_pieces)) + for filename in filenames: + base, ext = os.path.splitext(filename) + if ext not in MODULE_EXTENSIONS: # Not a Python module. + continue + logging.info('Module: %s', base) + module_name = '.'.join(relpath_pieces + [base]) + logging.info('Importing from %s', module_name) + module = __import__(module_name) + module_suites = unittest.defaultTestLoader.loadTestsFromModule(module) + logging.info('Got suites: %s', module_suites) + suites += module_suites + +def get_test_suites(path): + """:return: Iterable of suites for the packages/modules + present under :param:`path`. + """ + logging.info('Base path: %s', package_path) + suites = [] + os.path.walk(package_path, unit_test_extractor, (package_path, suites)) + logging.info('Got suites: %s', suites) + return suites - url = '%stenants' % (URL) - body = {"tenant": {"id": self.tenant, - "description": "A description ...", - "enabled": True}} - resp, content = h.request(url, "POST", body=json.dumps(body), - headers={"Content-Type": "application/json", - "X-Auth-Token": self.exp_auth_token}) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(resp['status'])) - - def test_tenant_create_expired_token_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant_xml("test_tenant", str(self.auth_token)) - content = etree.fromstring(content) - if int(resp['status']) == 200: - self.tenant = content.get('id') - - url = '%stenants' % (URL) - body = ' \ - \ - A description... \ - ' % self.tenant - - resp, content = h.request(url, "POST", body=body, - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.exp_auth_token, - "ACCEPT": "application/xml"}) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(resp['status'])) - - def test_tenant_create_missing_token(self): - h = httplib2.Http(".cache") - resp, content = create_tenant("test_tenant", str(self.auth_token)) - if int(resp['status']) == 200: - self.tenant = content['tenant']['id'] - - url = '%stenants' % (URL) - body = {"tenant": {"id": self.tenant, - "description": "A description ...", - "enabled": True}} - resp, content = h.request(url, "POST", body=json.dumps(body), - headers={"Content-Type": "application/json"}) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(401, int(resp['status'])) - - def test_tenant_create_missing_token_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant_xml("test_tenant", str(self.auth_token)) - content = etree.fromstring(content) - if int(resp['status']) == 200: - self.tenant = content.get('id') - - url = '%stenants' % (URL) - - body = ' \ - \ - A description... \ - ' % self.tenant - resp, content = h.request(url, "POST", body=body, - headers={"Content-Type": "application/xml", - "ACCEPT": "application/xml"}) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(401, int(resp['status'])) - - def test_tenant_create_disabled_token(self): - h = httplib2.Http(".cache") - resp, content = create_tenant("test_tenant", str(self.auth_token)) - if int(resp['status']) == 200: - self.tenant = content['tenant']['id'] - - url = '%stenants' % (URL) - body = '{"tenant": { "id": "%s", \ - "description": "A description ...", "enabled"\ - :true } }' % self.tenant - resp, content = h.request(url, "POST", body=body, - headers={"Content-Type": "application/json", - "X-Auth-Token": self.disabled_token - }) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(resp['status'])) - - def test_tenant_create_disabled_token_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant_xml("test_tenant", str(self.auth_token)) - content = etree.fromstring(content) - if int(resp['status']) == 200: - self.tenant = content.get('id') - - url = '%stenants' % (URL) - body = ' \ - \ - A description... \ - ' % self.tenant - resp, content = h.request(url, "POST", body=body, - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.disabled_token, - "ACCEPT": "application/xml"}) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(resp['status'])) - - def test_tenant_create_invalid_token(self): - h = httplib2.Http(".cache") - resp, content = create_tenant("test_tenant", str(self.auth_token)) - if int(resp['status']) == 200: - self.tenant = content['tenant']['id'] - - url = '%stenants' % (URL) - body = '{"tenant": { "id": "%s", \ - "description": "A description ...", "enabled"\ - :true } }' % self.tenant - resp, content = h.request(url, "POST", body=body, - headers={"Content-Type": "application/json", - "X-Auth-Token": 'nonexsitingtoken'}) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(404, int(resp['status'])) - - def test_tenant_create_invalid_token_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant_xml("test_tenant", str(self.auth_token)) - content = etree.fromstring(content) - if int(resp['status']) == 200: - self.tenant = content.get('id') - - url = '%stenants' % (URL) - body = ' \ - \ - A description... \ - ' % self.tenant - resp, content = h.request(url, "POST", body=body, - headers={"Content-Type": "application/xml", - "X-Auth-Token": 'nonexsitingtoken', - "ACCEPT": "application/xml"}) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(404, int(resp['status'])) - - -class get_tenants_test(tenant_test): - - def test_get_tenants(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - url = '%stenants' % (URL) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='{}', - headers={"Content-Type": "application/json", - "X-Auth-Token": self.auth_token - }) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(200, int(resp['status'])) - - def test_get_tenants_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - url = '%stenants' % (URL) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='', - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(200, int(resp['status'])) - - def test_get_tenants_unauthorized_token(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - url = '%stenants' % (URL) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='{}', - headers={"Content-Type": "application/json", - "X-Auth-Token": self.token}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(401, int(resp['status'])) - - def test_get_tenants_unauthorized_token_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - url = '%stenants' % (URL) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='', - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(401, int(resp['status'])) - - def test_get_tenants_exp_token(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - url = '%stenants' % (URL) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='{}', - headers={"Content-Type": "application/json", - "X-Auth-Token": self.exp_auth_token - }) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(resp['status'])) - - def test_get_tenants_exp_token_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - url = '%stenants' % (URL) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='', - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.exp_auth_token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(resp['status'])) - - -class get_tenant_test(tenant_test): - - def test_get_tenant(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - url = '%stenants/%s' % (URL, self.tenant) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='{}', - headers={"Content-Type": "application/json", - "X-Auth-Token": self.auth_token}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(200, int(resp['status'])) - - def test_get_tenant_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - url = '%stenants/%s' % (URL, self.tenant) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='', - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(200, int(resp['status'])) - - def test_get_tenant_bad(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - url = '%stenants/%s' % (URL, 'tenant_bad') - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='{', - headers={"Content-Type": "application/json", - "X-Auth-Token": self.auth_token}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(404, int(resp['status'])) - - def test_get_tenant_bad_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - url = '%stenants/%s' % (URL, 'tenant_bad') - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='{', - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(404, int(resp['status'])) - - def test_get_tenant_not_found(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - url = '%stenants/NonexistingID' % (URL) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='{}', - headers={"Content-Type": "application/json", - "X-Auth-Token": self.auth_token}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(404, int(resp['status'])) - - def test_get_tenant_not_found_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - url = '%stenants/NonexistingID' % (URL) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='', - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(404, int(resp['status'])) - - -class update_tenant_test(tenant_test): - - def test_update_tenant(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - url = '%stenants/%s' % (URL, self.tenant) - data = '{"tenant": { "description": "A NEW description..." ,\ - "enabled":true }}' - #test for Content-Type = application/json - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/json", - "X-Auth-Token": self.auth_token}) - body = json.loads(content) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(200, int(resp['status'])) - self.assertEqual(int(self.tenant), int(body['tenant']['id'])) - self.assertEqual('A NEW description...', body['tenant']['description']) - - def test_update_tenant_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant_xml(self.tenant, str(self.auth_token)) - url = '%stenants/%s' % (URL, self.tenant) - data = ' \ - \ - A NEW description... \ - ' - - #test for Content-Type = application/json - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - body = etree.fromstring(content) - desc = body.find("{http://docs.openstack.org/idm/api/v1.0}description") - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(200, int(resp['status'])) - self.assertEqual(int(self.tenant), int(body.get('id'))) - self.assertEqual('A NEW description...', desc.text) - - def test_update_tenant_bad(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - url = '%stenants/%s' % (URL, self.tenant) - data = '{"tenant": { "description_bad": "A NEW description...",\ - "enabled":true }}' - #test for Content-Type = application/json - - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/json", - "X-Auth-Token": self.auth_token}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(400, int(resp['status'])) - - def test_update_tenant_bad_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - url = '%stenants/%s' % (URL, self.tenant) - data = ' \ - \ - A NEW description... \ - ' - #test for Content-Type = application/json - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(400, int(resp['status'])) - - def test_update_tenant_not_found(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - url = '%stenants/NonexistingID' % (URL) - data = '{"tenant": { "description": "A NEW description...",\ - "enabled":true }}' - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body=data, - headers={"Content-Type": "application/json", - "X-Auth-Token": self.auth_token}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(404, int(resp['status'])) - - def test_update_tenant_not_found_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - url = '%stenants/NonexistingID' % (URL) - data = ' \ - \ - A NEW description... \ - ' - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body=data, - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(404, int(resp['status'])) - - -class delete_tenant_test(tenant_test): - - def test_delete_tenant_not_found(self): - #resp,content=create_tenant("test_tenant_delete", str(self.auth_token)) - resp, content = delete_tenant("test_tenant_delete111", - str(self.auth_token)) - self.assertEqual(404, int(resp['status'])) - - def test_delete_tenant_not_found_xml(self): - #resp,content=create_tenant("test_tenant_delete", str(self.auth_token)) - resp, content = delete_tenant_xml("test_tenant_delete111", - str(self.auth_token)) - self.assertEqual(404, int(resp['status'])) - - def test_delete_tenant(self): - resp, content = create_tenant("test_tenant_delete", - str(self.auth_token)) - resp, content = delete_tenant("test_tenant_delete", - str(self.auth_token)) - self.assertEqual(204, int(resp['status'])) - - def test_delete_tenant_xml(self): - resp, content = create_tenant_xml("test_tenant_delete", - str(self.auth_token)) - resp, content = delete_tenant_xml("test_tenant_delete", - str(self.auth_token)) - self.assertEqual(204, int(resp['status'])) -""" -""" -class tenant_group_test(unittest.TestCase): - - def setUp(self): - self.token = get_token('joeuser', 'secrete', 'token') - self.tenant = get_tenant() - self.user = get_user() - self.userdisabled = get_userdisabled() - self.auth_token = get_auth_token() - self.exp_auth_token = get_exp_auth_token() - self.disabled_token = get_disabled_token() - self.tenant_group = 'test_tenant_group_add' - - def tearDown(self): - resp, content = delete_tenant_group(self.tenant_group, - self.tenant, - self.auth_token) - resp, content = delete_tenant(self.tenant, self.auth_token) - - -class create_tenant_group_test(tenant_group_test): - - def test_tenant_group_create(self): - - resp, content = delete_tenant(self.tenant, str(self.auth_token)) - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = delete_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - if int(respG['status']) not in (200, 201): - self.fail('Failed due to %d' % int(respG['status'])) - - def test_tenant_group_create_xml(self): - resp, content = delete_tenant_xml(self.tenant, str(self.auth_token)) - resp, content = create_tenant_xml(self.tenant, str(self.auth_token)) - respG, contentG = delete_tenant_group_xml(self.tenant_group, - self.tenant, - str(self.auth_token)) - respG, contentG = create_tenant_group_xml(self.tenant_group, - self.tenant, - str(self.auth_token)) - self.tenant = self.tenant - self.tenant_group = self.tenant_group - content = etree.fromstring(content) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - if int(respG['status']) not in (200, 201): - self.fail('Failed due to %d' % int(respG['status'])) - - def test_tenant_group_create_again(self): - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - if int(respG['status']) == 200: - self.tenant = content['tenant']['id'] - self.tenant_group = contentG['group']['id'] - if int(respG['status']) == 500: - self.fail('IDM fault') - elif int(respG['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(409, int(respG['status'])) - if int(respG['status']) == 200: - self.tenant = content['tenant']['id'] - self.tenant_group = contentG['group']['id'] - - def test_tenant_group_create_again_xml(self): - resp, content = create_tenant_xml("test_tenant", str(self.auth_token)) - respG, contentG = create_tenant_group_xml(self.tenant_group, - self.tenant, - str(self.auth_token)) - respG, contentG = create_tenant_group_xml(self.tenant_group, - self.tenant, - str(self.auth_token)) - content = etree.fromstring(content) - contentG = etree.fromstring(contentG) - if int(respG['status']) == 200: - self.tenant = content.get("id") - self.tenant_group = contentG.get("id") - if int(respG['status']) == 500: - self.fail('IDM fault') - elif int(respG['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(409, int(respG['status'])) - if int(respG['status']) == 200: - self.tenant = content.get("id") - self.tenant_group = contentG.get("id") - - def test_tenant_group_create_unauthorized_token(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group_xml(self.tenant_group, - self.tenant, - str(self.auth_token)) - if int(resp['status']) == 200: - self.tenant = content['tenant']['id'] - if int(respG['status']) == 200: - self.tenant_group = respG['group']['id'] - url = '%stenant/%s/groups' % (URL, self.tenant) - body = {"group": {"id": self.tenant_group, - "description": "A description ..."}} - resp, content = h.request(url, "POST", body=json.dumps(body), - headers={"Content-Type": "application/json", - "X-Auth-Token": self.token}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(401, int(resp['status'])) - - def test_tenant_group_create_unauthorized_token_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - if int(resp['status']) == 200: - self.tenant = content['tenant']['id'] - url = '%stenant/%s/groups' % (URL, self.tenant) - body = ' \ - A description... \ - ' % self.tenant_group - resp, content = h.request(url, "POST", body=body, - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(401, int(resp['status'])) - - def test_tenant_group_create_expired_token(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - if int(resp['status']) == 200: - self.tenant = content['tenant']['id'] - url = '%stenant/%s/groups' % (URL, self.tenant) - body = {"group": {"id": self.tenant_group, - "description": "A description ..."}} - resp, content = h.request(url, "POST", body=json.dumps(body), - headers={"Content-Type": "application/json", - "X-Auth-Token": self.exp_auth_token}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(resp['status'])) - - def test_tenant_group_create_expired_token_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant_xml(self.tenant, str(self.auth_token)) - content = etree.fromstring(content) - if int(resp['status']) == 200: - self.tenant = content.get('id') - url = '%stenant/%s/groups' % (URL, self.tenant) - body = ' \ - \ - A description... \ - ' % self.tenant - resp, content = h.request(url, "POST", body=body, - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.exp_auth_token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(resp['status'])) - - def test_tenant_group_create_missing_token(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - if int(resp['status']) == 200: - self.tenant = content['tenant']['id'] - url = '%stenant/%s/groups' % (URL, self.tenant) - body = {"group": {"id": self.tenant_group, - "description": "A description ..."}} - resp, content = h.request(url, "POST", body=json.dumps(body), - headers={"Content-Type": "application/json"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(401, int(resp['status'])) - - - def test_tenant_group_create_missing_token_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant_xml(self.tenant, str(self.auth_token)) - content = etree.fromstring(content) - if int(resp['status']) == 200: - self.tenant = content.get('id') - url = '%stenant/%s/groups' % (URL, self.tenant) - body = ' \ - \ - A description... \ - ' % self.tenant_group - resp, content = h.request(url, "POST", body=body, - headers={"Content-Type": "application/xml", - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(401, int(resp['status'])) - - - def test_tenant_group_create_disabled_token(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - if int(resp['status']) == 200: - self.tenant = content['tenant']['id'] - - url = '%stenant/%s/groups' % (URL, self.tenant) - body = '{"group": { "id": "%s", \ - "description": "A description ..." } }' % self.tenant_group - resp, content = h.request(url, "POST", body=body, - headers={"Content-Type": "application/json", - "X-Auth-Token": self.disabled_token}) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(resp['status'])) - - def test_tenant_group_create_disabled_token_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant_xml(self.tenant, str(self.auth_token)) - content = etree.fromstring(content) - if int(resp['status']) == 200: - self.tenant = content.get('id') - - url = '%stenant/%s/groups' % (URL, self.tenant) - body = ' \ - \ - A description... \ - ' % self.tenant_group - resp, content = h.request(url, "POST", body=body, - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.disabled_token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(resp['status'])) - - def test_tenant_group_create_invalid_token(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - if int(resp['status']) == 200: - self.tenant = content['tenant']['id'] - - url = '%stenant/%s/groups' % (URL, self.tenant) - body = '{"group": { "id": "%s", \ - "description": "A description ..." } }' % self.tenant - resp, content = h.request(url, "POST", body=body, - headers={"Content-Type": "application/json", - "X-Auth-Token": 'nonexsitingtoken'}) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(404, int(resp['status'])) - - def test_tenant_group_create_invalid_token_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant_xml(self.tenant, str(self.auth_token)) - content = etree.fromstring(content) - if int(resp['status']) == 200: - self.tenant = content.get('id') - - url = '%stenant/%s/groups' % (URL, self.tenant) - body = ' \ - \ - A description... \ - ' % self.tenant_group - resp, content = h.request(url, "POST", body=body, - headers={"Content-Type": "application/xml", - "X-Auth-Token": 'nonexsitingtoken', - "ACCEPT": "application/xml"}) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(404, int(resp['status'])) - - -class get_tenant_groups_test(tenant_group_test): - - def test_get_tenant_groups(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - - url = '%stenant/%s/groups' % (URL, self.tenant) - - resp, content = h.request(url, "GET", body='{}', - headers={"Content-Type": "application/json", - "X-Auth-Token": self.auth_token}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(200, int(resp['status'])) - - def test_get_tenant_groups_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - - respG, contentG = create_tenant_group_xml(self.tenant_group, - self.tenant, - str(self.auth_token)) - url = '%stenant/%s/groups' % (URL, self.tenant) - resp, content = h.request(url, "GET", body='', - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(200, int(resp['status'])) - - def test_get_tenant_groups_unauthorized_token(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - url = '%stenant/%s/groups' % (URL, self.tenant) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='{}', - headers={"Content-Type": "application/json", - "X-Auth-Token": self.token}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(401, int(resp['status'])) - - def test_get_tenant_groups_unauthorized_token_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - url = '%stenant/%s/groups' % (URL, self.tenant) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='', - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(401, int(resp['status'])) - - def test_get_tenant_groups_exp_token(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - url = '%stenant/%s/groups' % (URL, self.tenant) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='{}', - headers={"Content-Type": "application/json", - "X-Auth-Token": self.exp_auth_token}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(resp['status'])) - - def test_get_tenant_groups_exp_token_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - url = '%stenant/%s/groups' % (URL, self.tenant) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='', - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.exp_auth_token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(resp['status'])) - - -class get_tenant_group_test(tenant_group_test): - - def test_get_tenant_group(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - url = '%stenant/%s/groups/%s' % (URL, self.tenant, self.tenant_group) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='{}', - headers={"Content-Type": "application/json", - "X-Auth-Token": self.auth_token}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(200, int(resp['status'])) - - def test_get_tenant_group_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - url = '%stenant/%s/groups/%s' % (URL, self.tenant, self.tenant_group) - #test for Content-Type = application/xml - resp, content = h.request(url, "GET", body='', - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(200, int(resp['status'])) - - def test_get_tenant_group_bad(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - url = '%stenant/%s/groups/%s' % (URL, 'tenant_bad', self.tenant_group) - - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='{', - headers={"Content-Type": "application/json", - "X-Auth-Token": self.auth_token}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(404, int(resp['status'])) - - def test_get_tenant_group_bad_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - url = '%stenant/%s/groups/%s' % (URL, 'tenant_bad', self.tenant_group) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='{', - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(404, int(resp['status'])) - - def test_get_tenant_group_not_found(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - url = '%stenant/%s/groups/%s' % (URL, self.tenant, 'nonexistinggroup') - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='{}', - headers={"Content-Type": "application/json", - "X-Auth-Token": self.auth_token}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(404, int(resp['status'])) - - def test_get_tenant_group_not_found_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - url = '%stenant/%s/groups/%s' % (URL, self.tenant, 'nonexistinggroup') - - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='', - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(404, int(resp['status'])) - - -class update_tenant_group_test(tenant_group_test): - - def test_update_tenant_group(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - resp, content = delete_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - url = '%stenant/%s/groups/%s' % (URL, self.tenant, self.tenant_group) - - data = '{"group": { "id":"%s","description": "A NEW description..." ,\ - "tenantId":"%s" }}' % (self.tenant_group, self.tenant) - #test for Content-Type = application/json - - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/json", - "X-Auth-Token": self.auth_token}) - - - body = json.loads(content) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(200, int(resp['status'])) - self.assertEqual(self.tenant_group, body['group']['id']) - self.assertEqual('A NEW description...', body['group']['description']) - - def test_update_tenant_group_xml(self): - h = httplib2.Http(".cache") - resp, content = delete_tenant(self.tenant, str(self.auth_token)) - - resp, content = create_tenant(self.tenant, str(self.auth_token)) - - resp, content = delete_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - - url = '%stenant/%s/groups/%s' % (URL, self.tenant , self.tenant_group) - - data = ' \ - A NEW description... \ - ' % (self.tenant, self.tenant_group) - - #test for Content-Type = application/json - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - - - body = etree.fromstring(content) - desc = body.find("{http://docs.openstack.org/idm/api/v1.0}description") - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - - self.assertEqual(200, int(resp['status'])) - self.assertEqual(str(self.tenant_group), str(body.get('id'))) - self.assertEqual('A NEW description...', desc.text) - - def test_update_tenant_group_bad(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - resp, content = delete_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - url = '%stenant/%s/groups/%s' % (URL, self.tenant, self.tenant_group) - data = '{"group": { "description_bad": "A NEW description...",\ - "id":"%s","tenantId":"%s" }}' % (self.tenant_group, self.tenant) - #test for Content-Type = application/json - - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/json", - "X-Auth-Token": self.auth_token}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(400, int(resp['status'])) - - def test_update_tenant_group_bad_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - resp, content = delete_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - url = '%stenant/%s/groups/%s' % (URL, self.tenant, self.tenant_group) - data = ' \ - \ - A NEW description... \ - ' % (self.tenant, self.tenant_group) - #test for Content-Type = application/json - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(400, int(resp['status'])) - - def test_update_tenant_group_not_found(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - resp, content = delete_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - url = '%stenant/%s/groups/NonexistingID' % (URL, self.tenant) - - data = '{"group": { "description": "A NEW description...",\ - "id":"NonexistingID", "tenantId"="test_tenant" }}' - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body=data, - headers={"Content-Type": "application/json", - "X-Auth-Token": self.auth_token}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(404, int(resp['status'])) - - def test_update_tenant_group_not_found_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - url = '%stenant/%s/groups/NonexistingID' % (URL, self.tenant) - data = ' \ - \ - A NEW description... \ - ' - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body=data, - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(404, int(resp['status'])) - - -class delete_tenant_group_test(tenant_test): - - def test_delete_tenant_group_not_found(self): - #resp,content=create_tenant("test_tenant_delete", str(self.auth_token)) - resp, content = delete_tenant_group("test_tenant_delete111", - self.tenant, - str(self.auth_token)) - self.assertEqual(404, int(resp['status'])) - - def test_delete_tenant_group_not_found_xml(self): - #resp,content=create_tenant("test_tenant_delete", str(self.auth_token)) - resp, content = delete_tenant_group_xml("test_tenant_delete111", - self.tenant, - str(self.auth_token)) - self.assertEqual(404, int(resp['status'])) - - def test_delete_tenant_group(self): - resp, content = create_tenant("test_tenant_delete", - str(self.auth_token)) - respG, contentG = create_tenant_group('test_tenant_group_delete', - "test_tenant_delete", - str(self.auth_token)) - respG, contentG = delete_tenant_group('test_tenant_group_delete', - "test_tenant_delete", - str(self.auth_token)) - resp, content = delete_tenant("test_tenant_delete", - str(self.auth_token)) - self.assertEqual(204, int(respG['status'])) - - def test_delete_tenant_group_xml(self): - resp, content = create_tenant("test_tenant_delete", - str(self.auth_token)) - respG, contentG = create_tenant_group('test_tenant_group_delete', - "test_tenant_delete", - str(self.auth_token)) - respG, contentG = delete_tenant_group('test_tenant_group_delete', - "test_tenant_delete", - str(self.auth_token)) - resp, content = delete_tenant_xml("test_tenant_delete", - str(self.auth_token)) - self.assertEqual(204, int(respG['status'])) - - -class add_user_tenant_group_test(unittest.TestCase): - - def setUp(self): - self.token = get_token('joeuser', 'secrete', 'token') - self.tenant = 'test_tenant' - self.user = get_user() - self.userdisabled = get_userdisabled() - self.auth_token = get_auth_token() - self.exp_auth_token = get_exp_auth_token() - self.disabled_token = get_disabled_token() - self.tenant_group = 'test_tenant_group_add' +if __name__ == '__main__': + logging.basicConfig(level=logging.WARN) + package_path = os.path.dirname(os.path.abspath(__file__)) + suites = get_test_suites(package_path) + for suite in suites: + unittest.TextTestRunner(verbosity=2).run(suite) - def tearDown(self): - respG, contentG = delete_user_tenant_group(self.tenant, - self.tenant_group, - self.user, - str(self.auth_token)) - - respG, contentG = delete_user(self.tenant, self.user, - str(self.auth_token)) - resp, content = delete_tenant_group(self.tenant_group, - self.tenant, - self.auth_token) - resp, content = delete_tenant(self.tenant, self.auth_token) - - - def test_add_user_tenant_group(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - respG, contentG = add_user_tenant_group(self.tenant, self.tenant_group, - self.user, str(self.auth_token) - ) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - if int(respG['status']) not in (200, 201): - self.fail('Failed due to %d' % int(respG['status'])) - - - def test_add_user_tenant_group_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - respG, contentG = add_user_tenant_group_xml(self.tenant, - self.tenant_group, - self.user, - str(self.auth_token)) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - if int(respG['status']) not in (200, 201): - self.fail('Failed due to %d' % int(respG['status'])) - - - def test_add_user_tenant_group_conflict(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - respG, contentG = add_user_tenant_group(self.tenant, self.tenant_group, - self.user, str(self.auth_token) - ) - respG, contentG = add_user_tenant_group(self.tenant, self.tenant_group, - self.user, str(self.auth_token) - ) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(409, int(respG['status'])) - - def test_add_user_tenant_group_conflict_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - respG, contentG = add_user_tenant_group_xml(self.tenant, self.tenant_group, - self.user, str(self.auth_token) - ) - respG, contentG = add_user_tenant_group_xml(self.tenant, self.tenant_group, - self.user, str(self.auth_token) - ) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(409, int(respG['status'])) - - def test_add_user_tenant_group_unauthorized(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - - respG, contentG = add_user_tenant_group(self.tenant, self.tenant_group, - self.user, self.token) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(401, int(respG['status'])) - - def test_add_user_tenant_group_unauthorized_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - - respG, contentG = add_user_tenant_group_xml(self.tenant, self.tenant_group, - self.user, self.token) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(401, int(respG['status'])) - - def test_add_user_tenant_group_forbidden(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - - respG, contentG = add_user_tenant_group(self.tenant, self.tenant_group, - self.user, self.disabled_token) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(respG['status'])) - - def test_add_user_tenant_group_forbidden_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - - respG, contentG = add_user_tenant_group_xml(self.tenant, self.tenant_group, - self.user, self.disabled_token) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(respG['status'])) - - -class get_users_tenant_group_test(add_user_tenant_group_test): - - def setUp(self): - self.token = get_token('joeuser', 'secrete', 'token') - self.tenant = 'test_tenant' - self.user = get_user() - self.userdisabled = get_userdisabled() - self.auth_token = get_auth_token() - self.exp_auth_token = get_exp_auth_token() - self.disabled_token = get_disabled_token() - self.tenant_group = 'test_tenant_group_add' - - def tearDown(self): - respG, contentG = delete_user_tenant_group(self.tenant, - self.tenant_group, - self.user, - str(self.auth_token)) - - respG, contentG = delete_user(self.tenant, self.user, - str(self.auth_token)) - resp, content = delete_tenant_group(self.tenant_group, - self.tenant, - self.auth_token) - resp, content = delete_tenant(self.tenant, self.auth_token) - - def test_get_users_tenant_group(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - respG, contentG = add_user_tenant_group(self.tenant, self.tenant_group, - self.user, str(self.auth_token) - ) - respG, contentG = get_user_tenant_group(self.tenant, self.tenant_group, - str(self.auth_token) - ) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(200, int(respG['status'])) - - - def test_get_users_tenant_group_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - respG, contentG = add_user_tenant_group_xml(self.tenant, - self.tenant_group, - self.user, - str(self.auth_token)) - respG, contentG = get_user_tenant_group_xml(self.tenant, - self.tenant_group, - str(self.auth_token) - ) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(200, int(respG['status'])) - - - def test_get_users_tenant_group_unauthorized(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - - respG, contentG = add_user_tenant_group(self.tenant, self.tenant_group, - self.user, self.auth_token) - - respG, contentG = get_user_tenant_group(self.tenant, self.tenant_group, - str(self.token) - ) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(401, int(respG['status'])) - - def test_get_users_tenant_group_unauthorized_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - - respG, contentG = add_user_tenant_group(self.tenant, self.tenant_group, - self.user, self.auth_token) - respG, contentG = get_user_tenant_group_xml(self.tenant, - self.tenant_group, - str(self.token) - ) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(401, int(respG['status'])) - - def test_get_users_tenant_group_forbidden(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - - respG, contentG = add_user_tenant_group(self.tenant, self.tenant_group, - self.user, self.auth_token) - respG, contentG = get_user_tenant_group(self.tenant, - self.tenant_group, - str(self.disabled_token) - ) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(respG['status'])) - - def test_get_users_tenant_group_forbidden_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - - respG, contentG = add_user_tenant_group(self.tenant, self.tenant_group, - self.user, self.auth_token) - respG, contentG = get_user_tenant_group_xml(self.tenant, - self.tenant_group, - str(self.disabled_token) - ) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(respG['status'])) - - def test_get_users_tenant_group_expired(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - - respG, contentG = add_user_tenant_group(self.tenant, self.tenant_group, - self.user, self.auth_token) - respG, contentG = get_user_tenant_group(self.tenant, self.tenant_group, - str(self.exp_auth_token) - ) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(respG['status'])) - - def test_get_users_tenant_group_expired_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - - respG, contentG = add_user_tenant_group(self.tenant, self.tenant_group, - self.user, self.auth_token) - respG, contentG = get_user_tenant_group_xml(self.tenant, - self.tenant_group, - str(self.exp_auth_token) - ) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(respG['status'])) - -class delete_users_tenant_group_test(add_user_tenant_group_test): - - def test_delete_user_tenant_group(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - respG, contentG = add_user_tenant_group(self.tenant, self.tenant_group, - self.user, str(self.auth_token) - ) - respG, contentG = delete_user_tenant_group(self.tenant, - self.tenant_group, - self.user, - str(self.auth_token) - ) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(204, int(respG['status'])) - - - def test_delete_user_tenant_group_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - respG, contentG = add_user_tenant_group_xml(self.tenant, - self.tenant_group, - self.user, - str(self.auth_token)) - respG, contentG = delete_user_tenant_group_xml(self.tenant, - self.tenant_group, - self.user, - str(self.auth_token)) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(204, int(respG['status'])) - - def test_delete_user_tenant_group_notfound(self): - h = httplib2.Http(".cache") - - respG, contentG = delete_user_tenant_group(self.tenant, - self.tenant_group, - 'NonExistinguser', - str(self.auth_token) - ) - - if int(respG['status']) == 500: - self.fail('IDM fault') - elif int(respG['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(404, int(respG['status'])) - - def test_delete_user_tenant_group_notfound_xml(self): - h = httplib2.Http(".cache") - - respG, contentG = delete_user_tenant_group_xml(self.tenant, - self.tenant_group, - 'NonExistinguser', - str(self.auth_token) - ) - - if int(respG['status']) == 500: - self.fail('IDM fault') - elif int(respG['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(404, int(respG['status'])) - -""" -"""## -## Global Group Tests -## -class global_group_test(unittest.TestCase): - - def setUp(self): - self.token = get_token('joeuser', 'secrete', 'token') - self.globaltenant = get_global_tenant() - self.user = get_user() - self.userdisabled = get_userdisabled() - self.auth_token = get_auth_token() - self.exp_auth_token = get_exp_auth_token() - self.disabled_token = get_disabled_token() - self.global_group = 'test_global_group_add' - - def tearDown(self): - resp, content = delete_global_group(self.global_group, - self.auth_token) - resp, content = delete_tenant(self.globaltenant, self.auth_token) - - -class create_global_group_test(global_group_test): - - def test_global_group_create(self): - respG, contentG = delete_global_group(self.global_group, - str(self.auth_token)) - respG, contentG = create_global_group(self.global_group, - str(self.auth_token)) - - if int(respG['status']) == 500: - self.fail('IDM fault') - elif int(respG['status']) == 503: - self.fail('Service Not Available') - if int(respG['status']) not in (200, 201): - self.fail('Failed due to %d' % int(respG['status'])) - - def test_global_group_create_xml(self): - respG, contentG = delete_global_group_xml(self.global_group, - str(self.auth_token)) - - respG, contentG = create_global_group_xml(self.global_group, - str(self.auth_token)) - - if int(respG['status']) == 500: - self.fail('IDM fault') - elif int(respG['status']) == 503: - self.fail('Service Not Available') - - if int(respG['status']) not in (200, 201): - self.fail('Failed due to %d' % int(respG['status'])) - - def test_global_group_create_again(self): - respG, contentG = create_global_group(self.global_group, - str(self.auth_token)) - respG, contentG = create_global_group(self.global_group, - str(self.auth_token)) - if int(respG['status']) == 500: - self.fail('IDM fault') - elif int(respG['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(409, int(respG['status'])) - - - def test_global_group_create_again_xml(self): - respG, contentG = create_global_group_xml(self.global_group, - str(self.auth_token)) - respG, contentG = create_global_group_xml(self.global_group, - str(self.auth_token)) - contentG = etree.fromstring(contentG) - if int(respG['status']) == 500: - self.fail('IDM fault') - elif int(respG['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(409, int(respG['status'])) - - - def test_global_group_create_unauthorized_token(self): - h = httplib2.Http(".cache") - respG, contentG = create_global_group_xml(self.global_group, - str(self.auth_token)) - url = '%sgroups' % (URL) - body = {"group": {"id": self.global_group, - "description": "A description ..."}} - resp, content = h.request(url, "POST", body=json.dumps(body), - headers={"Content-Type": "application/json", - "X-Auth-Token": self.token}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(401, int(resp['status'])) - - def test_global_group_create_unauthorized_token_xml(self): - h = httplib2.Http(".cache") - url = '%sgroups' % (URL) - body = ' \ - \ - A description... \ - ' % self.global_group - resp, content = h.request(url, "POST", body=body, - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(401, int(resp['status'])) - - def test_global_group_create_expired_token(self): - h = httplib2.Http(".cache") - url = '%sgroups' % (URL) - body = {"group": {"id": self.global_group, - "description": "A description ..."}} - resp, content = h.request(url, "POST", body=json.dumps(body), - headers={"Content-Type": "application/json", - "X-Auth-Token": self.exp_auth_token - }) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(resp['status'])) - - def test_global_group_create_expired_token_xml(self): - h = httplib2.Http(".cache") - url = '%sgroups' % (URL) - body = ' \ - A description... \ - ' % self.globaltenant - resp, content = h.request(url, "POST", body=body, - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.exp_auth_token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(resp['status'])) - - def test_global_group_create_missing_token(self): - h = httplib2.Http(".cache") - url = '%sgroups' % (URL) - body = {"group": {"id": self.global_group, - "description": "A description ..."}} - resp, content = h.request(url, "POST", body=json.dumps(body), - headers={"Content-Type": "application/json"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(401, int(resp['status'])) - - def test_global_group_create_missing_token_xml(self): - h = httplib2.Http(".cache") - url = '%sgroups' % (URL) - body = ' \ - A description... \ - ' % self.global_group - resp, content = h.request(url, "POST", body=body, - headers={"Content-Type": "application/xml", - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(401, int(resp['status'])) - - def test_global_group_create_disabled_token(self): - h = httplib2.Http(".cache") - url = '%sgroups' % (URL) - body = '{"group": { "id": "%s", \ - "description": "A description ..." } }' % self.global_group - resp, content = h.request(url, "POST", body=body, - headers={"Content-Type": "application/json", - "X-Auth-Token": self.disabled_token - }) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(resp['status'])) - - def test_global_group_create_disabled_token_xml(self): - h = httplib2.Http(".cache") - url = '%sgroups' % (URL) - body = ' \ - A description... \ - ' % self.global_group - resp, content = h.request(url, "POST", body=body, - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.disabled_token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(resp['status'])) - - def test_global_group_create_invalid_token(self): - h = httplib2.Http(".cache") - url = '%sgroups' % (URL) - body = '{"group": { "id": "%s", \ - "description": "A description ..." } }' % self.globaltenant - resp, content = h.request(url, "POST", body=body, - headers={"Content-Type": "application/json", - "X-Auth-Token": 'nonexsitingtoken'}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(404, int(resp['status'])) - - def test_global_group_create_invalid_token_xml(self): - h = httplib2.Http(".cache") - url = '%sgroups' % (URL) - body = ' \ - A description... \ - ' % self.global_group - resp, content = h.request(url, "POST", body=body, - headers={"Content-Type": "application/xml", - "X-Auth-Token": 'nonexsitingtoken', - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(404, int(resp['status'])) - - -class get_global_groups_test(global_group_test): - - def test_get_global_groups(self): - h = httplib2.Http(".cache") - respG, contentG = delete_global_group(self.global_group, - str(self.auth_token)) - respG, contentG = create_global_group(self.global_group, - str(self.auth_token)) - - url = '%sgroups' % (URL) - resp, content = h.request(url, "GET", body='{}', - headers={"Content-Type": "application/json", - "X-Auth-Token": self.auth_token}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(200, int(resp['status'])) - - def test_get_global_groups_xml(self): - h = httplib2.Http(".cache") - respG, contentG = create_global_group_xml(self.global_group, - str(self.auth_token)) - url = '%sgroups' % (URL) - resp, content = h.request(url, "GET", body='', - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(200, int(resp['status'])) - - def test_get_global_groups_unauthorized_token(self): - h = httplib2.Http(".cache") - respG, contentG = create_global_group(self.global_group, - str(self.auth_token)) - url = '%sgroups' % (URL) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='{}', - headers={"Content-Type": "application/json", - "X-Auth-Token": self.token}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(401, int(resp['status'])) - - def test_get_global_groups_unauthorized_token_xml(self): - h = httplib2.Http(".cache") - respG, contentG = create_global_group_xml(self.global_group, - str(self.auth_token)) - url = '%sgroups' % (URL) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='', - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(401, int(resp['status'])) - - def test_get_global_groups_exp_token(self): - h = httplib2.Http(".cache") - respG, contentG = create_global_group(self.global_group, - str(self.auth_token)) - url = '%sgroups' % (URL) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='{}', - headers={"Content-Type": "application/json", - "X-Auth-Token": self.exp_auth_token - }) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(resp['status'])) - - def test_get_global_groups_exp_token_xml(self): - h = httplib2.Http(".cache") - respG, contentG = create_global_group_xml(self.global_group, - str(self.auth_token)) - url = '%sgroups' % (URL) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='', - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.exp_auth_token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(resp['status'])) - - -class get_global_group_test(global_group_test): - - def test_get_global_group(self): - h = httplib2.Http(".cache") - respG, contentG = create_global_group(self.global_group, - str(self.auth_token)) - url = '%sgroups/%s' % (URL, self.global_group) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='{}', - headers={"Content-Type": "application/json", - "X-Auth-Token": self.auth_token}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(200, int(resp['status'])) - - def test_get_global_group_xml(self): - h = httplib2.Http(".cache") - respG, contentG = create_global_group_xml(self.global_group, - str(self.auth_token)) - url = '%sgroups/%s' % (URL, self.global_group) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='', - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(200, int(resp['status'])) - - def test_get_global_group_bad(self): - h = httplib2.Http(".cache") - respG, contentG = create_global_group(self.global_group, - str(self.auth_token)) - url = '%sgroups/%s' % (URL, 'global_group_bad') - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='', - headers={"Content-Type": "application/json", - "X-Auth-Token": self.auth_token}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(404, int(resp['status'])) - - def test_get_global_group_bad_xml(self): - h = httplib2.Http(".cache") - respG, contentG = create_global_group_xml(self.global_group, - str(self.auth_token)) - url = '%sgroups/%s' % (URL , 'global_group_bad') - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='', - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(404, int(resp['status'])) - - - -class update_global_groups_test(global_group_test): - - def test_update_global_group(self): - h = httplib2.Http(".cache") - respG, contentG = create_global_group(self.global_group, - str(self.auth_token)) - url = '%sgroups/%s' % (URL, self.global_group) - resp, content = h.request(url, "PUT", body='{"group":{\ - "id" : "%s","description" :\ - "A New description of the group..."}}' % self.global_group, - headers={"Content-Type": "application/json", - "X-Auth-Token": self.auth_token}) - body = json.loads(content) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(200, int(resp['status'])) - self.assertEqual(self.global_group, body['group']['id']) - self.assertEqual('A New description of the group...', - str(body['group']['description'])) - - def test_update_global_group_xml(self): - h = httplib2.Http(".cache") - respG, contentG = create_global_group(self.global_group, - str(self.auth_token)) - - url = '%sgroups/%s' % (URL, self.global_group) - data = u' \ - A NEW description... \ - ' % (self.global_group) - #test for Content-Type = application/json - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - - body = etree.fromstring(content) - desc = body.find("{http://docs.openstack.org/idm/api/v1.0}description") - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(200, int(resp['status'])) - self.assertEqual(str(self.global_group), str(body.get('id'))) - self.assertEqual('A NEW description...', desc.text) - - def test_update_global_group_bad(self): - h = httplib2.Http(".cache") - respG, contentG = create_global_group(self.global_group, - str(self.auth_token)) - url = '%sgroups/%s' % (URL, self.global_group) - data = '{"group": { "description_bad": "A NEW description...", \ - "id":"%s" }}'\ - % (self.global_group) - #test for Content-Type = application/json - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/json", - "X-Auth-Token": self.auth_token}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(400, int(resp['status'])) - - def test_update_global_group_bad_xml(self): - h = httplib2.Http(".cache") - respG, contentG = create_global_group_xml(self.global_group, - str(self.auth_token)) - url = '%sgroups/%s' % (URL, self.global_group) - data = ' \ - A NEW description... \ - ' % (self.global_group) - #test for Content-Type = application/json - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - - resp, content = delete_tenant('test_tenant', str(self.auth_token)) - resp, content = create_tenant('test_tenant', str(self.auth_token)) - - respG, contentG = delete_tenant_group('test_tenant_group', \ - 'test_tenant', str(self.auth_token)) - respG, contentG = create_tenant_group('test_tenant_group', \ - 'test_tenant', str(self.auth_token)) - - self.tenant = 'test_tenant' - self.tenant_group = 'test_tenant_group' - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - - if int(respG['status']) not in (200, 201): - self.fail('Failed due to %d' % int(respG['status'])) - - def test_tenant_group_create_xml(self): - resp, content = delete_tenant_xml('test_tenant', str(self.auth_token)) - resp, content = create_tenant_xml('test_tenant', str(self.auth_token)) - respG, contentG = delete_tenant_group_xml('test_tenant_group', \ - "test_tenant", str(self.auth_token)) - respG, contentG = create_tenant_group_xml('test_tenant_group', \ - "test_tenant", str(self.auth_token)) - - self.tenant = 'test_tenant' - self.tenant_group = 'test_tenant_group' - content = etree.fromstring(content) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - - if int(respG['status']) not in (200, 201): - - self.fail('Failed due to %d' % int(respG['status'])) - - def test_tenant_group_create_again(self): - - resp, content = create_tenant("test_tenant", str(self.auth_token)) - - respG, contentG = create_tenant_group('test_tenant_group', \ - "test_tenant", str(self.auth_token)) - respG, contentG = create_tenant_group('test_tenant_group', \ - "test_tenant", str(self.auth_token)) - - if int(respG['status']) == 200: - self.tenant = content['tenant']['id'] - self.tenant_group = contentG['group']['id'] - if int(respG['status']) == 500: - self.fail('IDM fault') - elif int(respG['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(409, int(respG['status'])) - if int(respG['status']) == 200: - self.tenant = content['tenant']['id'] - self.tenant_group = contentG['group']['id'] - - def test_tenant_group_create_again_xml(self): - - resp, content = create_tenant_xml("test_tenant", str(self.auth_token)) - - respG, contentG = create_tenant_group_xml('test_tenant_group', \ - "test_tenant", str(self.auth_token)) - respG, contentG = create_tenant_group_xml('test_tenant_group', \ - "test_tenant", str(self.auth_token)) - - content = etree.fromstring(content) - contentG = etree.fromstring(contentG) - if int(respG['status']) == 200: - self.tenant = content.get("id") - self.tenant_group = contentG.get("id") - - if int(respG['status']) == 500: - self.fail('IDM fault') - elif int(respG['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(409, int(respG['status'])) - if int(respG['status']) == 200: - self.tenant = content.get("id") - self.tenant_group = contentG.get("id") - - def test_tenant_group_create_forbidden_token(self): - h = httplib2.Http(".cache") - resp, content = create_tenant("test_tenant", str(self.auth_token)) - respG, contentG = create_tenant_group_xml('test_tenant_group', \ - "test_tenant", str(self.auth_token)) - if int(resp['status']) == 200: - self.tenant = content['tenant']['id'] - - if int(respG['status']) == 200: - self.tenant_group = respG['group']['id'] - - url = '%stenant/%s/groups' % (URL, self.tenant) - body = {"group": {"id": self.tenant_group, - "description": "A description ..." - }} - resp, content = h.request(url, "POST", body=json.dumps(body), - headers={"Content-Type": "application/json", - "X-Auth-Token": self.token}) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(resp['status'])) - - def test_tenant_group_create_forbidden_token_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant("test_tenant", str(self.auth_token)) - if int(resp['status']) == 200: - self.tenant = content['tenant']['id'] - - url = '%stenant/%s/groups' % (URL, self.tenant) - body = ' \ - \ - A description... \ - ' % self.tenant_group - resp, content = h.request(url, "POST", body=body,\ - headers={"Content-Type": "application/xml", \ - "X-Auth-Token": self.token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - - self.assertEqual(403, int(resp['status'])) - - def test_update_global_group_not_found(self): - h = httplib2.Http(".cache") - respG, contentG = create_global_group(self.global_group, - str(self.auth_token)) - url = '%sgroups/NonexistingID' % (URL) - data = '{"group": { "description": "A NEW description...", \ - "id":"NonexistingID"}}' - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body=data, - headers={"Content-Type": "application/json", - "X-Auth-Token": self.auth_token}) - self.assertEqual(404, int(resp['status'])) - - def test_tenant_group_create_expired_token(self): - h = httplib2.Http(".cache") - resp, content = create_tenant("test_tenant", str(self.auth_token)) - if int(resp['status']) == 200: - self.tenant = content['tenant']['id'] - - url = '%stenant/%s/groups' % (URL, self.tenant) - body = {"group": {"id": self.tenant_group, - "description": "A description ..." - }} - resp, content = h.request(url, "POST", body=json.dumps(body), - headers={"Content-Type": "application/json", - "X-Auth-Token": self.exp_auth_token}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - - self.assertEqual(403, int(resp['status'])) - - def test_update_global_group_not_found_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant_xml(self.globaltenant, - str(self.auth_token)) - url = '%sgroups/NonexistingID' % (URL) - data = ' \ - \ - A NEW description... \ - ' - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body=data, - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(resp['status'])) - - -class delete_global_group_test(global_group_test): - - def test_delete_global_group_not_found(self): - resp, content = delete_global_group("test_global_group_1", - str(self.auth_token)) - self.assertEqual(404, int(resp['status'])) - - def test_delete_global_group_not_found_xml(self): - resp, content = delete_global_group_xml("test_global_group_1", - str(self.auth_token)) - self.assertEqual(404, int(resp['status'])) - - def test_delete_global_group(self): - resp, content = create_tenant(self.globaltenant, str(self.auth_token)) - respG, contentG = create_tenant_group('test_global_group_delete', - self.globaltenant, - str(self.auth_token)) - respG, contentG = delete_global_group('test_global_group_delete', - str(self.auth_token)) - resp, content = delete_tenant(self.globaltenant, - str(self.auth_token)) - self.assertEqual(204, int(respG['status'])) - - def test_delete_global_group_xml(self): - resp, content = create_tenant_xml(self.globaltenant, - str(self.auth_token)) - respG, contentG = create_tenant_group_xml('test_global_group_delete', - self.globaltenant, - str(self.auth_token)) - respG, contentG = delete_global_group_xml('test_global_group_delete', - str(self.auth_token)) - resp, content = delete_tenant_xml(self.globaltenant, - str(self.auth_token)) - self.assertEqual(204, int(resp['status'])) - - def test_tenant_group_create_expired_token_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant_xml("test_tenant", str(self.auth_token)) - content = etree.fromstring(content) - if int(resp['status']) == 200: - self.tenant = content.get('id') - - url = '%stenant/%s/groups' % (URL, self.tenant) - body = ' \ - \ - A description... \ - ' % self.tenant - - resp, content = h.request(url, "POST", body=body,\ - headers={"Content-Type": "application/xml", \ - "X-Auth-Token": self.exp_auth_token, - "ACCEPT": "application/xml"}) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(401, int(resp['status'])) - - def test_tenant_group_create_missing_token(self): - h = httplib2.Http(".cache") - resp, content = create_tenant("test_tenant", str(self.auth_token)) - if int(resp['status']) == 200: - self.tenant = content['tenant']['id'] - - url = '%stenant/%s/groups' % (URL, self.tenant) - body = {"group": {"id": self.tenant_group, - "description": "A description ..."}} - resp, content = h.request(url, "POST", body=json.dumps(body), - headers={"Content-Type": "application/json"}) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(401, int(resp['status'])) - - def test_tenant_group_create_missing_token_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant_xml("test_tenant", str(self.auth_token)) - content = etree.fromstring(content) - if int(resp['status']) == 200: - self.tenant = content.get('id') - - url = '%stenant/%s/groups' % (URL, self.tenant) - - body = ' \ - \ - A description... \ - ' % self.tenant_group - resp, content = h.request(url, "POST", body=body,\ - headers={"Content-Type": "application/xml", - "ACCEPT": "application/xml"}) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(401, int(resp['status'])) - - def test_tenant_group_create_disabled_token(self): - h = httplib2.Http(".cache") - resp, content = create_tenant("test_tenant", str(self.auth_token)) - if int(resp['status']) == 200: - self.tenant = content['tenant']['id'] - - url = '%stenant/%s/groups' % (URL, self.tenant) - body = '{"group": { "id": "%s", \ - "description": "A description ..." } }' % self.tenant_group - resp, content = h.request(url, "POST", body=body,\ - headers={"Content-Type": "application/json",\ - "X-Auth-Token": self.disabled_token}) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(resp['status'])) - - def test_tenant_group_create_disabled_token_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant_xml("test_tenant", str(self.auth_token)) - content = etree.fromstring(content) - if int(resp['status']) == 200: - self.tenant = content.get('id') - - url = '%stenant/%s/groups' % (URL, self.tenant) - body = ' \ - \ - A description... \ - ' % self.tenant_group - resp, content = h.request(url, "POST", body=body,\ - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.disabled_token, - "ACCEPT": "application/xml"}) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(resp['status'])) - - def test_tenant_group_create_invalid_token(self): - h = httplib2.Http(".cache") - resp, content = create_tenant("test_tenant", str(self.auth_token)) - if int(resp['status']) == 200: - self.tenant = content['tenant']['id'] - - url = '%stenant/%s/groups' % (URL, self.tenant) - body = '{"group": { "id": "%s", \ - "description": "A description ..." } }' % self.tenant - resp, content = h.request(url, "POST", body=body,\ - headers={"Content-Type": "application/json",\ - "X-Auth-Token": 'nonexsitingtoken'}) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(401, int(resp['status'])) - - def test_tenant_group_create_invalid_token_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant_xml("test_tenant", str(self.auth_token)) - content = etree.fromstring(content) - if int(resp['status']) == 200: - self.tenant = content.get('id') - - url = '%stenant/%s/groups' % (URL, self.tenant) - body = ' \ - \ - A description... \ - ' % self.tenant_group - resp, content = h.request(url, "POST", body=body,\ - headers={"Content-Type": "application/xml",\ - "X-Auth-Token": 'nonexsitingtoken', - "ACCEPT": "application/xml"}) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(401, int(resp['status'])) - - -class get_tenant_groups_test(tenant_group_test): - - def test_get_tenant_groups(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - - respG, contentG = create_tenant_group(self.tenant_group,\ - self.tenant, str(self.auth_token)) - - url = '%stenant/%s/groups' % (URL,self.tenant) - - resp, content = h.request(url, "GET", body='{}',\ - headers={"Content-Type": "application/json",\ - "X-Auth-Token": self.auth_token}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(200, int(resp['status'])) - - def test_get_tenant_groups_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - - respG, contentG = create_tenant_group_xml(self.tenant_group,\ - self.tenant, str(self.auth_token)) - - url = '%stenant/%s/groups' % (URL,self.tenant) - - resp, content = h.request(url, "GET", body='',\ - headers={"Content-Type": "application/xml",\ - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(200, int(resp['status'])) - - def test_get_tenant_groups_forbidden_token(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - - respG, contentG = create_tenant_group(self.tenant_group,\ - self.tenant, str(self.auth_token)) - url = '%stenant/%s/groups' % (URL,self.tenant) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='{}',\ - headers={"Content-Type": "application/json",\ - "X-Auth-Token": self.token}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(resp['status'])) - - def test_get_tenant_groups_forbidden_token_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group,\ - self.tenant, str(self.auth_token)) - url = '%stenant/%s/groups' % (URL,self.tenant) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='',\ - headers={"Content-Type": "application/xml",\ - "X-Auth-Token": self.token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(resp['status'])) - - def test_get_tenant_groups_exp_token(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group,\ - self.tenant, str(self.auth_token)) - url = '%stenant/%s/groups' % (URL,self.tenant) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='{}',\ - headers={"Content-Type": "application/json",\ - "X-Auth-Token": self.exp_auth_token}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(401, int(resp['status'])) - - def test_get_tenant_groups_exp_token_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group,\ - self.tenant, str(self.auth_token)) - url = '%stenant/%s/groups' % (URL,self.tenant) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='',\ - headers={"Content-Type": "application/xml",\ - "X-Auth-Token": self.exp_auth_token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(401, int(resp['status'])) - - -class get_tenant_group_test(tenant_group_test): - - def test_get_tenant_group(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group,\ - self.tenant, str(self.auth_token)) - url = '%stenant/%s/groups/%s' % (URL,self.tenant,self.tenant_group) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='{}',\ - headers={"Content-Type": "application/json",\ - "X-Auth-Token": self.auth_token}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(200, int(resp['status'])) - - def test_get_tenant_group_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group_xml(self.tenant_group,\ - self.tenant, str(self.auth_token)) - url = '%stenant/%s/groups/%s' % (URL,self.tenant,self.tenant_group) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='',\ - headers={"Content-Type": "application/xml",\ - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(200, int(resp['status'])) - - def test_get_tenant_group_bad(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group,\ - self.tenant, str(self.auth_token)) - url = '%stenant/%s/groups/%s' % (URL,'tenant_bad',self.tenant_group) - - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='{',\ - headers={"Content-Type": "application/json",\ - "X-Auth-Token": self.auth_token}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(404, int(resp['status'])) - - def test_get_tenant_group_bad_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group,\ - self.tenant, str(self.auth_token)) - url = '%stenant/%s/groups/%s' % (URL,'tenant_bad',self.tenant_group) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='{',\ - headers={"Content-Type": "application/xml",\ - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(404, int(resp['status'])) - - def test_get_tenant_group_not_found(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group,\ - self.tenant, str(self.auth_token)) - url = '%stenant/%s/groups/%s' % (URL,self.tenant,'nonexistinggroup') - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='{}',\ - headers={"Content-Type": "application/json",\ - "X-Auth-Token": self.auth_token}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(404, int(resp['status'])) - - def test_get_tenant_group_not_found_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group,\ - self.tenant, str(self.auth_token)) - url = '%stenant/%s/groups/%s' % (URL,self.tenant,'nonexistinggroup') - - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='',\ - headers={"Content-Type": "application/xml",\ - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(404, int(resp['status'])) - - -class update_tenant_group_test(tenant_group_test): - - def test_update_tenant_group(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group,\ - self.tenant, str(self.auth_token)) - url = '%stenant/%s/groups/%s' % (URL,self.tenant,self.tenant_group) - - data = '{"group": { "id":"%s","description": "A NEW description..." ,\ - "tenantId":"%s" }}' % (self.tenant_group,self.tenant) - #test for Content-Type = application/json - resp, content = h.request(url, "PUT", body=data,\ - headers={"Content-Type": "application/json",\ - "X-Auth-Token": self.auth_token}) - body = json.loads(content) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(200, int(resp['status'])) - self.assertEqual(self.tenant_group, body['group']['id']) - self.assertEqual('A NEW description...', \ - body['group']['description']) - - def test_update_tenant_group_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant_xml(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group,\ - self.tenant, str(self.auth_token)) - url = '%stenant/%s/groups/%s' % (URL, self.tenant ,self.tenant_group) - data = ' \ - \ - A NEW description... \ - ' % (self.tenant, self.tenant_group) - - #test for Content-Type = application/json - resp, content = h.request(url, "PUT", body=data,\ - headers={"Content-Type": "application/xml",\ - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - - body = etree.fromstring(content) - desc = body.find("{http://docs.openstack.org/idm/api/v1.0}description") - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(200, int(resp['status'])) - self.assertEqual(str(self.tenant_group), str(body.get('id'))) - self.assertEqual('A NEW description...', \ - desc.text) - - def test_update_tenant_group_bad(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group,\ - self.tenant, str(self.auth_token)) - url = '%stenant/%s/groups/%s' % (URL,self.tenant,self.tenant_group) - data = '{"group": { "description_bad": "A NEW description...",\ - "id":"%s","tenantId":"%s" }}' % (self.tenant_group,self.tenant) - #test for Content-Type = application/json - - resp, content = h.request(url, "PUT", body=data,\ - headers={"Content-Type": "application/json",\ - "X-Auth-Token": self.auth_token}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(400, int(resp['status'])) - - def test_update_tenant_group_bad_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group,\ - self.tenant, str(self.auth_token)) - url = '%stenant/%s/groups/%s' % (URL,self.tenant,self.tenant_group) - data = ' \ - \ - A NEW description... \ - ' % (self.tenant, self.tenant_group) - #test for Content-Type = application/json - resp, content = h.request(url, "PUT", body=data,\ - headers={"Content-Type": "application/xml",\ - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(400, int(resp['status'])) - - def test_update_tenant_group_not_found(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group,\ - self.tenant, str(self.auth_token)) - url = '%stenant/%s/groups/NonexistingID' % (URL, self.tenant) - - data = '{"group": { "description": "A NEW description...",\ - "id":"NonexistingID", "tenantId"="test_tenant" }}' - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body=data,\ - headers={"Content-Type": "application/json",\ - "X-Auth-Token": self.auth_token}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(404, int(resp['status'])) - - def test_update_tenant_group_not_found_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - url = '%stenant/%s/groups/NonexistingID' % (URL, self.tenant) - data = ' \ - \ - A NEW description... \ - ' - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body=data,\ - headers={"Content-Type": "application/xml",\ - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(404, int(resp['status'])) - - -class delete_tenant_group_test(tenant_test): - - def test_delete_tenant_group_not_found(self): - #resp,content=create_tenant("test_tenant_delete", str(self.auth_token)) - resp, content = delete_tenant_group("test_tenant_delete111", \ - "test_tenant", str(self.auth_token)) - self.assertEqual(404, int(resp['status'])) - - def test_delete_tenant_group_not_found_xml(self): - #resp,content=create_tenant("test_tenant_delete", str(self.auth_token)) - resp, content = delete_tenant_group_xml("test_tenant_delete111", \ - "test_tenant", str(self.auth_token)) - self.assertEqual(404, int(resp['status'])) - - def test_delete_tenant_group(self): - resp, content = create_tenant("test_tenant_delete", \ - str(self.auth_token)) - respG, contentG = create_tenant_group('test_tenant_group_delete', \ - "test_tenant_delete", str(self.auth_token)) - respG, contentG = delete_tenant_group('test_tenant_group_delete', \ - "test_tenant_delete", str(self.auth_token)) - resp, content = delete_tenant("test_tenant_delete", \ - str(self.auth_token)) - self.assertEqual(204, int(respG['status'])) - - def test_delete_tenant_group_xml(self): - resp, content = create_tenant_xml("test_tenant_delete", \ - str(self.auth_token)) - respG, contentG = create_tenant_group_xml('test_tenant_group_delete', \ - "test_tenant_delete", str(self.auth_token)) - respG, contentG = delete_tenant_group_xml('test_tenant_group_delete', \ - "test_tenant_delete", str(self.auth_token)) - resp, content = delete_tenant_xml("test_tenant_delete", \ - str(self.auth_token)) - self.assertEqual(204, int(respG['status'])) -"""""" -class user_test(unittest.TestCase): - - def setUp(self): - self.token = get_token('joeuser', 'secrete', 'token') - self.tenant = get_tenant() - self.userid = get_userid() - self.password = get_password() - self.email = get_email() - - self.user = get_user() - self.userdisabled = get_userdisabled() - self.auth_token = get_auth_token() - self.exp_auth_token = get_exp_auth_token() - self.disabled_token = get_disabled_token() - self.missing_token = get_none_token() - self.invalid_token = get_non_existing_token() - - def tearDown(self): - - resp, content = delete_user_json(self.tenant,\ - self.userid, str(self.auth_token)) - - #resp, content = delete_user_xml(self.tenant,\ - #self.userid, str(self.auth_token)) - -class create_user_test(user_test): - - def test_a_user_create_json(self): - resp, content = create_user_json('1234', 'test_user11',\ - str(self.auth_token)) - resp_val = int(resp['status']) - handle_user_resp(self,content, resp_val,content_type(resp)) - self.assertEqual(201,resp_val) - - def test_a_user_create_xml(self): - resp, content = delete_user_xml('1234', 'test_user11', \ - str(self.auth_token)) - resp, content = create_user_xml('1234', 'test_user11', \ - str(self.auth_token)) - resp_val = int(resp['status']) - handle_user_resp(self,content, resp_val,content_type(resp)) - print 'here' - print resp - print content - self.assertEqual(201,resp_val) - self.assertEqual('application/xml', content_type(resp)) - - def test_a_user_create_json_disabled_tenant(self): - resp, content = create_user_json('0000', 'test_user11',\ - str(self.auth_token)) - resp_val = int(resp['status']) - handle_user_resp(self,content, resp_val,content_type(resp)) - self.assertEqual(403,resp_val) - - def test_a_user_create_json_disabled_tenant_xml(self): - resp, content = create_user_xml('0000', 'test_user11',\ - str(self.auth_token)) - resp_val = int(resp['status']) - handle_user_resp(self,content, resp_val,content_type(resp)) - self.assertEqual(403,resp_val) - self.assertEqual('application/xml', content_type(resp)) - - def test_a_user_again_json(self): - resp, content = create_user_json("1234", "test_user11", \ - str(self.auth_token)) - resp_val = int(resp['status']) - handle_user_resp(self,content, resp_val,content_type(resp)) - resp, content = create_user_json("1234", "test_user11", \ - str(self.auth_token)) - self.assertEqual(409, int(resp['status'])) - - def test_a_user_again_xml(self): - resp, content = create_user_xml("1234", "test_user11", \ - str(self.auth_token)) - resp, content = create_user_xml("1234", "test_user11", \ - str(self.auth_token)) - content = etree.fromstring(content) - resp_val = int(resp['status']) - handle_user_resp(self,content, resp_val,content_type(resp)) - self.assertEqual(409, int(resp['status'])) - self.assertEqual('application/xml', content_type(resp)) - - def test_a_user_create_expired_token(self): - resp, content = create_user_json('1234', 'test_user11', \ - str(self.exp_auth_token)) - resp_val = int(resp['status']) - handle_user_resp(self, content,resp_val,content_type(resp)) - self.assertEqual(401, int(resp['status'])) - - def test_a_user_create_expired_token_xml(self): - resp, content = create_user_xml('1234', 'test_user11', \ - str(self.exp_auth_token)) - resp_val = int(resp['status']) - handle_user_resp(self, content,resp_val,content_type(resp)) - self.assertEqual(401, int(resp['status'])) - self.assertEqual('application/xml', content_type(resp)) - - def test_a_user_create_disabled_token(self): - resp, content = create_user_json('1234', 'test_user11', \ - str(self.disabled_token)) - resp_val = int(resp['status']) - handle_user_resp(self, content, resp_val,content_type(resp)) - self.assertEqual(403, int(resp['status'])) - - def test_a_user_create_disabled_token_xml(self): - resp, content = create_user_xml('1234', 'test_user11', \ - str(self.disabled_token)) - resp_val = int(resp['status']) - handle_user_resp(self, content, resp_val,content_type(resp)) - self.assertEqual(403, int(resp['status'])) - self.assertEqual('application/xml', content_type(resp)) - - def test_a_user_create_missing_token(self): - resp, content = create_user_json('1234', 'test_user11', \ - str(self.missing_token)) - resp_val = int(resp['status']) - handle_user_resp(self, content, resp_val,content_type(resp)) - self.assertEqual(401, int(resp['status'])) - - def test_a_user_create_missing_token_xml(self): - resp, content = create_user_xml('1234', 'test_user11', \ - str(self.missing_token)) - resp_val = int(resp['status']) - handle_user_resp(self, content, resp_val,content_type(resp)) - self.assertEqual(401, int(resp['status'])) - self.assertEqual('application/xml', content_type(resp)) - - def test_a_user_create_invalid_token(self): - resp, content = create_user_json('1234', 'test_user11', \ - str(self.invalid_token)) - resp_val = int(resp['status']) - handle_user_resp(self, content,resp_val,content_type(resp)) - self.assertEqual(401, int(resp['status'])) - - def test_a_user_create_invalid_token_xml(self): - resp, content = create_user_xml('1234', 'test_user11', \ - str(self.invalid_token)) - resp_val = int(resp['status']) - handle_user_resp(self, content,resp_val,content_type(resp)) - self.assertEqual(401, int(resp['status'])) - self.assertEqual('application/xml', content_type(resp)) - - -class get_user_test(user_test): - - def test_a_user_get_json(self): - h = httplib2.Http(".cache") - resp, content = create_user_json(self.user,self.tenant,str(self.auth_token)) - url = '%stenants/%s/users/%s' % (URL,self.tenant,self.user) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='{}',\ - headers={"Content-Type": "application/json",\ - "X-Auth-Token": self.auth_token}) - resp_val = int(resp['status']) - handle_user_resp(self,content, resp_val,content_type(resp)) - self.assertEqual(200,resp_val) - - def test_a_user_get_xml(self): - h = httplib2.Http(".cache") - resp, content = create_user_xml(self.user,self.tenant,str(self.auth_token)) - url = '%stenants/%s/users/%s' % (URL,self.tenant,self.user) - resp, content = h.request(url, "GET", body='{}',\ - headers={"Content-Type": "application/xml",\ - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - resp_val = int(resp['status']) - handle_user_resp(self,content, resp_val,content_type(resp)) - self.assertEqual(200,resp_val) - self.assertEqual('application/xml', content_type(resp)) - - def test_a_user_get_expired_token(self): - h = httplib2.Http(".cache") - resp, content = create_user_json(self.user,self.tenant,str(self.auth_token)) - url = '%stenants/%s/users/%s' % (URL,self.tenant,self.user) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='{}',\ - headers={"Content-Type": "application/json",\ - "X-Auth-Token": self.exp_auth_token}) - resp_val = int(resp['status']) - handle_user_resp(self,content, resp_val,content_type(resp)) - self.assertEqual(401,resp_val) - - def test_a_user_get_expired_token_xml(self): - h = httplib2.Http(".cache") - resp, content = create_user_json(self.user,self.tenant,str(self.auth_token)) - url = '%stenants/%s/users/%s' % (URL,self.tenant,self.user) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='',\ - headers={"Content-Type": "application/xml",\ - "X-Auth-Token": self.exp_auth_token, - "ACCEPT": "application/xml"}) - resp_val = int(resp['status']) - handle_user_resp(self,content, resp_val,content_type(resp)) - self.assertEqual(401,resp_val) - self.assertEqual('application/xml', content_type(resp)) - - def test_a_user_get_disabled_token(self): - h = httplib2.Http(".cache") - resp, content = create_user_json(self.user,self.tenant,str(self.auth_token)) - url = '%stenants/%s/users/%s' % (URL,self.tenant,self.user) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='{}',\ - headers={"Content-Type": "application/json",\ - "X-Auth-Token": self.disabled_token}) - resp_val = int(resp['status']) - handle_user_resp(self,content, resp_val,content_type(resp)) - self.assertEqual(403,resp_val) - - def test_a_user_get_disabled_token_xml(self): - h = httplib2.Http(".cache") - resp, content = create_user_json(self.user,self.tenant,str(self.auth_token)) - url = '%stenants/%s/users/%s' % (URL,self.tenant,self.user) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='',\ - headers={"Content-Type": "application/xml",\ - "X-Auth-Token": self.disabled_token, - "ACCEPT": "application/xml"}) - resp_val = int(resp['status']) - handle_user_resp(self,content, resp_val,content_type(resp)) - self.assertEqual(403,resp_val) - self.assertEqual('application/xml', content_type(resp)) - - def test_a_user_get_missing_token(self): - h = httplib2.Http(".cache") - resp, content = create_user_json(self.user,self.tenant,str(self.auth_token)) - url = '%stenants/%s/users/%s' % (URL,self.tenant,self.user) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='{}',\ - headers={"Content-Type": "application/json",\ - "X-Auth-Token": self.missing_token}) - resp_val = int(resp['status']) - handle_user_resp(self,content, resp_val,content_type(resp)) - self.assertEqual(401,resp_val) - - def test_a_user_get_missing_token_xml(self): - h = httplib2.Http(".cache") - resp, content = create_user_json(self.user,self.tenant,str(self.auth_token)) - url = '%stenants/%s/users/%s' % (URL,self.tenant,self.user) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='',\ - headers={"Content-Type": "application/xml",\ - "X-Auth-Token": self.missing_token, - "ACCEPT": "application/xml"}) - resp_val = int(resp['status']) - handle_user_resp(self,content, resp_val,content_type(resp)) - self.assertEqual(401,resp_val) - self.assertEqual('application/xml', content_type(resp)) - - def test_a_user_get_invalid_token(self): - h = httplib2.Http(".cache") - resp, content = create_user_json(self.user,self.tenant,str(self.auth_token)) - url = '%stenants/%s/users/%s' % (URL,self.tenant,self.user) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='{}',\ - headers={"Content-Type": "application/json",\ - "X-Auth-Token": self.invalid_token}) - resp_val = int(resp['status']) - handle_user_resp(self,content, resp_val,content_type(resp)) - self.assertEqual(401,resp_val) - - def test_a_user_get_invalid_token_xml(self): - h = httplib2.Http(".cache") - resp, content = create_user_json(self.user,self.tenant,str(self.auth_token)) - url = '%stenants/%s/users/%s' % (URL,self.tenant,self.user) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='',\ - headers={"Content-Type": "application/xml",\ - "X-Auth-Token": self.invalid_token, - "ACCEPT": "application/xml"}) - resp_val = int(resp['status']) - handle_user_resp(self,content, resp_val,content_type(resp)) - self.assertEqual(401,resp_val) - self.assertEqual('application/xml', content_type(resp)) - - def test_a_user_get_disabled_user(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s' % (URL,self.tenant,self.userdisabled) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='{}',\ - headers={"Content-Type": "application/json",\ - "X-Auth-Token": self.auth_token}) - resp_val = int(resp['status']) - print resp,content - handle_user_resp(self,content, resp_val,content_type(resp)) - self.assertEqual(403,resp_val) - - def test_a_user_get_disabled_user_xml(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s' % (URL,self.tenant,self.userdisabled) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='',\ - headers={"Content-Type": "application/xml",\ - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - resp_val = int(resp['status']) - handle_user_resp(self,content, resp_val,content_type(resp)) - self.assertEqual(403,resp_val) - self.assertEqual('application/xml', content_type(resp)) - - def test_a_user_get_disabled_tenant(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s' % (URL,'0000',self.userdisabled) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='{}',\ - headers={"Content-Type": "application/json",\ - "X-Auth-Token": self.auth_token}) - resp_val = int(resp['status']) - handle_user_resp(self,content, resp_val,content_type(resp)) - self.assertEqual(403,resp_val) - - def test_a_user_get_disabled_tenant_xml(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s' % (URL,'0000',self.userdisabled) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='',\ - headers={"Content-Type": "application/xml",\ - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - resp_val = int(resp['status']) - handle_user_resp(self,content, resp_val,content_type(resp)) - self.assertEqual(403,resp_val) - self.assertEqual('application/xml', content_type(resp)) - - -class delete_user_test(user_test): - - def test_a_user_delete_json(self): - h = httplib2.Http(".cache") - resp, content = create_user_json(self.user,self.tenant,str(self.auth_token)) - url = '%stenants/%s/users/%s' % (URL,self.tenant,self.user) - #test for Content-Type = application/json - resp, content = h.request(url, "DELETE", body='{}',\ - headers={"Content-Type": "application/json",\ - "X-Auth-Token": self.auth_token}) - resp_val = int(resp['status']) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - self.assertEqual(204,resp_val) - - def test_a_user_delete_xml(self): - h = httplib2.Http(".cache") - resp, content = create_user_xml(self.user,self.tenant,str(self.auth_token)) - url = '%stenants/%s/users/%s' % (URL,self.tenant,self.user) - resp, content = h.request(url, "DELETE", body='{}',\ - headers={"Content-Type": "application/xml",\ - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - resp_val = int(resp['status']) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - self.assertEqual(204,resp_val) - - def test_a_user_delete_expired_token(self): - h = httplib2.Http(".cache") - resp, content = create_user_json(self.user,self.tenant,str(self.auth_token)) - url = '%stenants/%s/users/%s' % (URL,self.tenant,self.user) - #test for Content-Type = application/json - resp, content = h.request(url, "DELETE", body='{}',\ - headers={"Content-Type": "application/json",\ - "X-Auth-Token": self.exp_auth_token}) - resp_val = int(resp['status']) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - self.assertEqual(401,resp_val) - - def test_a_user_delete_expired_token_xml(self): - h = httplib2.Http(".cache") - resp, content = create_user_json(self.user,self.tenant,str(self.auth_token)) - url = '%stenants/%s/users/%s' % (URL,self.tenant,self.user) - #test for Content-Type = application/json - resp, content = h.request(url, "DELETE", body='',\ - headers={"Content-Type": "application/xml",\ - "X-Auth-Token": self.exp_auth_token, - "ACCEPT": "application/xml"}) - resp_val = int(resp['status']) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - self.assertEqual(401,resp_val) - self.assertEqual('application/xml', content_type(resp)) - - def test_a_user_delete_missing_token(self): - h = httplib2.Http(".cache") - resp, content = create_user_json(self.user,self.tenant,str(self.auth_token)) - url = '%stenants/%s/users/%s' % (URL,self.tenant,self.user) - #test for Content-Type = application/json - resp, content = h.request(url, "DELETE", body='{}',\ - headers={"Content-Type": "application/json",\ - "X-Auth-Token": self.missing_token}) - resp_val = int(resp['status']) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - self.assertEqual(401,resp_val) - - def test_a_user_delete_missing_token_xml(self): - h = httplib2.Http(".cache") - resp, content = create_user_json(self.user,self.tenant,str(self.auth_token)) - url = '%stenants/%s/users/%s' % (URL,self.tenant,self.user) - #test for Content-Type = application/json - resp, content = h.request(url, "DELETE", body='',\ - headers={"Content-Type": "application/xml",\ - "X-Auth-Token": self.missing_token, - "ACCEPT": "application/xml"}) - resp_val = int(resp['status']) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - self.assertEqual(401,resp_val) - self.assertEqual('application/xml', content_type(resp)) - - def test_a_user_delete_invalid_token(self): - h = httplib2.Http(".cache") - resp, content = create_user_json(self.user,self.tenant,str(self.auth_token)) - url = '%stenants/%s/users/%s' % (URL,self.tenant,self.user) - #test for Content-Type = application/json - resp, content = h.request(url, "DELETE", body='{}',\ - headers={"Content-Type": "application/json",\ - "X-Auth-Token": self.invalid_token}) - resp_val = int(resp['status']) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - self.assertEqual(401,resp_val) - - def test_a_user_delete_invalid_token_xml(self): - h = httplib2.Http(".cache") - resp, content = create_user_json(self.user,self.tenant,str(self.auth_token)) - url = '%stenants/%s/users/%s' % (URL,self.tenant,self.user) - #test for Content-Type = application/json - resp, content = h.request(url, "DELETE", body='',\ - headers={"Content-Type": "application/xml",\ - "X-Auth-Token": self.invalid_token, - "ACCEPT": "application/xml"}) - resp_val = int(resp['status']) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - self.assertEqual(401,resp_val) - self.assertEqual('application/xml', content_type(resp)) - - def test_a_user_delete_disabled_tenant(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s' % (URL,'0000',self.userdisabled) - #test for Content-Type = application/json - resp, content = h.request(url, "DELETE", body='{}',\ - headers={"Content-Type": "application/json",\ - "X-Auth-Token": self.auth_token}) - resp_val = int(resp['status']) - print resp,content - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - self.assertEqual(403,resp_val) - - def test_a_user_delete_disabled_tenant_xml(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s' % (URL,'0000',self.userdisabled) - #test for Content-Type = application/json - resp, content = h.request(url, "DELETE", body='',\ - headers={"Content-Type": "application/xml",\ - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - resp_val = int(resp['status']) - print resp,content - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - self.assertEqual(403,resp_val) - self.assertEqual('application/xml', content_type(resp)) - -class get_users_test(user_test): - - def test_users_get_json(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users' % (URL,self.tenant) - resp, content = h.request(url, "GET", body='{}',\ - headers={"Content-Type": "application/json",\ - "X-Auth-Token": self.auth_token}) - resp_val = int(resp['status']) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - self.assertEqual(200,resp_val) - - def test_users_get_xml(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users' % (URL,self.tenant) - resp, content = h.request(url, "GET", body='{}',\ - headers={"Content-Type": "application/xml",\ - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - resp_val = int(resp['status']) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - self.assertEqual(200,resp_val) - self.assertEqual('application/xml', content_type(resp)) - - def test_users_get_expired_token_json(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users' % (URL,self.tenant) - resp, content = h.request(url, "GET", body='{}',\ - headers={"Content-Type": "application/json",\ - "X-Auth-Token": self.exp_auth_token}) - resp_val = int(resp['status']) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - self.assertEqual(401,resp_val) - - def test_users_get_expired_token_xml(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users' % (URL,self.tenant) - resp, content = h.request(url, "GET", body='{}',\ - headers={"Content-Type": "application/xml",\ - "X-Auth-Token": self.exp_auth_token, - "ACCEPT": "application/xml"}) - resp_val = int(resp['status']) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - self.assertEqual(401,resp_val) - self.assertEqual('application/xml', content_type(resp)) - - def test_users_get_disabled_token_json(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users' % (URL,self.tenant) - resp, content = h.request(url, "GET", body='{}',\ - headers={"Content-Type": "application/json",\ - "X-Auth-Token": self.disabled_token}) - resp_val = int(resp['status']) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - self.assertEqual(403,resp_val) - - def test_users_get_disabled_token_xml(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users' % (URL,self.tenant) - resp, content = h.request(url, "GET", body='{}',\ - headers={"Content-Type": "application/xml",\ - "X-Auth-Token": self.disabled_token, - "ACCEPT": "application/xml"}) - resp_val = int(resp['status']) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - self.assertEqual(403,resp_val) - self.assertEqual('application/xml', content_type(resp)) - - def test_users_get_missing_token_json(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users' % (URL,self.tenant) - resp, content = h.request(url, "GET", body='{}',\ - headers={"Content-Type": "application/json",\ - "X-Auth-Token": self.missing_token}) - resp_val = int(resp['status']) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - self.assertEqual(401,resp_val) - - def test_users_get_missing_token_xml(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users' % (URL,self.tenant) - resp, content = h.request(url, "GET", body='{}',\ - headers={"Content-Type": "application/xml",\ - "X-Auth-Token": self.missing_token, - "ACCEPT": "application/xml"}) - resp_val = int(resp['status']) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - self.assertEqual(401,resp_val) - self.assertEqual('application/xml', content_type(resp)) - - def test_users_get_invalid_token_json(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users' % (URL,self.tenant) - resp, content = h.request(url, "GET", body='{}',\ - headers={"Content-Type": "application/json",\ - "X-Auth-Token": self.invalid_token}) - resp_val = int(resp['status']) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - self.assertEqual(401,resp_val) - - def test_users_get_invalid_token_xml(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users' % (URL,self.tenant) - resp, content = h.request(url, "GET", body='{}',\ - headers={"Content-Type": "application/xml",\ - "X-Auth-Token": self.invalid_token, - "ACCEPT": "application/xml"}) - resp_val = int(resp['status']) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - self.assertEqual(401,resp_val) - self.assertEqual('application/xml', content_type(resp)) - - def test_users_get_disabled_tenant_json(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users' % (URL,"0000") - resp, content = h.request(url, "GET", body='{}',\ - headers={"Content-Type": "application/json",\ - "X-Auth-Token": self.auth_token}) - resp_val = int(resp['status']) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - print resp,content - self.assertEqual(403,resp_val) - - def test_users_get_disabled_tenant_xml(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users' % (URL,"0000") - resp, content = h.request(url, "GET", body='{}',\ - headers={"Content-Type": "application/xml",\ - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - resp_val = int(resp['status']) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - self.assertEqual(403,resp_val) - self.assertEqual('application/xml', content_type(resp)) - -class get_users_group_test(user_test): - - def test_users_get_json(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s/groups' % (URL,self.tenant,self.user) - resp, content = h.request(url, "GET", body='{}',\ - headers={"Content-Type": "application/json",\ - "X-Auth-Token": self.auth_token}) - resp_val = int(resp['status']) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - self.assertEqual(200,resp_val) - - def test_users_get_xml(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s/groups' % (URL,self.tenant,self.user) - resp, content = h.request(url, "GET", body='{}',\ - headers={"Content-Type": "application/xml",\ - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - resp_val = int(resp['status']) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - self.assertEqual(200,resp_val) - self.assertEqual('application/xml', content_type(resp)) - - def test_users_get_expired_token_json(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s/groups' % (URL,self.tenant,self.user) - resp, content = h.request(url, "GET", body='{}',\ - headers={"Content-Type": "application/json",\ - "X-Auth-Token": self.exp_auth_token}) - resp_val = int(resp['status']) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - self.assertEqual(401,resp_val) - - def test_users_get_expired_token_xml(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s/groups' % (URL,self.tenant,self.user) - resp, content = h.request(url, "GET", body='{}',\ - headers={"Content-Type": "application/xml",\ - "X-Auth-Token": self.exp_auth_token, - "ACCEPT": "application/xml"}) - resp_val = int(resp['status']) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - self.assertEqual(401,resp_val) - self.assertEqual('application/xml', content_type(resp)) - - def test_users_get_disabled_token_json(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s/groups' % (URL,self.tenant,self.user) - resp, content = h.request(url, "GET", body='{}',\ - headers={"Content-Type": "application/json",\ - "X-Auth-Token": self.disabled_token}) - resp_val = int(resp['status']) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - self.assertEqual(403,resp_val) - - def test_users_get_disabled_token_xml(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s/groups' % (URL,self.tenant,self.user) - resp, content = h.request(url, "GET", body='{}',\ - headers={"Content-Type": "application/xml",\ - "X-Auth-Token": self.disabled_token, - "ACCEPT": "application/xml"}) - resp_val = int(resp['status']) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - self.assertEqual(403,resp_val) - self.assertEqual('application/xml', content_type(resp)) - - def test_users_get_missing_token_json(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s/groups' % (URL,self.tenant,self.user) - resp, content = h.request(url, "GET", body='{}',\ - headers={"Content-Type": "application/json",\ - "X-Auth-Token": self.missing_token}) - resp_val = int(resp['status']) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - self.assertEqual(401,resp_val) - - def test_users_get_missing_token_xml(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s/groups' % (URL,self.tenant,self.user) - resp, content = h.request(url, "GET", body='{}',\ - headers={"Content-Type": "application/xml",\ - "X-Auth-Token": self.missing_token, - "ACCEPT": "application/xml"}) - resp_val = int(resp['status']) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - self.assertEqual(401,resp_val) - self.assertEqual('application/xml', content_type(resp)) - - def test_users_get_invalid_token_json(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s/groups' % (URL,self.tenant,self.user) - resp, content = h.request(url, "GET", body='{}',\ - headers={"Content-Type": "application/json",\ - "X-Auth-Token": self.invalid_token}) - resp_val = int(resp['status']) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - self.assertEqual(401,resp_val) - - def test_users_get_invalid_token_xml(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s/groups' % (URL,self.tenant,self.user) - resp, content = h.request(url, "GET", body='{}',\ - headers={"Content-Type": "application/xml",\ - "X-Auth-Token": self.invalid_token, - "ACCEPT": "application/xml"}) - resp_val = int(resp['status']) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - self.assertEqual(401,resp_val) - self.assertEqual('application/xml', content_type(resp)) - - def test_users_get_disabled_tenant_json(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s/groups' % (URL,"0000",self.user) - resp, content = h.request(url, "GET", body='{}',\ - headers={"Content-Type": "application/json",\ - "X-Auth-Token": self.auth_token}) - resp_val = int(resp['status']) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - print resp,content - self.assertEqual(403,resp_val) - - def test_users_get_disabled_tenant_xml(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s/groups' % (URL,"0000",self.user) - resp, content = h.request(url, "GET", body='{}',\ - headers={"Content-Type": "application/xml",\ - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - resp_val = int(resp['status']) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - self.assertEqual(403,resp_val) - self.assertEqual('application/xml', content_type(resp)) - - - - -class update_user_test(user_test): - - def test_user_update_json(self): - h = httplib2.Http(".cache") - resp, content = create_user_json(self.tenant,self.user , \ - str(self.auth_token)) - print resp,content - url = '%stenants/%s/users/%s' % (URL,self.tenant,self.user) - print url - data = '{"user": { "email": "updatedjoeuser@rackspace.com"}}' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/json",\ - "X-Auth-Token": self.auth_token}) - resp_val = int(resp['status']) - print resp,content - content=json.loads(content) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - delete_user_json(self.tenant,self.user , \ - str(self.auth_token)) - self.assertEqual(200,resp_val) - self.assertEqual('updatedjoeuser@rackspace.com',content['user']['email']) - - def test_user_update_xml(self): - h = httplib2.Http(".cache") - resp, content = create_user_xml(self.tenant,self.user , \ - str(self.auth_token)) - print resp,content - url = '%stenants/%s/users/%s' % (URL,self.tenant,self.user) - print url - data = ' \ - ' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/xml",\ - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - resp_val = int(resp['status']) - print resp,content - content=etree.fromstring(content) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - delete_user_json(self.tenant,self.user , \ - str(self.auth_token)) - self.assertEqual(200,resp_val) - self.assertEqual('updatedjoeuser@rackspace.com',content.get("email")) - self.assertEqual('application/xml', content_type(resp)) - - def test_user_update_user_disabled_json(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s' % (URL,self.tenant,self.userdisabled) - print url - data = '{"user": { "email": "updatedjoeuser@rackspace.com"}}' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/json",\ - "X-Auth-Token": self.auth_token}) - resp_val = int(resp['status']) - print resp,content - content=json.loads(content) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - self.assertEqual(403,resp_val) - - def test_user_update_user_disabled_xml(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s' % (URL,self.tenant,self.userdisabled) - data = ' \ - ' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/xml",\ - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - resp_val = int(resp['status']) - print resp,content - content=etree.fromstring(content) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - self.assertEqual(403,resp_val) - self.assertEqual('application/xml', content_type(resp)) - - def test_user_update_email_conflict_json(self): - h = httplib2.Http(".cache") - resp, content = create_user_xml(self.tenant,self.user , \ - str(self.auth_token)) - url = '%stenants/%s/users/%s' % (URL,self.tenant,self.user) - print url - data = '{"user": { "email": "joe@rackspace.com"}}' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/json",\ - "X-Auth-Token": self.auth_token}) - resp_val = int(resp['status']) - print resp,content - content=json.loads(content) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - self.assertEqual(409,resp_val) - - def test_user_update_email_conflict_xml(self): - h = httplib2.Http(".cache") - resp, content = create_user_xml(self.tenant,self.user , \ - str(self.auth_token)) - url = '%stenants/%s/users/%s' % (URL,self.tenant,self.user) - data = ' \ - ' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/xml",\ - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - resp_val = int(resp['status']) - print resp,content - content=etree.fromstring(content) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - self.assertEqual(409,resp_val) - self.assertEqual('application/xml', content_type(resp)) - - def test_user_update_bad_request_json(self): - h = httplib2.Http(".cache") - resp, content = create_user_json(self.tenant,self.user , \ - str(self.auth_token)) - print resp,content - url = '%stenants/%s/users/%s' % (URL,self.tenant,self.user) - print url - data = '{"user_bad": { "bad": "updatedjoeuser@rackspace.com"}}' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/json",\ - "X-Auth-Token": self.auth_token}) - resp_val = int(resp['status']) - print resp,content - content=json.loads(content) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - delete_user_json(self.tenant,self.user , \ - str(self.auth_token)) - self.assertEqual(400,resp_val) - - def test_user_update_bad_request_xml(self): - h = httplib2.Http(".cache") - resp, content = create_user_xml(self.tenant,self.user , \ - str(self.auth_token)) - print resp,content - url = '%stenants/%s/users/%s' % (URL,self.tenant,self.user) - print url - data = ' \ - user xmlns="http://docs.openstack.org/idm/api/v1.0" \ - email="updatedjoeuser@rackspace.com" />' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/xml",\ - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - resp_val = int(resp['status']) - print resp,content - content=etree.fromstring(content) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - delete_user_json(self.tenant,self.user , \ - str(self.auth_token)) - self.assertEqual(400,resp_val) - self.assertEqual('application/xml', content_type(resp)) - - - def test_user_update_expired_token_json(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s' % (URL,self.tenant,self.user) - print url - data = '{"user": { "email": "updatedjoeuser@rackspace.com"}}' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/json",\ - "X-Auth-Token": self.exp_auth_token}) - resp_val = int(resp['status']) - print resp,content - content=json.loads(content) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - self.assertEqual(401,resp_val) - - def test_user_update_expired_token_xml(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s' % (URL,self.tenant,self.user) - data = ' \ - ' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/xml",\ - "X-Auth-Token": self.exp_auth_token, - "ACCEPT": "application/xml"}) - resp_val = int(resp['status']) - print resp,content - content=etree.fromstring(content) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - self.assertEqual(401,resp_val) - self.assertEqual('application/xml', content_type(resp)) - - def test_user_update_disabled_token_json(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s' % (URL,self.tenant,self.user) - print url - data = '{"user": { "email": "updatedjoeuser@rackspace.com"}}' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/json",\ - "X-Auth-Token": self.disabled_token}) - resp_val = int(resp['status']) - print resp,content - content=json.loads(content) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - self.assertEqual(403,resp_val) - - def test_user_update_disabled_token_xml(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s' % (URL,self.tenant,self.user) - data = ' \ - ' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/xml",\ - "X-Auth-Token": self.disabled_token, - "ACCEPT": "application/xml"}) - resp_val = int(resp['status']) - print resp,content - content=etree.fromstring(content) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - self.assertEqual(403,resp_val) - self.assertEqual('application/xml', content_type(resp)) - - def test_user_update_invalid_token_json(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s' % (URL,self.tenant,self.user) - print url - data = '{"user": { "email": "updatedjoeuser@rackspace.com"}}' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/json",\ - "X-Auth-Token": self.invalid_token}) - resp_val = int(resp['status']) - print resp,content - content=json.loads(content) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - self.assertEqual(401,resp_val) - - def test_user_update_invalid_token_xml(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s' % (URL,self.tenant,self.user) - data = ' \ - ' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/xml",\ - "X-Auth-Token": self.invalid_token, - "ACCEPT": "application/xml"}) - resp_val = int(resp['status']) - print resp,content - content=etree.fromstring(content) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - self.assertEqual(401,resp_val) - self.assertEqual('application/xml', content_type(resp)) - - def test_user_update_missing_token_json(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s' % (URL,self.tenant,self.user) - print url - data = '{"user": { "email": "updatedjoeuser@rackspace.com"}}' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/json",\ - "X-Auth-Token": self.missing_token}) - resp_val = int(resp['status']) - print resp,content - content=json.loads(content) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - self.assertEqual(401,resp_val) - - def test_user_update_missing_token_xml(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s' % (URL,self.tenant,self.user) - data = ' \ - ' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/xml",\ - "X-Auth-Token": self.missing_token, - "ACCEPT": "application/xml"}) - resp_val = int(resp['status']) - print resp,content - content=etree.fromstring(content) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - self.assertEqual(401,resp_val) - self.assertEqual('application/xml', content_type(resp)) - - -class set_password_test(user_test): - - def test_user_password_json(self): - h = httplib2.Http(".cache") - resp, content = create_user_json(self.tenant,self.user , \ - str(self.auth_token)) - print resp,content - url = '%stenants/%s/users/%s/password' % (URL,self.tenant,self.user) - print url - data = '{"user": { "password": "p@ssword"}}' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/json",\ - "X-Auth-Token": self.auth_token}) - resp_val = int(resp['status']) - print resp,content - content=json.loads(content) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - delete_user_json(self.tenant,self.user , \ - str(self.auth_token)) - self.assertEqual(200,resp_val) - self.assertEqual('p@ssword',content['user']['password']) - - def test_user_password_xml(self): - h = httplib2.Http(".cache") - resp, content = create_user_xml(self.tenant,self.user , \ - str(self.auth_token)) - print resp,content - url = '%stenants/%s/users/%s/password' % (URL,self.tenant,self.user) - print url - data = ' \ - ' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/xml",\ - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - resp_val = int(resp['status']) - print resp,content - content=etree.fromstring(content) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - delete_user_json(self.tenant,self.user , \ - str(self.auth_token)) - self.assertEqual(200,resp_val) - self.assertEqual('p@ssword',content.get("password")) - self.assertEqual('application/xml', content_type(resp)) - - def test_user_password_user_disabled_json(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s/password' % (URL,self.tenant,self.userdisabled) - print url - data = '{"user": { "password": "p@ssword"}}' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/json",\ - "X-Auth-Token": self.auth_token}) - resp_val = int(resp['status']) - print resp,content - content=json.loads(content) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - self.assertEqual(403,resp_val) - - def test_user_password_user_disabled_xml(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s' % (URL,self.tenant,self.userdisabled) - data = ' \ - ' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/xml",\ - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - resp_val = int(resp['status']) - print resp,content - content=etree.fromstring(content) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - self.assertEqual(403,resp_val) - self.assertEqual('application/xml', content_type(resp)) - - def test_user_password_bad_request_json(self): - h = httplib2.Http(".cache") - resp, content = create_user_json(self.tenant,self.user , \ - str(self.auth_token)) - print resp,content - url = '%stenants/%s/users/%s/password' % (URL,self.tenant,self.user) - print url - data = '{"user_bad": { "password": "p@ssword"}}' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/json",\ - "X-Auth-Token": self.auth_token}) - resp_val = int(resp['status']) - print resp,content - content=json.loads(content) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - delete_user_json(self.tenant,self.user , \ - str(self.auth_token)) - self.assertEqual(400,resp_val) - - def test_user_password_bad_request_xml(self): - h = httplib2.Http(".cache") - resp, content = create_user_xml(self.tenant,self.user , \ - str(self.auth_token)) - print resp,content - url = '%stenants/%s/users/%s/password' % (URL,self.tenant,self.user) - print url - data = ' \ - user xmlns="http://docs.openstack.org/idm/api/v1.0" \ - password="p@ssword" />' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/xml",\ - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - resp_val = int(resp['status']) - print resp,content - content=etree.fromstring(content) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - delete_user_json(self.tenant,self.user , \ - str(self.auth_token)) - self.assertEqual(400,resp_val) - self.assertEqual('application/xml', content_type(resp)) - - - def test_user_password_expired_token_json(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s/password' % (URL,self.tenant,self.user) - print url - data = '{"user": { "password": "p@ssword"}}' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/json",\ - "X-Auth-Token": self.exp_auth_token}) - resp_val = int(resp['status']) - print resp,content - content=json.loads(content) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - self.assertEqual(401,resp_val) - - def test_user_password_expired_token_xml(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s/password' % (URL,self.tenant,self.user) - data = ' \ - ' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/xml",\ - "X-Auth-Token": self.exp_auth_token, - "ACCEPT": "application/xml"}) - resp_val = int(resp['status']) - print resp,content - content=etree.fromstring(content) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - self.assertEqual(401,resp_val) - self.assertEqual('application/xml', content_type(resp)) - - def test_user_password_disabled_token_json(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s/password' % (URL,self.tenant,self.user) - print url - data = '{"user": { "password": "p@ssword"}}' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/json",\ - "X-Auth-Token": self.disabled_token}) - resp_val = int(resp['status']) - print resp,content - content=json.loads(content) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - self.assertEqual(403,resp_val) - - def test_user_password_disabled_token_xml(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s/password' % (URL,self.tenant,self.user) - data = ' \ - ' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/xml",\ - "X-Auth-Token": self.disabled_token, - "ACCEPT": "application/xml"}) - resp_val = int(resp['status']) - print resp,content - content=etree.fromstring(content) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - self.assertEqual(403,resp_val) - self.assertEqual('application/xml', content_type(resp)) - - def test_user_password_invalid_token_json(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s/password' % (URL,self.tenant,self.user) - print url - data = '{"user": { "password": "p@ssword"}}' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/json",\ - "X-Auth-Token": self.invalid_token}) - resp_val = int(resp['status']) - print resp,content - content=json.loads(content) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - self.assertEqual(401,resp_val) - - def test_user_password_invalid_token_xml(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s/password' % (URL,self.tenant,self.user) - data = ' \ - ' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/xml",\ - "X-Auth-Token": self.invalid_token, - "ACCEPT": "application/xml"}) - resp_val = int(resp['status']) - print resp,content - content=etree.fromstring(content) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - self.assertEqual(401,resp_val) - self.assertEqual('application/xml', content_type(resp)) - - def test_user_password_missing_token_json(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s/password' % (URL,self.tenant,self.user) - print url - data = '{"user": { "password": "p@ssword"}}' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/json",\ - "X-Auth-Token": self.missing_token}) - resp_val = int(resp['status']) - print resp,content - content=json.loads(content) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - self.assertEqual(401,resp_val) - - def test_user_password_missing_token_xml(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s/password' % (URL,self.tenant,self.user) - data = ' \ - ' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/xml",\ - "X-Auth-Token": self.missing_token, - "ACCEPT": "application/xml"}) - resp_val = int(resp['status']) - print resp,content - content=etree.fromstring(content) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - self.assertEqual(401,resp_val) - self.assertEqual('application/xml', content_type(resp)) - - -class set_enabled_test(user_test): - - def test_user_enabled_json(self): - h = httplib2.Http(".cache") - resp, content = create_user_json(self.tenant,self.user , \ - str(self.auth_token)) - print resp,content - url = '%stenants/%s/users/%s/enabled' % (URL,self.tenant,self.user) - print url - data = '{"user": { "enabled": true}}' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/json",\ - "X-Auth-Token": self.auth_token}) - resp_val = int(resp['status']) - print resp,content - content=json.loads(content) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - delete_user_json(self.tenant,self.user , \ - str(self.auth_token)) - self.assertEqual(200,resp_val) - self.assertEqual(True,content['user']['enabled']) - - def test_user_enabled_xml(self): - h = httplib2.Http(".cache") - resp, content = create_user_xml(self.tenant,self.user , \ - str(self.auth_token)) - print resp,content - url = '%stenants/%s/users/%s/enabled' % (URL,self.tenant,self.user) - print url - data = ' \ - ' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/xml",\ - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - resp_val = int(resp['status']) - print resp,content - content=etree.fromstring(content) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - delete_user_json(self.tenant,self.user , \ - str(self.auth_token)) - self.assertEqual(200,resp_val) - self.assertEqual('true',content.get("enabled")) - self.assertEqual('application/xml', content_type(resp)) - - def test_user_enabled_bad_request_json(self): - h = httplib2.Http(".cache") - resp, content = create_user_json(self.tenant,self.user , \ - str(self.auth_token)) - print resp,content - url = '%stenants/%s/users/%s/enabled' % (URL,self.tenant,self.user) - print url - data = '{"user_bad": { "enabled": true}}' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/json",\ - "X-Auth-Token": self.auth_token}) - resp_val = int(resp['status']) - print resp,content - content=json.loads(content) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - delete_user_json(self.tenant,self.user , \ - str(self.auth_token)) - self.assertEqual(400,resp_val) - - def test_user_enabled_bad_request_xml(self): - h = httplib2.Http(".cache") - resp, content = create_user_xml(self.tenant,self.user , \ - str(self.auth_token)) - print resp,content - url = '%stenants/%s/users/%s/enabled' % (URL,self.tenant,self.user) - print url - data = ' \ - user xmlns="http://docs.openstack.org/idm/api/v1.0" \ - enabled="true" />' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/xml",\ - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - resp_val = int(resp['status']) - print resp,content - content=etree.fromstring(content) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - delete_user_json(self.tenant,self.user , \ - str(self.auth_token)) - self.assertEqual(400,resp_val) - self.assertEqual('application/xml', content_type(resp)) - - - def test_user_enabled_expired_token_json(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s/enabled' % (URL,self.tenant,self.user) - print url - data = '{"user": { "enabled": true}}' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/json",\ - "X-Auth-Token": self.exp_auth_token}) - resp_val = int(resp['status']) - print resp,content - content=json.loads(content) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - self.assertEqual(401,resp_val) - - def test_user_enabled_expired_token_xml(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s/enabled' % (URL,self.tenant,self.user) - data = ' \ - ' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/xml",\ - "X-Auth-Token": self.exp_auth_token, - "ACCEPT": "application/xml"}) - resp_val = int(resp['status']) - print resp,content - content=etree.fromstring(content) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - self.assertEqual(401,resp_val) - self.assertEqual('application/xml', content_type(resp)) - - def test_user_enabled_disabled_token_json(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s/enabled' % (URL,self.tenant,self.user) - print url - data = '{"user": { "enabled": true}}' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/json",\ - "X-Auth-Token": self.disabled_token}) - resp_val = int(resp['status']) - print resp,content - content=json.loads(content) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - self.assertEqual(403,resp_val) - - def test_user_enabled_disabled_token_xml(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s/enabled' % (URL,self.tenant,self.user) - data = ' \ - ' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/xml",\ - "X-Auth-Token": self.disabled_token, - "ACCEPT": "application/xml"}) - resp_val = int(resp['status']) - print resp,content - content=etree.fromstring(content) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - self.assertEqual(403,resp_val) - self.assertEqual('application/xml', content_type(resp)) - - def test_user_enabled_invalid_token_json(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s/enabled' % (URL,self.tenant,self.user) - print url - data = '{"user": { "enabled": true}}' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/json",\ - "X-Auth-Token": self.invalid_token}) - resp_val = int(resp['status']) - print resp,content - content=json.loads(content) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - self.assertEqual(401,resp_val) - - def test_user_enabled_invalid_token_xml(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s/enabled' % (URL,self.tenant,self.user) - data = ' \ - ' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/xml",\ - "X-Auth-Token": self.invalid_token, - "ACCEPT": "application/xml"}) - resp_val = int(resp['status']) - print resp,content - content=etree.fromstring(content) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - self.assertEqual(401,resp_val) - self.assertEqual('application/xml', content_type(resp)) - - def test_user_enabled_missing_token_json(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s/enabled' % (URL,self.tenant,self.user) - print url - data = '{"user": { "enabled": true}}' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/json",\ - "X-Auth-Token": self.missing_token}) - resp_val = int(resp['status']) - print resp,content - content=json.loads(content) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - self.assertEqual(401,resp_val) - - def test_user_enabled_missing_token_xml(self): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s/password' % (URL,self.tenant,self.user) - data = ' \ - ' - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/xml",\ - "X-Auth-Token": self.missing_token, - "ACCEPT": "application/xml"}) - resp_val = int(resp['status']) - print resp,content - content=etree.fromstring(content) - if resp_val == 500: - self.fail('IDM fault') - elif resp_val == 503: - self.fail('Service Not Available') - self.assertEqual(401,resp_val) - self.assertEqual('application/xml', content_type(resp)) - - -""" - - - -"""class add_user_global_group_test(unittest.TestCase): - - def setUp(self): - self.token = get_token('joeuser', 'secrete', 'token') - self.tenant = get_global_tenant() - self.user = get_user() - self.userdisabled = get_userdisabled() - self.auth_token = get_auth_token() - self.exp_auth_token = get_exp_auth_token() - self.disabled_token = get_disabled_token() - self.tenant_group = 'test_global_group' - - - - def tearDown(self): - respG, contentG = delete_user_global_group(self.tenant_group, - self.user, - str(self.auth_token)) - - respG, contentG = delete_user(self.tenant, self.user, - str(self.auth_token)) - resp, content = delete_global_group(self.tenant_group, - self.auth_token) - - - - def test_add_user_global_group(self): - h = httplib2.Http(".cache") - resp, content = create_global_group(self.tenant_group, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - respG, contentG = add_user_global_group(self.tenant_group, - self.user, str(self.auth_token) - ) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - if int(respG['status']) not in (200, 201): - self.fail('Failed due to %d' % int(respG['status'])) - - - def test_add_user_global_group_xml(self): - h = httplib2.Http(".cache") - resp, content = create_global_group(self.tenant_group, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - respG, contentG = add_user_global_group_xml(self.tenant_group, - self.user, str(self.auth_token) - ) - - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - if int(respG['status']) not in (200, 201): - self.fail('Failed due to %d' % int(respG['status'])) - - - def test_add_user_global_group_conflict(self): - h = httplib2.Http(".cache") - resp, content = create_global_group(self.tenant_group, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - respG, contentG = add_user_global_group(self.tenant_group, - self.user, str(self.auth_token) - ) - respG, contentG = add_user_global_group(self.tenant_group, - self.user, str(self.auth_token) - ) - - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(409, int(respG['status'])) - - def test_add_user_global_group_conflict_xml(self): - h = httplib2.Http(".cache") - resp, content = create_global_group(self.tenant_group, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - respG, contentG = add_user_global_group_xml(self.tenant_group, - self.user, str(self.auth_token) - ) - respG, contentG = add_user_global_group_xml(self.tenant_group, - self.user, str(self.auth_token) - ) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(409, int(respG['status'])) - - def test_add_user_global_group_unauthorized(self): - h = httplib2.Http(".cache") - resp, content = create_global_group(self.tenant_group, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - respG, contentG = add_user_global_group(self.tenant_group, - self.user, str(self.token) - ) - - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(401, int(respG['status'])) - - def test_add_user_global_group_unauthorized_xml(self): - h = httplib2.Http(".cache") - resp, content = create_global_group(self.tenant_group, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - respG, contentG = add_user_global_group_xml(self.tenant_group, - self.user, str(self.token) - ) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(401, int(respG['status'])) - - def test_add_user_global_group_forbidden(self): - h = httplib2.Http(".cache") - resp, content = create_global_group(self.tenant_group, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - respG, contentG = add_user_global_group(self.tenant_group, - self.user, - str(self.disabled_token) - ) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(respG['status'])) - - def test_add_user_global_group_forbidden_xml(self): - h = httplib2.Http(".cache") - resp, content = create_global_group(self.tenant_group, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - respG, contentG = add_user_global_group_xml(self.tenant_group, - self.user, - str(self.disabled_token) - ) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(respG['status'])) - - -class get_users_tenant_group_test(unittest.TestCase): - - def setUp(self): - self.token = get_token('joeuser', 'secrete', 'token') - self.tenant = get_global_tenant() - self.user = get_user() - self.userdisabled = get_userdisabled() - self.auth_token = get_auth_token() - self.exp_auth_token = get_exp_auth_token() - self.disabled_token = get_disabled_token() - self.tenant_group = 'test_global_group' - - - - def tearDown(self): - respG, contentG = delete_user_global_group(self.tenant_group, - self.user, - str(self.auth_token)) - - respG, contentG = delete_user(self.tenant, self.user, - str(self.auth_token)) - resp, content = delete_global_group(self.tenant_group, - self.auth_token) - def test_get_users_global_group(self): - h = httplib2.Http(".cache") - resp, content = create_global_group(self.tenant_group, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - respG, contentG = add_user_global_group(self.tenant_group, - self.user, - str(self.auth_token) - ) - respG, contentG = get_user_global_group(self.tenant_group, - str(self.auth_token) - ) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(200, int(respG['status'])) - - - def test_get_users_global_group_xml(self): - h = httplib2.Http(".cache") - resp, content = create_global_group(self.tenant_group, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - respG, contentG = add_user_global_group_xml(self.tenant_group, - self.user, - str(self.auth_token) - ) - respG, contentG = get_user_global_group_xml(self.tenant_group, - str(self.auth_token) - ) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(200, int(respG['status'])) - - - def test_get_users_global_group_unauthorized(self): - h = httplib2.Http(".cache") - resp, content = create_global_group(self.tenant_group, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - respG, contentG = add_user_global_group(self.tenant_group, - self.user, - str(self.auth_token) - ) - - respG, contentG = get_user_global_group(self.tenant_group, - str(self.token) - ) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(401, int(respG['status'])) - - def test_get_users_global_group_unauthorized_xml(self): - h = httplib2.Http(".cache") - resp, content = create_global_group(self.tenant_group, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - respG, contentG = add_user_global_group(self.tenant_group, - self.user, - str(self.auth_token) - ) - respG, contentG = get_user_global_group_xml(self.tenant_group, - str(self.token) - ) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(401, int(respG['status'])) - - def test_get_users_global_group_forbidden(self): - h = httplib2.Http(".cache") - resp, content = create_global_group(self.tenant_group, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - respG, contentG = add_user_global_group(self.tenant_group, - self.user, - str(self.auth_token) - ) - respG, contentG = get_user_global_group(self.tenant_group, - str(self.disabled_token) - ) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(respG['status'])) - - def test_get_users_global_group_forbidden_xml(self): - h = httplib2.Http(".cache") - resp, content = create_global_group(self.tenant_group, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - respG, contentG = add_user_global_group(self.tenant_group, - self.user, - str(self.auth_token) - ) - respG, contentG = get_user_global_group_xml(self.tenant_group, - str(self.disabled_token) - ) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(respG['status'])) - - def test_get_users_global_group_expired(self): - h = httplib2.Http(".cache") - resp, content = create_global_group(self.tenant_group, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - respG, contentG = add_user_global_group(self.tenant_group, - self.user, - str(self.auth_token) - ) - respG, contentG = get_user_global_group(self.tenant_group, - str(self.exp_auth_token) - ) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(respG['status'])) - - def test_get_users_global_group_expired_xml(self): - h = httplib2.Http(".cache") - resp, content = create_global_group(self.tenant_group, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - respG, contentG = add_user_global_group(self.tenant_group, - self.user, - str(self.auth_token) - ) - respG, contentG = get_user_global_group_xml(self.tenant_group, - str(self.exp_auth_token) - ) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(respG['status'])) - -class delete_users_global_group_test(unittest.TestCase): - - def setUp(self): - self.token = get_token('joeuser', 'secrete', 'token') - self.tenant = get_global_tenant() - self.user = get_user() - self.userdisabled = get_userdisabled() - self.auth_token = get_auth_token() - self.exp_auth_token = get_exp_auth_token() - self.disabled_token = get_disabled_token() - self.tenant_group = 'test_global_group' - - - - def tearDown(self): - respG, contentG = delete_user_global_group(self.tenant_group, - self.user, - str(self.auth_token)) - - respG, contentG = delete_user(self.tenant, self.user, - str(self.auth_token)) - resp, content = delete_global_group(self.tenant_group, - self.auth_token) - def test_delete_user_global_group(self): - h = httplib2.Http(".cache") - resp, content = create_global_group(self.tenant_group, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - respG, contentG = add_user_global_group(self.tenant_group, - self.user, - str(self.auth_token) - ) - - respG, contentG = delete_user_global_group(self.tenant_group, - self.user, - str(self.auth_token) - ) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(204, int(respG['status'])) - - - def test_delete_user_global_group_xml(self): - h = httplib2.Http(".cache") - resp, content = create_global_group(self.tenant_group, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - respG, contentG = add_user_global_group(self.tenant_group, - self.user, - str(self.auth_token) - ) - respG, contentG = delete_user_global_group_xml(self.tenant_group, - self.user, - str(self.auth_token) - ) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(204, int(respG['status'])) - - def test_delete_user_global_group_notfound(self): - h = httplib2.Http(".cache") - resp, content = create_global_group(self.tenant_group, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - respG, contentG = add_user_global_group(self.tenant_group, - self.user, - str(self.disabled_token) - ) - respG, contentG = delete_user_global_group(self.tenant_group, - self.user, - str(self.auth_token) - ) - respG, contentG = delete_user_global_group(self.tenant_group, - self.user, - str(self.auth_token) - ) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(404, int(respG['status'])) - - def test_delete_user_global_group_notfound_xml(self): - h = httplib2.Http(".cache") - resp, content = create_global_group(self.tenant_group, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - respG, contentG = add_user_global_group(self.tenant_group, - self.user, - str(self.disabled_token) - ) - respG, contentG = delete_user_global_group(self.tenant_group, - self.user, - str(self.auth_token) - ) - respG, contentG = delete_user_global_group_xml(self.tenant_group, - self.user, - str(self.auth_token) - ) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(404, int(respG['status'])) -""" -"""if __name__ == '__main__': - unittest.main() -""" - - -import os -import sys -# Need to access identity module -sys.path.append(os.path.abspath(os.path.join(os.path.abspath(__file__), - '..', '..', '..', '..', 'keystone'))) - -import unittest -from webtest import TestApp -import httplib2 -import json -from lxml import etree -import unittest -from webtest import TestApp - -URL = 'http://localhost:8080/v1.0/' - - -def get_token(user, pswd, kind=''): - h = httplib2.Http(".cache") - url = '%stoken' % URL - body = {"passwordCredentials": {"username": user, - "password": pswd}} - resp, content = h.request(url, "POST", body=json.dumps(body), - headers={"Content-Type": "application/json"}) - content = json.loads(content) - token = str(content['auth']['token']['id']) - if kind == 'token': - return token - else: - return (resp, content) - - -def delete_token(token, auth_token): - h = httplib2.Http(".cache") - url = '%stoken/%s' % (URL, token) - resp, content = h.request(url, "DELETE", body='', - headers={"Content-Type": "application/json", - "X-Auth-Token": auth_token}) - return (resp, content) - - -def create_tenant(tenantid, auth_token): - h = httplib2.Http(".cache") - - url = '%stenants' % (URL) - body = {"tenant": {"id": tenantid, - "description": "A description ...", - "enabled": True}} - resp, content = h.request(url, "POST", body=json.dumps(body), - headers={"Content-Type": "application/json", - "X-Auth-Token": auth_token}) - return (resp, content) - - -def create_tenant_group(groupid, tenantid, auth_token): - h = httplib2.Http(".cache") - - url = '%stenant/%s/groups' % (URL, tenantid) - body = {"group": {"id": groupid, - "description": "A description ..." - }} - resp, content = h.request(url, "POST", body=json.dumps(body), - headers={"Content-Type": "application/json", - "X-Auth-Token": auth_token}) - return (resp, content) - - -def delete_tenant(tenantid, auth_token): - h = httplib2.Http(".cache") - url = '%stenants/%s' % (URL, tenantid) - resp, content = h.request(url, "DELETE", body='{}', - headers={"Content-Type": "application/json", - "X-Auth-Token": auth_token}) - return (resp, content) - - -def delete_tenant_group(groupid, tenantid, auth_token): - h = httplib2.Http(".cache") - url = '%stenant/%s/groups/%s' % (URL, tenantid, groupid) - resp, content = h.request(url, "DELETE", body='{}', - headers={"Content-Type": "application/json", - "X-Auth-Token": auth_token}) - return (resp, content) - - -def create_global_group(groupid, auth_token): - h = httplib2.Http(".cache") - - url = '%sgroups' % (URL) - body = {"group": {"id": groupid, - "description": "A description ..." - }} - resp, content = h.request(url, "POST", body=json.dumps(body), - headers={"Content-Type": "application/json", - "X-Auth-Token": auth_token}) - return (resp, content) - - -def create_global_group_xml(groupid, auth_token): - h = httplib2.Http(".cache") - url = '%sgroups' % (URL) - body = '\ - A Description of the group\ - ' % groupid - resp, content = h.request(url, "POST", body=body, - headers={"Content-Type": "application/xml", - "X-Auth-Token": auth_token, - "ACCEPT": "application/xml"}) - return (resp, content) - - -def delete_global_group(groupid, auth_token): - h = httplib2.Http(".cache") - url = '%sgroups/%s' % (URL, groupid) - resp, content = h.request(url, "DELETE", body='{}', - headers={"Content-Type": "application/json", - "X-Auth-Token": auth_token}) - return (resp, content) - -def delete_global_group_xml(groupid, auth_token): - h = httplib2.Http(".cache") - url = '%sgroups/%s' % (URL, groupid) - resp, content = h.request(url, "DELETE", body='', - headers={"Content-Type": "application/xml", - "X-Auth-Token": auth_token, - "ACCEPT": "application/xml"}) - return (resp, content) - - -def get_token_xml(user, pswd, type=''): - h = httplib2.Http(".cache") - url = '%stoken' % URL - body = ' \ - ' % (pswd, user) - resp, content = h.request(url, "POST", body=body, - headers={"Content-Type": "application/xml", - "ACCEPT": "application/xml"}) - dom = etree.fromstring(content) - root = dom.find("{http://docs.openstack.org/idm/api/v1.0}token") - token_root = root.attrib - token = str(token_root['id']) - if type == 'token': - return token - else: - return (resp, content) - - -def delete_token_xml(token, auth_token): - h = httplib2.Http(".cache") - url = '%stoken/%s' % (URL, token) - resp, content = h.request(url, "DELETE", body='', - headers={"Content-Type": "application/xml", - "X-Auth-Token": auth_token, - "ACCEPT": "application/xml"}) - return (resp, content) - - -def create_tenant_xml(tenantid, auth_token): - h = httplib2.Http(".cache") - url = '%stenants' % (URL) - body = ' \ - \ - A description... \ - ' % tenantid - resp, content = h.request(url, "POST", body=body, - headers={"Content-Type": "application/xml", - "X-Auth-Token": auth_token, - "ACCEPT": "application/xml"}) - return (resp, content) - - -def create_tenant_group_xml(groupid, tenantid, auth_token): - h = httplib2.Http(".cache") - url = '%stenant/%s/groups' % (URL, tenantid) - body = ' \ - \ - A description... \ - ' % groupid - resp, content = h.request(url, "POST", body=body, - headers={"Content-Type": "application/xml", - "X-Auth-Token": auth_token, - "ACCEPT": "application/xml"}) - return (resp, content) - - -def delete_tenant_xml(tenantid, auth_token): - h = httplib2.Http(".cache") - url = '%stenants/%s' % (URL, tenantid) - resp, content = h.request(url, "DELETE", body='', - headers={"Content-Type": "application/xml", - "X-Auth-Token": auth_token, - "ACCEPT": "application/xml"}) - return (resp, content) - - -def delete_tenant_group_xml(groupid, tenantid, auth_token): - h = httplib2.Http(".cache") - url = '%stenant/%s/groups/%s' % (URL, tenantid, groupid) - resp, content = h.request(url, "DELETE", body='', - headers={"Content-Type": "application/xml", - "X-Auth-Token": auth_token, - "ACCEPT": "application/xml"}) - return (resp, content) - -def create_user(tenantid, userid, auth_token): - h = httplib2.Http(".cache") - url = '%stenants/%s/users' % (URL, tenantid) - body = {"user": {"password": "secrete", - "id": userid, - "tenantId": tenantid, - "email": "%s@rackspace.com" % userid, - "enabled": True}} - resp, content = h.request(url, "POST", body=json.dumps(body), - headers={"Content-Type": "application/json", - "X-Auth-Token": auth_token}) - return (resp, content) - - -def delete_user(tenant, userid, auth_token): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s' % (URL, tenant, userid) - - resp, content = h.request(url, "DELETE", body='{}', - headers={"Content-Type": "application/json", - "X-Auth-Token": auth_token}) - - return (resp, content) - -def create_user_xml(tenantid, userid, auth_token): - h = httplib2.Http(".cache") - url = '%stenants/%s/users' % (URL, tenantid) - body = ' \ - ' % (tenantid, userid) - resp, content = h.request(url, "POST", body=body, - headers={"Content-Type": "application/xml", - "X-Auth-Token": auth_token, - "ACCEPT": "application/xml"}) - return (resp, content) - - -def delete_user_xml(tenantid, userid, auth_token): - h = httplib2.Http(".cache") - url = '%stenants/%s/users/%s' % (URL, tenantid, userid) - resp, content = h.request(url, "DELETE", body='', - headers={"Content-Type": "application/xml", - "X-Auth-Token": auth_token, - "ACCEPT": "application/xml"}) - return (resp, content) - -def add_user_tenant_group(tenantid, groupid, userid, auth_token): - h = httplib2.Http(".cache") - url = '%stenants/%s/groups/%s/users/%s' % (URL, tenantid, groupid, userid) - - resp, content = h.request(url, "PUT", body='', - headers={"Content-Type": "application/json", - "X-Auth-Token": auth_token}) - return (resp, content) - -def add_user_tenant_group_xml(tenantid, groupid, userid, auth_token): - h = httplib2.Http(".cache") - url = '%stenants/%s/groups/%s/users/%s' % (URL, tenantid, groupid, userid) - - resp, content = h.request(url, "PUT", body='', - headers={"Content-Type": "application/xml", - "X-Auth-Token": auth_token, - "ACCEPT": "application/xml"}) - return (resp, content) - -def delete_user_tenant_group(tenantid, groupid, userid, auth_token): - h = httplib2.Http(".cache") - url = '%stenants/%s/groups/%s/users/%s' % (URL, tenantid, groupid, userid) - - resp, content = h.request(url, "DELETE", body='', - headers={"Content-Type": "application/json", - "X-Auth-Token": auth_token}) - return (resp, content) - -def delete_user_tenant_group_xml(tenantid, groupid, userid, auth_token): - h = httplib2.Http(".cache") - url = '%stenants/%s/groups/%s/users/%s' % (URL, tenantid, groupid, userid) - - resp, content = h.request(url, "DELETE", body='', - headers={"Content-Type": "application/xml", - "X-Auth-Token": auth_token, - "ACCEPT": "application/xml"}) - return (resp, content) - -def get_user_tenant_group(tenantid, groupid, auth_token): - h = httplib2.Http(".cache") - url = '%stenants/%s/groups/%s/users' % (URL, tenantid, groupid) - - resp, content = h.request(url, "GET", body='', - headers={"Content-Type": "application/json", - "X-Auth-Token": auth_token}) - return (resp, content) - -def get_user_tenant_group_xml(tenantid, groupid, auth_token): - h = httplib2.Http(".cache") - url = '%stenants/%s/groups/%s/users' % (URL, tenantid, groupid) - - resp, content = h.request(url, "GET", body='', - headers={"Content-Type": "application/xml", - "X-Auth-Token": auth_token, - "ACCEPT": "application/xml"}) - return (resp, content) - - -def add_user_global_group(groupid, userid, auth_token): - h = httplib2.Http(".cache") - url = '%sgroups/%s/users/%s' % (URL, groupid, userid) - - resp, content = h.request(url, "PUT", body='', - headers={"Content-Type": "application/json", - "X-Auth-Token": auth_token}) - return (resp, content) - -def add_user_global_group_xml(groupid, userid, auth_token): - h = httplib2.Http(".cache") - url = '%sgroups/%s/users/%s' % (URL, groupid, userid) - - resp, content = h.request(url, "PUT", body='', - headers={"Content-Type": "application/xml", - "X-Auth-Token": auth_token, - "ACCEPT": "application/xml"}) - return (resp, content) - -def delete_user_global_group(groupid, userid, auth_token): - h = httplib2.Http(".cache") - url = '%sgroups/%s/users/%s' % (URL, groupid, userid) - - resp, content = h.request(url, "DELETE", body='', - headers={"Content-Type": "application/json", - "X-Auth-Token": auth_token}) - return (resp, content) - -def delete_user_global_group_xml(groupid, userid, auth_token): - h = httplib2.Http(".cache") - url = '%sgroups/%s/users/%s' % (URL, groupid, userid) - - resp, content = h.request(url, "DELETE", body='', - headers={"Content-Type": "application/xml", - "X-Auth-Token": auth_token, - "ACCEPT": "application/xml"}) - return (resp, content) - -def get_user_global_group(groupid, auth_token): - h = httplib2.Http(".cache") - url = '%sgroups/%s/users' % (URL, groupid) - - resp, content = h.request(url, "GET", body='', - headers={"Content-Type": "application/json", - "X-Auth-Token": auth_token}) - - return (resp, content) - -def get_user_global_group_xml(groupid, auth_token): - h = httplib2.Http(".cache") - url = '%sgroups/%s/users' % (URL, groupid) - - resp, content = h.request(url, "GET", body='', - headers={"Content-Type": "application/xml", - "X-Auth-Token": auth_token, - "ACCEPT": "application/xml"}) - return (resp, content) - -def get_tenant(): - return '1234' - - -def get_user(): - return 'test_user' - - -def get_userdisabled(): - return '1234' - - -def get_auth_token(): - return '999888777666' - - -def get_exp_auth_token(): - return '000999' - - -def get_disabled_token(): - return '999888777' - - -def content_type(resp): - return resp['content-type'].split(';')[0] - -def get_global_tenant(): - return 'GlobalTenant' - -class identity_test(unittest.TestCase): - - #Given _a_ to make inherited test cases in an order. - #here to call below method will call as last test case - - def test_a_get_version_json(self): - h = httplib2.Http(".cache") - url = URL - resp, content = h.request(url, "GET", body="", - headers={"Content-Type":"application/json"}) - self.assertEqual(200, int(resp['status'])) - self.assertEqual('application/json', content_type(resp)) - - def test_a_get_version_xml(self): - h = httplib2.Http(".cache") - url = URL - resp, content = h.request(url, "GET", body="", - headers={"Content-Type": "application/xml", - "ACCEPT": "application/xml"}) - - self.assertEqual(200, int(resp['status'])) - self.assertEqual('application/xml', content_type(resp)) - - -class authorize_test(identity_test): - - def setUp(self): - self.token = get_token('joeuser', 'secrete', 'token') - self.tenant = get_tenant() - self.user = get_user() - self.userdisabled = get_userdisabled() - self.auth_token = get_auth_token() - self.exp_auth_token = get_exp_auth_token() - self.disabled_token = get_disabled_token() - - def tearDown(self): - delete_token(self.token, self.auth_token) - - def test_a_authorize(self): - resp, content = get_token('joeuser', 'secrete') - self.assertEqual(200, int(resp['status'])) - self.assertEqual('application/json', content_type(resp)) - - def test_a_authorize_xml(self): - resp, content = get_token_xml('joeuser', 'secrete') - self.assertEqual(200, int(resp['status'])) - self.assertEqual('application/xml', content_type(resp)) - - def test_a_authorize_user_disabled(self): - h = httplib2.Http(".cache") - url = '%stoken' % URL - body = {"passwordCredentials": {"username": "disabled", - "password": "secrete"}} - resp, content = h.request(url, "POST", body=json.dumps(body), - headers={"Content-Type": "application/json"}) - content = json.loads(content) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(resp['status'])) - self.assertEqual('application/json', content_type(resp)) - - def test_a_authorize_user_disabled_xml(self): - h = httplib2.Http(".cache") - url = '%stoken' % URL - body = ' \ - ' - resp, content = h.request(url, "POST", body=body, - headers={"Content-Type": "application/xml", - "ACCEPT": "application/xml"}) - content = etree.fromstring(content) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(resp['status'])) - self.assertEqual('application/xml', content_type(resp)) - - def test_a_authorize_user_wrong(self): - h = httplib2.Http(".cache") - url = '%stoken' % URL - body = {"passwordCredentials": {"username-w": "disabled", - "password": "secrete"}} - resp, content = h.request(url, "POST", body=json.dumps(body), - headers={"Content-Type": "application/json"}) - content = json.loads(content) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(400, int(resp['status'])) - self.assertEqual('application/json', content_type(resp)) - - def test_a_authorize_user_wrong_xml(self): - h = httplib2.Http(".cache") - url = '%stoken' % URL - body = ' \ - ' - resp, content = h.request(url, "POST", body=body, - headers={"Content-Type": "application/xml", - "ACCEPT": "application/xml"}) - content = etree.fromstring(content) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(400, int(resp['status'])) - self.assertEqual('application/xml', content_type(resp)) - - -class validate_token(authorize_test): - - def test_validate_token_true(self): - h = httplib2.Http(".cache") - - url = '%stoken/%s?belongsTo=%s' % (URL, self.token, self.tenant) - resp, content = h.request(url, "GET", body='', - headers={"Content-Type": "application/json", - "X-Auth-Token": self.auth_token}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(200, int(resp['status'])) - self.assertEqual('application/json', content_type(resp)) - - def test_validate_token_true_xml(self): - h = httplib2.Http(".cache") - url = '%stoken/%s?belongsTo=%s' % (URL, self.token, self.tenant) - resp, content = h.request(url, "GET", body='', - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(200, int(resp['status'])) - self.assertEqual('application/xml', content_type(resp)) - - def test_validate_token_expired(self): - h = httplib2.Http(".cache") - url = '%stoken/%s?belongsTo=%s' % (URL, self.exp_auth_token, - self.tenant) - resp, content = h.request(url, "GET", body='', - headers={"Content-Type": "application/json", - "X-Auth-Token": self.exp_auth_token - }) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(resp['status'])) - self.assertEqual('application/json', content_type(resp)) - - def test_validate_token_expired_xml(self): - h = httplib2.Http(".cache") - - url = '%stoken/%s?belongsTo=%s' % (URL, self.exp_auth_token, - self.tenant) - resp, content = h.request(url, "GET", body='', - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.exp_auth_token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(resp['status'])) - self.assertEqual('application/xml', content_type(resp)) - - def test_validate_token_invalid(self): - h = httplib2.Http(".cache") - url = '%stoken/%s?belongsTo=%s' % (URL, 'NonExistingToken', - self.tenant) - resp, content = h.request(url, "GET", body='', - headers={"Content-Type": "application/json", - "X-Auth-Token": self.auth_token}) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(401, int(resp['status'])) - self.assertEqual('application/json', content_type(resp)) - - def test_validate_token_invalid_xml(self): - h = httplib2.Http(".cache") - url = '%stoken/%s?belongsTo=%s' % (URL, 'NonExistingToken', - self.tenant) - resp, content = h.request(url, "GET", body='', - headers={"Content-Type": "application/json", - "X-Auth-Token": self.auth_token}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(401, int(resp['status'])) - self.assertEqual('application/json', content_type(resp)) - - -class tenant_test(unittest.TestCase): - - def setUp(self): - self.token = get_token('joeuser', 'secrete', 'token') - self.tenant = get_tenant() - self.user = get_user() - self.userdisabled = get_userdisabled() - self.auth_token = get_auth_token() - self.exp_auth_token = get_exp_auth_token() - self.disabled_token = get_disabled_token() - - def tearDown(self): - resp, content = delete_tenant(self.tenant, self.auth_token) - - -class create_tenant_test(tenant_test): - - def test_tenant_create(self): - resp, content = delete_tenant('test_tenant', str(self.auth_token)) - - resp, content = create_tenant('test_tenant', str(self.auth_token)) - self.tenant = 'test_tenant' - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - - if int(resp['status']) not in (200, 201): - - self.fail('Failed due to %d' % int(resp['status'])) - - def test_tenant_create_xml(self): - resp, content = delete_tenant_xml('test_tenant', str(self.auth_token)) - resp, content = create_tenant_xml('test_tenant', str(self.auth_token)) - self.tenant = 'test_tenant' - content = etree.fromstring(content) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - - if int(resp['status']) not in (200, 201): - - self.fail('Failed due to %d' % int(resp['status'])) - - def test_tenant_create_again(self): - - resp, content = create_tenant("test_tenant", str(self.auth_token)) - resp, content = create_tenant("test_tenant", str(self.auth_token)) - if int(resp['status']) == 200: - self.tenant = content['tenant']['id'] - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(409, int(resp['status'])) - if int(resp['status']) == 200: - self.tenant = content['tenant']['id'] - - def test_tenant_create_again_xml(self): - - resp, content = create_tenant_xml("test_tenant", str(self.auth_token)) - resp, content = create_tenant_xml("test_tenant", str(self.auth_token)) - content = etree.fromstring(content) - if int(resp['status']) == 200: - self.tenant = content.get("id") - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(409, int(resp['status'])) - if int(resp['status']) == 200: - self.tenant = content.get("id") - - def test_tenant_create_forbidden_token(self): - h = httplib2.Http(".cache") - resp, content = create_tenant("test_tenant", str(self.auth_token)) - if int(resp['status']) == 200: - self.tenant = content['tenant']['id'] - - url = '%stenants' % (URL) - body = {"tenant": {"id": self.tenant, - "description": "A description ...", - "enabled": True}} - resp, content = h.request(url, "POST", body=json.dumps(body), - headers={"Content-Type": "application/json", - "X-Auth-Token": self.token}) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(401, int(resp['status'])) - - def test_tenant_create_forbidden_token_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant_xml("test_tenant", str(self.auth_token)) - content = etree.fromstring(content) - if int(resp['status']) == 200: - self.tenant = content.get('id') - - url = '%stenants' % (URL) - body = ' \ - \ - A description... \ - ' % self.tenant - resp, content = h.request(url, "POST", body=body, - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.token, - "ACCEPT": "application/xml"}) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(401, int(resp['status'])) - - def test_tenant_create_expired_token(self): - h = httplib2.Http(".cache") - resp, content = create_tenant("test_tenant", str(self.auth_token)) - if int(resp['status']) == 200: - self.tenant = content['tenant']['id'] - - url = '%stenants' % (URL) - body = {"tenant": {"id": self.tenant, - "description": "A description ...", - "enabled": True}} - resp, content = h.request(url, "POST", body=json.dumps(body), - headers={"Content-Type": "application/json", - "X-Auth-Token": self.exp_auth_token}) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(resp['status'])) - - def test_tenant_create_expired_token_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant_xml("test_tenant", str(self.auth_token)) - content = etree.fromstring(content) - if int(resp['status']) == 200: - self.tenant = content.get('id') - - url = '%stenants' % (URL) - body = ' \ - \ - A description... \ - ' % self.tenant - - resp, content = h.request(url, "POST", body=body, - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.exp_auth_token, - "ACCEPT": "application/xml"}) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(resp['status'])) - - def test_tenant_create_missing_token(self): - h = httplib2.Http(".cache") - resp, content = create_tenant("test_tenant", str(self.auth_token)) - if int(resp['status']) == 200: - self.tenant = content['tenant']['id'] - - url = '%stenants' % (URL) - body = {"tenant": {"id": self.tenant, - "description": "A description ...", - "enabled": True}} - resp, content = h.request(url, "POST", body=json.dumps(body), - headers={"Content-Type": "application/json"}) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(401, int(resp['status'])) - - def test_tenant_create_missing_token_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant_xml("test_tenant", str(self.auth_token)) - content = etree.fromstring(content) - if int(resp['status']) == 200: - self.tenant = content.get('id') - - url = '%stenants' % (URL) - - body = ' \ - \ - A description... \ - ' % self.tenant - resp, content = h.request(url, "POST", body=body, - headers={"Content-Type": "application/xml", - "ACCEPT": "application/xml"}) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(401, int(resp['status'])) - - def test_tenant_create_disabled_token(self): - h = httplib2.Http(".cache") - resp, content = create_tenant("test_tenant", str(self.auth_token)) - if int(resp['status']) == 200: - self.tenant = content['tenant']['id'] - - url = '%stenants' % (URL) - body = '{"tenant": { "id": "%s", \ - "description": "A description ...", "enabled"\ - :true } }' % self.tenant - resp, content = h.request(url, "POST", body=body, - headers={"Content-Type": "application/json", - "X-Auth-Token": self.disabled_token - }) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(resp['status'])) - - def test_tenant_create_disabled_token_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant_xml("test_tenant", str(self.auth_token)) - content = etree.fromstring(content) - if int(resp['status']) == 200: - self.tenant = content.get('id') - - url = '%stenants' % (URL) - body = ' \ - \ - A description... \ - ' % self.tenant - resp, content = h.request(url, "POST", body=body, - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.disabled_token, - "ACCEPT": "application/xml"}) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(resp['status'])) - - def test_tenant_create_invalid_token(self): - h = httplib2.Http(".cache") - resp, content = create_tenant("test_tenant", str(self.auth_token)) - if int(resp['status']) == 200: - self.tenant = content['tenant']['id'] - - url = '%stenants' % (URL) - body = '{"tenant": { "id": "%s", \ - "description": "A description ...", "enabled"\ - :true } }' % self.tenant - resp, content = h.request(url, "POST", body=body, - headers={"Content-Type": "application/json", - "X-Auth-Token": 'nonexsitingtoken'}) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(404, int(resp['status'])) - - def test_tenant_create_invalid_token_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant_xml("test_tenant", str(self.auth_token)) - content = etree.fromstring(content) - if int(resp['status']) == 200: - self.tenant = content.get('id') - - url = '%stenants' % (URL) - body = ' \ - \ - A description... \ - ' % self.tenant - resp, content = h.request(url, "POST", body=body, - headers={"Content-Type": "application/xml", - "X-Auth-Token": 'nonexsitingtoken', - "ACCEPT": "application/xml"}) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(404, int(resp['status'])) - - -class get_tenants_test(tenant_test): - - def test_get_tenants(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - url = '%stenants' % (URL) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='{}', - headers={"Content-Type": "application/json", - "X-Auth-Token": self.auth_token - }) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(200, int(resp['status'])) - - def test_get_tenants_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - url = '%stenants' % (URL) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='', - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(200, int(resp['status'])) - - def test_get_tenants_unauthorized_token(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - url = '%stenants' % (URL) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='{}', - headers={"Content-Type": "application/json", - "X-Auth-Token": self.token}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(401, int(resp['status'])) - - def test_get_tenants_unauthorized_token_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - url = '%stenants' % (URL) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='', - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(401, int(resp['status'])) - - def test_get_tenants_exp_token(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - url = '%stenants' % (URL) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='{}', - headers={"Content-Type": "application/json", - "X-Auth-Token": self.exp_auth_token - }) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(resp['status'])) - - def test_get_tenants_exp_token_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - url = '%stenants' % (URL) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='', - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.exp_auth_token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(resp['status'])) - - -class get_tenant_test(tenant_test): - - def test_get_tenant(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - url = '%stenants/%s' % (URL, self.tenant) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='{}', - headers={"Content-Type": "application/json", - "X-Auth-Token": self.auth_token}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(200, int(resp['status'])) - - def test_get_tenant_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - url = '%stenants/%s' % (URL, self.tenant) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='', - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(200, int(resp['status'])) - - def test_get_tenant_bad(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - url = '%stenants/%s' % (URL, 'tenant_bad') - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='{', - headers={"Content-Type": "application/json", - "X-Auth-Token": self.auth_token}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(404, int(resp['status'])) - - def test_get_tenant_bad_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - url = '%stenants/%s' % (URL, 'tenant_bad') - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='{', - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(404, int(resp['status'])) - - def test_get_tenant_not_found(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - url = '%stenants/NonexistingID' % (URL) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='{}', - headers={"Content-Type": "application/json", - "X-Auth-Token": self.auth_token}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(404, int(resp['status'])) - - def test_get_tenant_not_found_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - url = '%stenants/NonexistingID' % (URL) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='', - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(404, int(resp['status'])) - - -class update_tenant_test(tenant_test): - - def test_update_tenant(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - url = '%stenants/%s' % (URL, self.tenant) - data = '{"tenant": { "description": "A NEW description..." ,\ - "enabled":true }}' - #test for Content-Type = application/json - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/json", - "X-Auth-Token": self.auth_token}) - body = json.loads(content) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(200, int(resp['status'])) - self.assertEqual(int(self.tenant), int(body['tenant']['id'])) - self.assertEqual('A NEW description...', body['tenant']['description']) - - def test_update_tenant_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant_xml(self.tenant, str(self.auth_token)) - url = '%stenants/%s' % (URL, self.tenant) - data = ' \ - \ - A NEW description... \ - ' - - #test for Content-Type = application/json - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - body = etree.fromstring(content) - desc = body.find("{http://docs.openstack.org/idm/api/v1.0}description") - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(200, int(resp['status'])) - self.assertEqual(int(self.tenant), int(body.get('id'))) - self.assertEqual('A NEW description...', desc.text) - - def test_update_tenant_bad(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - url = '%stenants/%s' % (URL, self.tenant) - data = '{"tenant": { "description_bad": "A NEW description...",\ - "enabled":true }}' - #test for Content-Type = application/json - - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/json", - "X-Auth-Token": self.auth_token}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(400, int(resp['status'])) - - def test_update_tenant_bad_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - url = '%stenants/%s' % (URL, self.tenant) - data = ' \ - \ - A NEW description... \ - ' - #test for Content-Type = application/json - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(400, int(resp['status'])) - - def test_update_tenant_not_found(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - url = '%stenants/NonexistingID' % (URL) - data = '{"tenant": { "description": "A NEW description...",\ - "enabled":true }}' - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body=data, - headers={"Content-Type": "application/json", - "X-Auth-Token": self.auth_token}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(404, int(resp['status'])) - - def test_update_tenant_not_found_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - url = '%stenants/NonexistingID' % (URL) - data = ' \ - \ - A NEW description... \ - ' - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body=data, - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(404, int(resp['status'])) - - -class delete_tenant_test(tenant_test): - - def test_delete_tenant_not_found(self): - #resp,content=create_tenant("test_tenant_delete", str(self.auth_token)) - resp, content = delete_tenant("test_tenant_delete111", - str(self.auth_token)) - self.assertEqual(404, int(resp['status'])) - - def test_delete_tenant_not_found_xml(self): - #resp,content=create_tenant("test_tenant_delete", str(self.auth_token)) - resp, content = delete_tenant_xml("test_tenant_delete111", - str(self.auth_token)) - self.assertEqual(404, int(resp['status'])) - - def test_delete_tenant(self): - resp, content = create_tenant("test_tenant_delete", - str(self.auth_token)) - resp, content = delete_tenant("test_tenant_delete", - str(self.auth_token)) - self.assertEqual(204, int(resp['status'])) - - def test_delete_tenant_xml(self): - resp, content = create_tenant_xml("test_tenant_delete", - str(self.auth_token)) - resp, content = delete_tenant_xml("test_tenant_delete", - str(self.auth_token)) - self.assertEqual(204, int(resp['status'])) - - -class tenant_group_test(unittest.TestCase): - - def setUp(self): - self.token = get_token('joeuser', 'secrete', 'token') - self.tenant = 'test_tenant' - self.user = get_user() - self.userdisabled = get_userdisabled() - self.auth_token = get_auth_token() - self.exp_auth_token = get_exp_auth_token() - self.disabled_token = get_disabled_token() - self.tenant_group = 'test_tenant_group_add' - - def tearDown(self): - resp, content = delete_tenant_group(self.tenant_group, - self.tenant, - self.auth_token) - resp, content = delete_tenant(self.tenant, self.auth_token) - - -class create_tenant_group_test(tenant_group_test): - - def test_tenant_group_create(self): - resp, content = delete_tenant(self.tenant, str(self.auth_token)) - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = delete_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - if int(respG['status']) not in (200, 201): - self.fail('Failed due to %d' % int(respG['status'])) - - def test_tenant_group_create_xml(self): - resp, content = delete_tenant_xml(self.tenant, str(self.auth_token)) - resp, content = create_tenant_xml(self.tenant, str(self.auth_token)) - respG, contentG = delete_tenant_group_xml(self.tenant_group, - self.tenant, - str(self.auth_token)) - respG, contentG = create_tenant_group_xml(self.tenant_group, - self.tenant, - str(self.auth_token)) - self.tenant = self.tenant - self.tenant_group = self.tenant_group - content = etree.fromstring(content) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - if int(respG['status']) not in (200, 201): - self.fail('Failed due to %d' % int(respG['status'])) - - def test_tenant_group_create_again(self): - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - if int(respG['status']) == 200: - self.tenant = content['tenant']['id'] - self.tenant_group = contentG['group']['id'] - if int(respG['status']) == 500: - self.fail('IDM fault') - elif int(respG['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(409, int(respG['status'])) - if int(respG['status']) == 200: - self.tenant = content['tenant']['id'] - self.tenant_group = contentG['group']['id'] - - def test_tenant_group_create_again_xml(self): - resp, content = create_tenant_xml("test_tenant", str(self.auth_token)) - respG, contentG = create_tenant_group_xml(self.tenant_group, - self.tenant, - str(self.auth_token)) - respG, contentG = create_tenant_group_xml(self.tenant_group, - self.tenant, - str(self.auth_token)) - content = etree.fromstring(content) - contentG = etree.fromstring(contentG) - if int(respG['status']) == 200: - self.tenant = content.get("id") - self.tenant_group = contentG.get("id") - if int(respG['status']) == 500: - self.fail('IDM fault') - elif int(respG['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(409, int(respG['status'])) - if int(respG['status']) == 200: - self.tenant = content.get("id") - self.tenant_group = contentG.get("id") - - def test_tenant_group_create_unauthorized_token(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group_xml(self.tenant_group, - self.tenant, - str(self.auth_token)) - if int(resp['status']) == 200: - self.tenant = content['tenant']['id'] - if int(respG['status']) == 200: - self.tenant_group = respG['group']['id'] - url = '%stenant/%s/groups' % (URL, self.tenant) - body = {"group": {"id": self.tenant_group, - "description": "A description ..."}} - resp, content = h.request(url, "POST", body=json.dumps(body), - headers={"Content-Type": "application/json", - "X-Auth-Token": self.token}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(401, int(resp['status'])) - - def test_tenant_group_create_unauthorized_token_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - if int(resp['status']) == 200: - self.tenant = content['tenant']['id'] - url = '%stenant/%s/groups' % (URL, self.tenant) - body = ' \ - A description... \ - ' % self.tenant_group - resp, content = h.request(url, "POST", body=body, - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(401, int(resp['status'])) - - def test_tenant_group_create_expired_token(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - if int(resp['status']) == 200: - self.tenant = content['tenant']['id'] - url = '%stenant/%s/groups' % (URL, self.tenant) - body = {"group": {"id": self.tenant_group, - "description": "A description ..."}} - resp, content = h.request(url, "POST", body=json.dumps(body), - headers={"Content-Type": "application/json", - "X-Auth-Token": self.exp_auth_token}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(resp['status'])) - - def test_tenant_group_create_expired_token_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant_xml(self.tenant, str(self.auth_token)) - content = etree.fromstring(content) - if int(resp['status']) == 200: - self.tenant = content.get('id') - url = '%stenant/%s/groups' % (URL, self.tenant) - body = ' \ - \ - A description... \ - ' % self.tenant - resp, content = h.request(url, "POST", body=body, - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.exp_auth_token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(resp['status'])) - - def test_tenant_group_create_missing_token(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - if int(resp['status']) == 200: - self.tenant = content['tenant']['id'] - url = '%stenant/%s/groups' % (URL, self.tenant) - body = {"group": {"id": self.tenant_group, - "description": "A description ..."}} - resp, content = h.request(url, "POST", body=json.dumps(body), - headers={"Content-Type": "application/json"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(401, int(resp['status'])) - - - def test_tenant_group_create_missing_token_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant_xml(self.tenant, str(self.auth_token)) - content = etree.fromstring(content) - if int(resp['status']) == 200: - self.tenant = content.get('id') - url = '%stenant/%s/groups' % (URL, self.tenant) - body = ' \ - \ - A description... \ - ' % self.tenant_group - resp, content = h.request(url, "POST", body=body, - headers={"Content-Type": "application/xml", - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(401, int(resp['status'])) - - - def test_tenant_group_create_disabled_token(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - if int(resp['status']) == 200: - self.tenant = content['tenant']['id'] - - url = '%stenant/%s/groups' % (URL, self.tenant) - body = '{"group": { "id": "%s", \ - "description": "A description ..." } }' % self.tenant_group - resp, content = h.request(url, "POST", body=body, - headers={"Content-Type": "application/json", - "X-Auth-Token": self.disabled_token}) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(resp['status'])) - - def test_tenant_group_create_disabled_token_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant_xml(self.tenant, str(self.auth_token)) - content = etree.fromstring(content) - if int(resp['status']) == 200: - self.tenant = content.get('id') - - url = '%stenant/%s/groups' % (URL, self.tenant) - body = ' \ - \ - A description... \ - ' % self.tenant_group - resp, content = h.request(url, "POST", body=body, - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.disabled_token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(resp['status'])) - - def test_tenant_group_create_invalid_token(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - if int(resp['status']) == 200: - self.tenant = content['tenant']['id'] - - url = '%stenant/%s/groups' % (URL, self.tenant) - body = '{"group": { "id": "%s", \ - "description": "A description ..." } }' % self.tenant - resp, content = h.request(url, "POST", body=body, - headers={"Content-Type": "application/json", - "X-Auth-Token": 'nonexsitingtoken'}) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(404, int(resp['status'])) - - def test_tenant_group_create_invalid_token_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant_xml(self.tenant, str(self.auth_token)) - content = etree.fromstring(content) - if int(resp['status']) == 200: - self.tenant = content.get('id') - - url = '%stenant/%s/groups' % (URL, self.tenant) - body = ' \ - \ - A description... \ - ' % self.tenant_group - resp, content = h.request(url, "POST", body=body, - headers={"Content-Type": "application/xml", - "X-Auth-Token": 'nonexsitingtoken', - "ACCEPT": "application/xml"}) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(404, int(resp['status'])) - - -class get_tenant_groups_test(tenant_group_test): - - def test_get_tenant_groups(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - - url = '%stenant/%s/groups' % (URL, self.tenant) - - resp, content = h.request(url, "GET", body='{}', - headers={"Content-Type": "application/json", - "X-Auth-Token": self.auth_token}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(200, int(resp['status'])) - - def test_get_tenant_groups_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - - respG, contentG = create_tenant_group_xml(self.tenant_group, - self.tenant, - str(self.auth_token)) - url = '%stenant/%s/groups' % (URL, self.tenant) - resp, content = h.request(url, "GET", body='', - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(200, int(resp['status'])) - - def test_get_tenant_groups_unauthorized_token(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - url = '%stenant/%s/groups' % (URL, self.tenant) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='{}', - headers={"Content-Type": "application/json", - "X-Auth-Token": self.token}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(401, int(resp['status'])) - - def test_get_tenant_groups_unauthorized_token_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - url = '%stenant/%s/groups' % (URL, self.tenant) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='', - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(401, int(resp['status'])) - - def test_get_tenant_groups_exp_token(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - url = '%stenant/%s/groups' % (URL, self.tenant) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='{}', - headers={"Content-Type": "application/json", - "X-Auth-Token": self.exp_auth_token}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(resp['status'])) - - def test_get_tenant_groups_exp_token_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - url = '%stenant/%s/groups' % (URL, self.tenant) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='', - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.exp_auth_token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(resp['status'])) - - -class get_tenant_group_test(tenant_group_test): - - def test_get_tenant_group(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - url = '%stenant/%s/groups/%s' % (URL, self.tenant, self.tenant_group) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='{}', - headers={"Content-Type": "application/json", - "X-Auth-Token": self.auth_token}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(200, int(resp['status'])) - - def test_get_tenant_group_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - url = '%stenant/%s/groups/%s' % (URL, self.tenant, self.tenant_group) - #test for Content-Type = application/xml - resp, content = h.request(url, "GET", body='', - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(200, int(resp['status'])) - - def test_get_tenant_group_bad(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - url = '%stenant/%s/groups/%s' % (URL, 'tenant_bad', self.tenant_group) - - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='{', - headers={"Content-Type": "application/json", - "X-Auth-Token": self.auth_token}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(404, int(resp['status'])) - - def test_get_tenant_group_bad_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - url = '%stenant/%s/groups/%s' % (URL, 'tenant_bad', self.tenant_group) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='{', - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(404, int(resp['status'])) - - def test_get_tenant_group_not_found(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - url = '%stenant/%s/groups/%s' % (URL, self.tenant, 'nonexistinggroup') - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='{}', - headers={"Content-Type": "application/json", - "X-Auth-Token": self.auth_token}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(404, int(resp['status'])) - - def test_get_tenant_group_not_found_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - url = '%stenant/%s/groups/%s' % (URL, self.tenant, 'nonexistinggroup') - - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='', - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(404, int(resp['status'])) - - -class update_tenant_group_test(tenant_group_test): - - def test_update_tenant_group(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - resp, content = delete_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - url = '%stenant/%s/groups/%s' % (URL, self.tenant, self.tenant_group) - - data = '{"group": { "id":"%s","description": "A NEW description..." ,\ - "tenantId":"%s" }}' % (self.tenant_group, self.tenant) - #test for Content-Type = application/json - - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/json", - "X-Auth-Token": self.auth_token}) - - - body = json.loads(content) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(200, int(resp['status'])) - self.assertEqual(self.tenant_group, body['group']['id']) - self.assertEqual('A NEW description...', body['group']['description']) - - def test_update_tenant_group_xml(self): - h = httplib2.Http(".cache") - resp, content = delete_tenant(self.tenant, str(self.auth_token)) - - resp, content = create_tenant(self.tenant, str(self.auth_token)) - - resp, content = delete_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - - url = '%stenant/%s/groups/%s' % (URL, self.tenant , self.tenant_group) - - data = ' \ - A NEW description... \ - ' % (self.tenant, self.tenant_group) - - #test for Content-Type = application/json - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - - - body = etree.fromstring(content) - desc = body.find("{http://docs.openstack.org/idm/api/v1.0}description") - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - - self.assertEqual(200, int(resp['status'])) - self.assertEqual(str(self.tenant_group), str(body.get('id'))) - self.assertEqual('A NEW description...', desc.text) - - def test_update_tenant_group_bad(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - resp, content = delete_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - url = '%stenant/%s/groups/%s' % (URL, self.tenant, self.tenant_group) - data = '{"group": { "description_bad": "A NEW description...",\ - "id":"%s","tenantId":"%s" }}' % (self.tenant_group, self.tenant) - #test for Content-Type = application/json - - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/json", - "X-Auth-Token": self.auth_token}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(400, int(resp['status'])) - - def test_update_tenant_group_bad_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - resp, content = delete_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - url = '%stenant/%s/groups/%s' % (URL, self.tenant, self.tenant_group) - data = ' \ - \ - A NEW description... \ - ' % (self.tenant, self.tenant_group) - #test for Content-Type = application/json - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(400, int(resp['status'])) - - def test_update_tenant_group_not_found(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - resp, content = delete_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - url = '%stenant/%s/groups/NonexistingID' % (URL, self.tenant) - - data = '{"group": { "description": "A NEW description...",\ - "id":"NonexistingID", "tenantId"="test_tenant" }}' - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body=data, - headers={"Content-Type": "application/json", - "X-Auth-Token": self.auth_token}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(404, int(resp['status'])) - - def test_update_tenant_group_not_found_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - url = '%stenant/%s/groups/NonexistingID' % (URL, self.tenant) - data = ' \ - \ - A NEW description... \ - ' - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body=data, - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(404, int(resp['status'])) - - -class delete_tenant_group_test(tenant_test): - - def test_delete_tenant_group_not_found(self): - #resp,content=create_tenant("test_tenant_delete", str(self.auth_token)) - resp, content = delete_tenant_group("test_tenant_delete111", - self.tenant, - str(self.auth_token)) - self.assertEqual(404, int(resp['status'])) - - def test_delete_tenant_group_not_found_xml(self): - #resp,content=create_tenant("test_tenant_delete", str(self.auth_token)) - resp, content = delete_tenant_group_xml("test_tenant_delete111", - self.tenant, - str(self.auth_token)) - self.assertEqual(404, int(resp['status'])) - - def test_delete_tenant_group(self): - resp, content = create_tenant("test_tenant_delete", - str(self.auth_token)) - respG, contentG = create_tenant_group('test_tenant_group_delete', - "test_tenant_delete", - str(self.auth_token)) - respG, contentG = delete_tenant_group('test_tenant_group_delete', - "test_tenant_delete", - str(self.auth_token)) - resp, content = delete_tenant("test_tenant_delete", - str(self.auth_token)) - self.assertEqual(204, int(respG['status'])) - - def test_delete_tenant_group_xml(self): - resp, content = create_tenant("test_tenant_delete", - str(self.auth_token)) - respG, contentG = create_tenant_group('test_tenant_group_delete', - "test_tenant_delete", - str(self.auth_token)) - respG, contentG = delete_tenant_group('test_tenant_group_delete', - "test_tenant_delete", - str(self.auth_token)) - resp, content = delete_tenant_xml("test_tenant_delete", - str(self.auth_token)) - self.assertEqual(204, int(respG['status'])) - - -class add_user_tenant_group_test(unittest.TestCase): - - def setUp(self): - self.token = get_token('joeuser', 'secrete', 'token') - self.tenant = 'test_tenant' - self.user = get_user() - self.userdisabled = get_userdisabled() - self.auth_token = get_auth_token() - self.exp_auth_token = get_exp_auth_token() - self.disabled_token = get_disabled_token() - self.tenant_group = 'test_tenant_group_add' - - def tearDown(self): - respG, contentG = delete_user_tenant_group(self.tenant, - self.tenant_group, - self.user, - str(self.auth_token)) - - respG, contentG = delete_user(self.tenant, self.user, - str(self.auth_token)) - resp, content = delete_tenant_group(self.tenant_group, - self.tenant, - self.auth_token) - resp, content = delete_tenant(self.tenant, self.auth_token) - - - def test_add_user_tenant_group(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - respG, contentG = add_user_tenant_group(self.tenant, self.tenant_group, - self.user, str(self.auth_token) - ) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - if int(respG['status']) not in (200, 201): - self.fail('Failed due to %d' % int(respG['status'])) - - - def test_add_user_tenant_group_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - respG, contentG = add_user_tenant_group_xml(self.tenant, - self.tenant_group, - self.user, - str(self.auth_token)) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - if int(respG['status']) not in (200, 201): - self.fail('Failed due to %d' % int(respG['status'])) - - - def test_add_user_tenant_group_conflict(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - respG, contentG = add_user_tenant_group(self.tenant, self.tenant_group, - self.user, str(self.auth_token) - ) - respG, contentG = add_user_tenant_group(self.tenant, self.tenant_group, - self.user, str(self.auth_token) - ) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(409, int(respG['status'])) - - def test_add_user_tenant_group_conflict_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - respG, contentG = add_user_tenant_group_xml(self.tenant, self.tenant_group, - self.user, str(self.auth_token) - ) - respG, contentG = add_user_tenant_group_xml(self.tenant, self.tenant_group, - self.user, str(self.auth_token) - ) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(409, int(respG['status'])) - - def test_add_user_tenant_group_unauthorized(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - - respG, contentG = add_user_tenant_group(self.tenant, self.tenant_group, - self.user, self.token) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(401, int(respG['status'])) - - def test_add_user_tenant_group_unauthorized_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - - respG, contentG = add_user_tenant_group_xml(self.tenant, self.tenant_group, - self.user, self.token) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(401, int(respG['status'])) - - def test_add_user_tenant_group_forbidden(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - - respG, contentG = add_user_tenant_group(self.tenant, self.tenant_group, - self.user, self.disabled_token) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(respG['status'])) - - def test_add_user_tenant_group_forbidden_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - - respG, contentG = add_user_tenant_group_xml(self.tenant, self.tenant_group, - self.user, self.disabled_token) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(respG['status'])) - - -class get_users_tenant_group_test(add_user_tenant_group_test): - - def setUp(self): - self.token = get_token('joeuser', 'secrete', 'token') - self.tenant = 'test_tenant' - self.user = get_user() - self.userdisabled = get_userdisabled() - self.auth_token = get_auth_token() - self.exp_auth_token = get_exp_auth_token() - self.disabled_token = get_disabled_token() - self.tenant_group = 'test_tenant_group_add' - - def tearDown(self): - respG, contentG = delete_user_tenant_group(self.tenant, - self.tenant_group, - self.user, - str(self.auth_token)) - - respG, contentG = delete_user(self.tenant, self.user, - str(self.auth_token)) - resp, content = delete_tenant_group(self.tenant_group, - self.tenant, - self.auth_token) - resp, content = delete_tenant(self.tenant, self.auth_token) - - def test_get_users_tenant_group(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - respG, contentG = add_user_tenant_group(self.tenant, self.tenant_group, - self.user, str(self.auth_token) - ) - respG, contentG = get_user_tenant_group(self.tenant, self.tenant_group, - str(self.auth_token) - ) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(200, int(respG['status'])) - - - def test_get_users_tenant_group_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - respG, contentG = add_user_tenant_group_xml(self.tenant, - self.tenant_group, - self.user, - str(self.auth_token)) - respG, contentG = get_user_tenant_group_xml(self.tenant, - self.tenant_group, - str(self.auth_token) - ) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(200, int(respG['status'])) - - - def test_get_users_tenant_group_unauthorized(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - - respG, contentG = add_user_tenant_group(self.tenant, self.tenant_group, - self.user, self.auth_token) - - respG, contentG = get_user_tenant_group(self.tenant, self.tenant_group, - str(self.token) - ) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(401, int(respG['status'])) - - def test_get_users_tenant_group_unauthorized_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - - respG, contentG = add_user_tenant_group(self.tenant, self.tenant_group, - self.user, self.auth_token) - respG, contentG = get_user_tenant_group_xml(self.tenant, - self.tenant_group, - str(self.token) - ) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(401, int(respG['status'])) - - def test_get_users_tenant_group_forbidden(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - - respG, contentG = add_user_tenant_group(self.tenant, self.tenant_group, - self.user, self.auth_token) - respG, contentG = get_user_tenant_group(self.tenant, - self.tenant_group, - str(self.disabled_token) - ) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(respG['status'])) - - def test_get_users_tenant_group_forbidden_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - - respG, contentG = add_user_tenant_group(self.tenant, self.tenant_group, - self.user, self.auth_token) - respG, contentG = get_user_tenant_group_xml(self.tenant, - self.tenant_group, - str(self.disabled_token) - ) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(respG['status'])) - - def test_get_users_tenant_group_expired(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - - respG, contentG = add_user_tenant_group(self.tenant, self.tenant_group, - self.user, self.auth_token) - respG, contentG = get_user_tenant_group(self.tenant, self.tenant_group, - str(self.exp_auth_token) - ) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(respG['status'])) - - def test_get_users_tenant_group_expired_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - - respG, contentG = add_user_tenant_group(self.tenant, self.tenant_group, - self.user, self.auth_token) - respG, contentG = get_user_tenant_group_xml(self.tenant, - self.tenant_group, - str(self.exp_auth_token) - ) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(respG['status'])) - -class delete_users_tenant_group_test(add_user_tenant_group_test): - - def test_delete_user_tenant_group(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - respG, contentG = add_user_tenant_group(self.tenant, self.tenant_group, - self.user, str(self.auth_token) - ) - respG, contentG = delete_user_tenant_group(self.tenant, - self.tenant_group, - self.user, - str(self.auth_token) - ) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(204, int(respG['status'])) - - - def test_delete_user_tenant_group_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant(self.tenant, str(self.auth_token)) - respG, contentG = create_tenant_group(self.tenant_group, - self.tenant, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - respG, contentG = add_user_tenant_group_xml(self.tenant, - self.tenant_group, - self.user, - str(self.auth_token)) - respG, contentG = delete_user_tenant_group_xml(self.tenant, - self.tenant_group, - self.user, - str(self.auth_token)) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(204, int(respG['status'])) - - def test_delete_user_tenant_group_notfound(self): - h = httplib2.Http(".cache") - - respG, contentG = delete_user_tenant_group(self.tenant, - self.tenant_group, - 'NonExistinguser', - str(self.auth_token) - ) - - if int(respG['status']) == 500: - self.fail('IDM fault') - elif int(respG['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(404, int(respG['status'])) - - def test_delete_user_tenant_group_notfound_xml(self): - h = httplib2.Http(".cache") - - respG, contentG = delete_user_tenant_group_xml(self.tenant, - self.tenant_group, - 'NonExistinguser', - str(self.auth_token) - ) - - if int(respG['status']) == 500: - self.fail('IDM fault') - elif int(respG['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(404, int(respG['status'])) - - -## -## Global Group Tests -## -class global_group_test(unittest.TestCase): - - def setUp(self): - self.token = get_token('joeuser', 'secrete', 'token') - self.globaltenant = get_global_tenant() - self.user = get_user() - self.userdisabled = get_userdisabled() - self.auth_token = get_auth_token() - self.exp_auth_token = get_exp_auth_token() - self.disabled_token = get_disabled_token() - self.global_group = 'test_global_group_add' - - def tearDown(self): - resp, content = delete_global_group(self.global_group, - self.auth_token) - resp, content = delete_tenant(self.globaltenant, self.auth_token) - - -class create_global_group_test(global_group_test): - - def test_global_group_create(self): - respG, contentG = delete_global_group(self.global_group, - str(self.auth_token)) - respG, contentG = create_global_group(self.global_group, - str(self.auth_token)) - - if int(respG['status']) == 500: - self.fail('IDM fault') - elif int(respG['status']) == 503: - self.fail('Service Not Available') - if int(respG['status']) not in (200, 201): - self.fail('Failed due to %d' % int(respG['status'])) - - def test_global_group_create_xml(self): - respG, contentG = delete_global_group_xml(self.global_group, - str(self.auth_token)) - - respG, contentG = create_global_group_xml(self.global_group, - str(self.auth_token)) - - if int(respG['status']) == 500: - self.fail('IDM fault') - elif int(respG['status']) == 503: - self.fail('Service Not Available') - - if int(respG['status']) not in (200, 201): - self.fail('Failed due to %d' % int(respG['status'])) - - def test_global_group_create_again(self): - respG, contentG = create_global_group(self.global_group, - str(self.auth_token)) - respG, contentG = create_global_group(self.global_group, - str(self.auth_token)) - if int(respG['status']) == 500: - self.fail('IDM fault') - elif int(respG['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(409, int(respG['status'])) - - - def test_global_group_create_again_xml(self): - respG, contentG = create_global_group_xml(self.global_group, - str(self.auth_token)) - respG, contentG = create_global_group_xml(self.global_group, - str(self.auth_token)) - contentG = etree.fromstring(contentG) - if int(respG['status']) == 500: - self.fail('IDM fault') - elif int(respG['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(409, int(respG['status'])) - - - def test_global_group_create_unauthorized_token(self): - h = httplib2.Http(".cache") - respG, contentG = create_global_group_xml(self.global_group, - str(self.auth_token)) - url = '%sgroups' % (URL) - body = {"group": {"id": self.global_group, - "description": "A description ..."}} - resp, content = h.request(url, "POST", body=json.dumps(body), - headers={"Content-Type": "application/json", - "X-Auth-Token": self.token}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(401, int(resp['status'])) - - def test_global_group_create_unauthorized_token_xml(self): - h = httplib2.Http(".cache") - url = '%sgroups' % (URL) - body = ' \ - \ - A description... \ - ' % self.global_group - resp, content = h.request(url, "POST", body=body, - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(401, int(resp['status'])) - - def test_global_group_create_expired_token(self): - h = httplib2.Http(".cache") - url = '%sgroups' % (URL) - body = {"group": {"id": self.global_group, - "description": "A description ..."}} - resp, content = h.request(url, "POST", body=json.dumps(body), - headers={"Content-Type": "application/json", - "X-Auth-Token": self.exp_auth_token - }) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(resp['status'])) - - def test_global_group_create_expired_token_xml(self): - h = httplib2.Http(".cache") - url = '%sgroups' % (URL) - body = ' \ - A description... \ - ' % self.globaltenant - resp, content = h.request(url, "POST", body=body, - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.exp_auth_token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(resp['status'])) - - def test_global_group_create_missing_token(self): - h = httplib2.Http(".cache") - url = '%sgroups' % (URL) - body = {"group": {"id": self.global_group, - "description": "A description ..."}} - resp, content = h.request(url, "POST", body=json.dumps(body), - headers={"Content-Type": "application/json"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(401, int(resp['status'])) - - def test_global_group_create_missing_token_xml(self): - h = httplib2.Http(".cache") - url = '%sgroups' % (URL) - body = ' \ - A description... \ - ' % self.global_group - resp, content = h.request(url, "POST", body=body, - headers={"Content-Type": "application/xml", - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(401, int(resp['status'])) - - def test_global_group_create_disabled_token(self): - h = httplib2.Http(".cache") - url = '%sgroups' % (URL) - body = '{"group": { "id": "%s", \ - "description": "A description ..." } }' % self.global_group - resp, content = h.request(url, "POST", body=body, - headers={"Content-Type": "application/json", - "X-Auth-Token": self.disabled_token - }) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(resp['status'])) - - def test_global_group_create_disabled_token_xml(self): - h = httplib2.Http(".cache") - url = '%sgroups' % (URL) - body = ' \ - A description... \ - ' % self.global_group - resp, content = h.request(url, "POST", body=body, - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.disabled_token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(resp['status'])) - - def test_global_group_create_invalid_token(self): - h = httplib2.Http(".cache") - url = '%sgroups' % (URL) - body = '{"group": { "id": "%s", \ - "description": "A description ..." } }' % self.globaltenant - resp, content = h.request(url, "POST", body=body, - headers={"Content-Type": "application/json", - "X-Auth-Token": 'nonexsitingtoken'}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(404, int(resp['status'])) - - def test_global_group_create_invalid_token_xml(self): - h = httplib2.Http(".cache") - url = '%sgroups' % (URL) - body = ' \ - A description... \ - ' % self.global_group - resp, content = h.request(url, "POST", body=body, - headers={"Content-Type": "application/xml", - "X-Auth-Token": 'nonexsitingtoken', - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(404, int(resp['status'])) - - -class get_global_groups_test(global_group_test): - - def test_get_global_groups(self): - h = httplib2.Http(".cache") - respG, contentG = delete_global_group(self.global_group, - str(self.auth_token)) - respG, contentG = create_global_group(self.global_group, - str(self.auth_token)) - - url = '%sgroups' % (URL) - resp, content = h.request(url, "GET", body='{}', - headers={"Content-Type": "application/json", - "X-Auth-Token": self.auth_token}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(200, int(resp['status'])) - - def test_get_global_groups_xml(self): - h = httplib2.Http(".cache") - respG, contentG = create_global_group_xml(self.global_group, - str(self.auth_token)) - url = '%sgroups' % (URL) - resp, content = h.request(url, "GET", body='', - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(200, int(resp['status'])) - - def test_get_global_groups_unauthorized_token(self): - h = httplib2.Http(".cache") - respG, contentG = create_global_group(self.global_group, - str(self.auth_token)) - url = '%sgroups' % (URL) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='{}', - headers={"Content-Type": "application/json", - "X-Auth-Token": self.token}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(401, int(resp['status'])) - - def test_get_global_groups_unauthorized_token_xml(self): - h = httplib2.Http(".cache") - respG, contentG = create_global_group_xml(self.global_group, - str(self.auth_token)) - url = '%sgroups' % (URL) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='', - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(401, int(resp['status'])) - - def test_get_global_groups_exp_token(self): - h = httplib2.Http(".cache") - respG, contentG = create_global_group(self.global_group, - str(self.auth_token)) - url = '%sgroups' % (URL) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='{}', - headers={"Content-Type": "application/json", - "X-Auth-Token": self.exp_auth_token - }) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(resp['status'])) - - def test_get_global_groups_exp_token_xml(self): - h = httplib2.Http(".cache") - respG, contentG = create_global_group_xml(self.global_group, - str(self.auth_token)) - url = '%sgroups' % (URL) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='', - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.exp_auth_token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(resp['status'])) - - -class get_global_group_test(global_group_test): - - def test_get_global_group(self): - h = httplib2.Http(".cache") - respG, contentG = create_global_group(self.global_group, - str(self.auth_token)) - url = '%sgroups/%s' % (URL, self.global_group) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='{}', - headers={"Content-Type": "application/json", - "X-Auth-Token": self.auth_token}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(200, int(resp['status'])) - - def test_get_global_group_xml(self): - h = httplib2.Http(".cache") - respG, contentG = create_global_group_xml(self.global_group, - str(self.auth_token)) - url = '%sgroups/%s' % (URL, self.global_group) - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='', - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(200, int(resp['status'])) - - def test_get_global_group_bad(self): - h = httplib2.Http(".cache") - respG, contentG = create_global_group(self.global_group, - str(self.auth_token)) - url = '%sgroups/%s' % (URL, 'global_group_bad') - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='', - headers={"Content-Type": "application/json", - "X-Auth-Token": self.auth_token}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(404, int(resp['status'])) - - def test_get_global_group_bad_xml(self): - h = httplib2.Http(".cache") - respG, contentG = create_global_group_xml(self.global_group, - str(self.auth_token)) - url = '%sgroups/%s' % (URL , 'global_group_bad') - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body='', - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(404, int(resp['status'])) - - - -class update_global_groups_test(global_group_test): - - def test_update_global_group(self): - h = httplib2.Http(".cache") - respG, contentG = create_global_group(self.global_group, - str(self.auth_token)) - url = '%sgroups/%s' % (URL, self.global_group) - resp, content = h.request(url, "PUT", body='{"group":{\ - "id" : "%s","description" :\ - "A New description of the group..."}}' % self.global_group, - headers={"Content-Type": "application/json", - "X-Auth-Token": self.auth_token}) - body = json.loads(content) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(200, int(resp['status'])) - self.assertEqual(self.global_group, body['group']['id']) - self.assertEqual('A New description of the group...', - str(body['group']['description'])) - - def test_update_global_group_xml(self): - h = httplib2.Http(".cache") - respG, contentG = create_global_group(self.global_group, - str(self.auth_token)) - - url = '%sgroups/%s' % (URL, self.global_group) - data = u' \ - A NEW description... \ - ' % (self.global_group) - #test for Content-Type = application/json - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - - body = etree.fromstring(content) - desc = body.find("{http://docs.openstack.org/idm/api/v1.0}description") - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(200, int(resp['status'])) - self.assertEqual(str(self.global_group), str(body.get('id'))) - self.assertEqual('A NEW description...', desc.text) - - def test_update_global_group_bad(self): - h = httplib2.Http(".cache") - respG, contentG = create_global_group(self.global_group, - str(self.auth_token)) - url = '%sgroups/%s' % (URL, self.global_group) - data = '{"group": { "description_bad": "A NEW description...", \ - "id":"%s" }}'\ - % (self.global_group) - #test for Content-Type = application/json - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/json", - "X-Auth-Token": self.auth_token}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(400, int(resp['status'])) - - def test_update_global_group_bad_xml(self): - h = httplib2.Http(".cache") - respG, contentG = create_global_group_xml(self.global_group, - str(self.auth_token)) - url = '%sgroups/%s' % (URL, self.global_group) - data = ' \ - A NEW description... \ - ' % (self.global_group) - #test for Content-Type = application/json - resp, content = h.request(url, "PUT", body=data, - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(400, int(resp['status'])) - - def test_update_global_group_not_found(self): - h = httplib2.Http(".cache") - respG, contentG = create_global_group(self.global_group, - str(self.auth_token)) - url = '%sgroups/NonexistingID' % (URL) - data = '{"group": { "description": "A NEW description...", \ - "id":"NonexistingID"}}' - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body=data, - headers={"Content-Type": "application/json", - "X-Auth-Token": self.auth_token}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(404, int(resp['status'])) - - def test_update_global_group_not_found_xml(self): - h = httplib2.Http(".cache") - resp, content = create_tenant_xml(self.globaltenant, - str(self.auth_token)) - url = '%sgroups/NonexistingID' % (URL) - data = ' \ - \ - A NEW description... \ - ' - #test for Content-Type = application/json - resp, content = h.request(url, "GET", body=data, - headers={"Content-Type": "application/xml", - "X-Auth-Token": self.auth_token, - "ACCEPT": "application/xml"}) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(404, int(resp['status'])) - - -class delete_global_group_test(global_group_test): - - def test_delete_global_group_not_found(self): - resp, content = delete_global_group("test_global_group_1", - str(self.auth_token)) - self.assertEqual(404, int(resp['status'])) - - def test_delete_global_group_not_found_xml(self): - resp, content = delete_global_group_xml("test_global_group_1", - str(self.auth_token)) - self.assertEqual(404, int(resp['status'])) - - def test_delete_global_group(self): - resp, content = create_tenant(self.globaltenant, str(self.auth_token)) - respG, contentG = create_tenant_group('test_global_group_delete', - self.globaltenant, - str(self.auth_token)) - respG, contentG = delete_global_group('test_global_group_delete', - str(self.auth_token)) - resp, content = delete_tenant(self.globaltenant, - str(self.auth_token)) - self.assertEqual(204, int(respG['status'])) - - def test_delete_global_group_xml(self): - resp, content = create_tenant_xml(self.globaltenant, - str(self.auth_token)) - respG, contentG = create_tenant_group_xml('test_global_group_delete', - self.globaltenant, - str(self.auth_token)) - respG, contentG = delete_global_group_xml('test_global_group_delete', - str(self.auth_token)) - resp, content = delete_tenant_xml(self.globaltenant, - str(self.auth_token)) - self.assertEqual(204, int(respG['status'])) - - -class add_user_global_group_test(unittest.TestCase): - - def setUp(self): - self.token = get_token('joeuser', 'secrete', 'token') - self.tenant = get_global_tenant() - self.user = get_user() - self.userdisabled = get_userdisabled() - self.auth_token = get_auth_token() - self.exp_auth_token = get_exp_auth_token() - self.disabled_token = get_disabled_token() - self.tenant_group = 'test_global_group' - - - - def tearDown(self): - respG, contentG = delete_user_global_group(self.tenant_group, - self.user, - str(self.auth_token)) - - respG, contentG = delete_user(self.tenant, self.user, - str(self.auth_token)) - resp, content = delete_global_group(self.tenant_group, - self.auth_token) - - - - def test_add_user_global_group(self): - h = httplib2.Http(".cache") - resp, content = create_global_group(self.tenant_group, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - respG, contentG = add_user_global_group(self.tenant_group, - self.user, str(self.auth_token) - ) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - if int(respG['status']) not in (200, 201): - self.fail('Failed due to %d' % int(respG['status'])) - - - def test_add_user_global_group_xml(self): - h = httplib2.Http(".cache") - resp, content = create_global_group(self.tenant_group, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - respG, contentG = add_user_global_group_xml(self.tenant_group, - self.user, str(self.auth_token) - ) - - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - if int(respG['status']) not in (200, 201): - self.fail('Failed due to %d' % int(respG['status'])) - - - def test_add_user_global_group_conflict(self): - h = httplib2.Http(".cache") - resp, content = create_global_group(self.tenant_group, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - respG, contentG = add_user_global_group(self.tenant_group, - self.user, str(self.auth_token) - ) - respG, contentG = add_user_global_group(self.tenant_group, - self.user, str(self.auth_token) - ) - - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(409, int(respG['status'])) - - def test_add_user_global_group_conflict_xml(self): - h = httplib2.Http(".cache") - resp, content = create_global_group(self.tenant_group, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - respG, contentG = add_user_global_group_xml(self.tenant_group, - self.user, str(self.auth_token) - ) - respG, contentG = add_user_global_group_xml(self.tenant_group, - self.user, str(self.auth_token) - ) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(409, int(respG['status'])) - - def test_add_user_global_group_unauthorized(self): - h = httplib2.Http(".cache") - resp, content = create_global_group(self.tenant_group, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - respG, contentG = add_user_global_group(self.tenant_group, - self.user, str(self.token) - ) - - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(401, int(respG['status'])) - - def test_add_user_global_group_unauthorized_xml(self): - h = httplib2.Http(".cache") - resp, content = create_global_group(self.tenant_group, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - respG, contentG = add_user_global_group_xml(self.tenant_group, - self.user, str(self.token) - ) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(401, int(respG['status'])) - - def test_add_user_global_group_forbidden(self): - h = httplib2.Http(".cache") - resp, content = create_global_group(self.tenant_group, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - respG, contentG = add_user_global_group(self.tenant_group, - self.user, - str(self.disabled_token) - ) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(respG['status'])) - - def test_add_user_global_group_forbidden_xml(self): - h = httplib2.Http(".cache") - resp, content = create_global_group(self.tenant_group, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - respG, contentG = add_user_global_group_xml(self.tenant_group, - self.user, - str(self.disabled_token) - ) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(respG['status'])) - - -class get_users_tenant_group_test(unittest.TestCase): - - def setUp(self): - self.token = get_token('joeuser', 'secrete', 'token') - self.tenant = get_global_tenant() - self.user = get_user() - self.userdisabled = get_userdisabled() - self.auth_token = get_auth_token() - self.exp_auth_token = get_exp_auth_token() - self.disabled_token = get_disabled_token() - self.tenant_group = 'test_global_group' - - - - def tearDown(self): - respG, contentG = delete_user_global_group(self.tenant_group, - self.user, - str(self.auth_token)) - - respG, contentG = delete_user(self.tenant, self.user, - str(self.auth_token)) - resp, content = delete_global_group(self.tenant_group, - self.auth_token) - def test_get_users_global_group(self): - h = httplib2.Http(".cache") - resp, content = create_global_group(self.tenant_group, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - respG, contentG = add_user_global_group(self.tenant_group, - self.user, - str(self.auth_token) - ) - respG, contentG = get_user_global_group(self.tenant_group, - str(self.auth_token) - ) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(200, int(respG['status'])) - - - def test_get_users_global_group_xml(self): - h = httplib2.Http(".cache") - resp, content = create_global_group(self.tenant_group, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - respG, contentG = add_user_global_group_xml(self.tenant_group, - self.user, - str(self.auth_token) - ) - respG, contentG = get_user_global_group_xml(self.tenant_group, - str(self.auth_token) - ) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(200, int(respG['status'])) - - - def test_get_users_global_group_unauthorized(self): - h = httplib2.Http(".cache") - resp, content = create_global_group(self.tenant_group, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - respG, contentG = add_user_global_group(self.tenant_group, - self.user, - str(self.auth_token) - ) - - respG, contentG = get_user_global_group(self.tenant_group, - str(self.token) - ) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(401, int(respG['status'])) - - def test_get_users_global_group_unauthorized_xml(self): - h = httplib2.Http(".cache") - resp, content = create_global_group(self.tenant_group, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - respG, contentG = add_user_global_group(self.tenant_group, - self.user, - str(self.auth_token) - ) - respG, contentG = get_user_global_group_xml(self.tenant_group, - str(self.token) - ) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(401, int(respG['status'])) - - def test_get_users_global_group_forbidden(self): - h = httplib2.Http(".cache") - resp, content = create_global_group(self.tenant_group, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - respG, contentG = add_user_global_group(self.tenant_group, - self.user, - str(self.auth_token) - ) - respG, contentG = get_user_global_group(self.tenant_group, - str(self.disabled_token) - ) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(respG['status'])) - - def test_get_users_global_group_forbidden_xml(self): - h = httplib2.Http(".cache") - resp, content = create_global_group(self.tenant_group, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - respG, contentG = add_user_global_group(self.tenant_group, - self.user, - str(self.auth_token) - ) - respG, contentG = get_user_global_group_xml(self.tenant_group, - str(self.disabled_token) - ) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(respG['status'])) - - def test_get_users_global_group_expired(self): - h = httplib2.Http(".cache") - resp, content = create_global_group(self.tenant_group, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - respG, contentG = add_user_global_group(self.tenant_group, - self.user, - str(self.auth_token) - ) - respG, contentG = get_user_global_group(self.tenant_group, - str(self.exp_auth_token) - ) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(respG['status'])) - - def test_get_users_global_group_expired_xml(self): - h = httplib2.Http(".cache") - resp, content = create_global_group(self.tenant_group, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - respG, contentG = add_user_global_group(self.tenant_group, - self.user, - str(self.auth_token) - ) - respG, contentG = get_user_global_group_xml(self.tenant_group, - str(self.exp_auth_token) - ) - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(403, int(respG['status'])) - -class delete_users_global_group_test(unittest.TestCase): - - def setUp(self): - self.token = get_token('joeuser', 'secrete', 'token') - self.tenant = get_global_tenant() - self.user = get_user() - self.userdisabled = get_userdisabled() - self.auth_token = get_auth_token() - self.exp_auth_token = get_exp_auth_token() - self.disabled_token = get_disabled_token() - self.tenant_group = 'test_global_group' - - - - def tearDown(self): - respG, contentG = delete_user_global_group(self.tenant_group, - self.user, - str(self.auth_token)) - - respG, contentG = delete_user(self.tenant, self.user, - str(self.auth_token)) - resp, content = delete_global_group(self.tenant_group, - self.auth_token) - def test_delete_user_global_group(self): - h = httplib2.Http(".cache") - resp, content = create_global_group(self.tenant_group, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - respG, contentG = add_user_global_group(self.tenant_group, - self.user, - str(self.auth_token) - ) - - respG, contentG = delete_user_global_group(self.tenant_group, - self.user, - str(self.auth_token) - ) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(204, int(respG['status'])) - - - def test_delete_user_global_group_xml(self): - h = httplib2.Http(".cache") - resp, content = create_global_group(self.tenant_group, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - respG, contentG = add_user_global_group(self.tenant_group, - self.user, - str(self.auth_token) - ) - respG, contentG = delete_user_global_group_xml(self.tenant_group, - self.user, - str(self.auth_token) - ) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(204, int(respG['status'])) - - def test_delete_user_global_group_notfound(self): - h = httplib2.Http(".cache") - resp, content = create_global_group(self.tenant_group, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - respG, contentG = add_user_global_group(self.tenant_group, - self.user, - str(self.disabled_token) - ) - respG, contentG = delete_user_global_group(self.tenant_group, - self.user, - str(self.auth_token) - ) - respG, contentG = delete_user_global_group(self.tenant_group, - self.user, - str(self.auth_token) - ) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(404, int(respG['status'])) - - def test_delete_user_global_group_notfound_xml(self): - h = httplib2.Http(".cache") - resp, content = create_global_group(self.tenant_group, - str(self.auth_token)) - respG, contentG = create_user(self.tenant, self.user, - str(self.auth_token)) - respG, contentG = add_user_global_group(self.tenant_group, - self.user, - str(self.disabled_token) - ) - respG, contentG = delete_user_global_group(self.tenant_group, - self.user, - str(self.auth_token) - ) - respG, contentG = delete_user_global_group_xml(self.tenant_group, - self.user, - str(self.auth_token) - ) - - if int(resp['status']) == 500: - self.fail('IDM fault') - elif int(resp['status']) == 503: - self.fail('Service Not Available') - self.assertEqual(404, int(respG['status'])) - -if __name__ == '__main__': - unittest.main() -- cgit