[Openstack] Malformed Requests
Hello, I'm having some trouble getting Nova and Cinder to communicate with the API and Horizon in Grizzly. Any request that I make against those services always returns HTTP 400, malformed request url. Requests to Keystone and Glance work fine. I've only found a couple other people with this issue, and it seemed to always be related to typos in their service endpoint URLs. I don't think that is my problem. Here are my endpoints for Cinder and Nova, respectively http://openstack.cloud.fandingo.org:8776/v1/$(tenant_id)s http://openstack.cloud.fandingo.org:8774/v2/$(tenant_id)s Now, if I try something simple like `cinder --debug list`, I get the following output. Note that the CMS auth-token is quite long, so I have omitted it. REQ: curl -i http://localhost:35357/v2.0/tokens -X POST -H Content-Type: application/json -H Accept: application/json -H User-Agent: python-cinderclient -d '{auth: {tenantName: admin, passwordCredentials: {username: justi n, password: secret}}}' RESP: [200] {'date': 'Wed, 24 Jul 2013 18:10:30 GMT', 'content-type': 'application/json', 'content-length': '7281', 'vary': 'X-Auth-Token'} RESP BODY: {access: {token: {issued_at: 2013-07-24T18:10:30.957542, expires: 2013-07-25T18:10:30Z, id: AUTH-TOKEN..., tenant: {description: null, enabled: true, id: 4457698fa26d4ce59f1811e91521f6c4, name: admin}}, serviceCatalog: [{endpoints: [{adminURL: http://openstack.cloud.fandingo.org:8774/v2/4457698fa26d4ce59f1811e91521f6c4;, region: Fandingo, internalURL: http://openstack.cloud.fandingo.org:8774/v2/4457698fa26d4ce59f1811e91521f6c4;, id: 0494bbe29b014d6da63e519eafa734da, publicURL: http://openstack.cloud.fandingo.org:8774/v2/4457698fa26d4ce59f1811e91521f6c4}], endpoints_links: [], type: compute, name: nova}, {endpoints: [{adminURL: http://openstack.cloud.fandingo.org:9696/;, region: Fandingo, internalURL: http://openstack.cloudfandingo.org:9696/;, id: ad160008203d4de0b96ed7def7ed1269, publicURL: http://openstack.cloud.fandingo.org:9696/}], endpoints_links: [], type: network, name: quantum}, {endpoints: [{adminURL: http://openstack.cloud.fandingo.org:9292;, region: Fandingo, internalURL: http://openstack.cloud.fandingo.org:9292;, id: 0d8f052422ea42eabcfb53212d5a563a, publicURL: http://openstack.cloud.fandingo.org:9292}], endpoints_links: [], type: image, name: glance}, {endpoints: [{adminURL: http://openstack.cloud.fandingo.org:8776/v1/4457698fa26d4ce59f1811e91521f6c4;, region: Fandingo, internalURL: http://openstack.cloud.fandingo.org:8776/v1/4457698fa26d4ce59f1811e91521f6c4;, id: 17090aacab934d13b6ce735e78e317c9, publicURL: http://openstack.cloud.fandingo.org:8776/v1/4457698fa26d4ce59f1811e91521f6c4}], endpoints_links: [], type: volume, name: cinder}, {endpoints: [{adminURL: http://openstack.cloud.fandingo.org:8773/services/Admin;, region: Fandingo, internalURL: http://openstack.cloud.fandingo.org:8773/services/Cloud;, id: 42556805f93d41ef87c9657b9d0cc52a, publicURL: http://openstack.cloud.fandingo.org:8773/services/Cloud}], endpoints_links: [], type: ec2, name: ec2}, {endpoints: [{adminURL: http://openstack.cloud.fandingo.org:35357/v2.0;, region: Fandingo, internalURL: http://openstack.cloud.fandingo.org:5000/v2.0;, id: 1af520b8fced4335aaeb5fa13515aaa5, publicURL: http://openstack.cloud.fandingo.org:5000/v2.0}], endpoints_links: [], type: identity, name: keystone}], user: {username: justin, roles_links: [], id: 84888243a24940d78cf190bcc5166d75, roles: [{name: _member_}, {name: admin}], name: justin}, metadata: {is_admin: 0, roles: [9fe2ff9ee4384b1894a90878d3e92bab, 3c8337f7a64a4bd8967d971f1debeea8]}}} That looks fine. The error happens on the second curl command: REQ: curl -i http://openstack.cloud.kerrygroup.net:8776/v1/4457698fa26d4ce59f1811e91521f6c4/volumes/detail -X GET -H X-Auth-Project-Id: admin -H User-Agent: python-cinderclient -H Accept: application/json -H X-Auth-Token: AUTH_TOKEN... RESP: [400] {'date': 'Wed, 24 Jul 2013 18:10:31 GMT', 'content-length': '65', 'content-type': 'application/json; charset=UTF-8', 'x-compute-request-id': 'req-54484df2-dfdf-447a-a47b-73fbae8da9f1'} RESP BODY: {badRequest: {message: Malformed request url, code: 400}} That causes a Python exception BadRequest: Malformed request url (HTTP 400) (Request-ID: req-54484df2-dfdf-447a-a47b-73fbae8da9f1) ERROR: Malformed request url The only message in the Cinder api.log (verbose = True) is the GET rquest, but nothing about the error: 2013-07-24 13:40:18 INFO [cinder.api.openstack.wsgi] GET http://openstack.cloud.kerrygroup.net:8776/v1/4457698fa26d4ce59f1811e91521f6c4/volumes/detail Could someone help me troubleshoot this problem? Thanks, Justin ___ Mailing list: https://launchpad.net/~openstack Post to : openstack@lists.launchpad.net Unsubscribe : https://launchpad.net/~openstack More help : https://help.launchpad.net/ListHelp
Re: [Openstack] Malformed Requests
': 'MIIKygYJKoZIhvcNAQcCoIIKuzCCCrcCAQExCTAHBgUrDgMCGjCCCaMGCSqGSIb3DQEHAaCCCZQEggmQeyJhY2Nlc3MiOiB7InRva2VuIjogeyJpc3N1ZWRfYXQiOiAiMjAxMy0wNy0yNVQxNzoyNDoyMS43NzcyMDgiLCAiZXhwaXJlcyI6ICIyMDEzLTA3LTI2VDE3OjI0OjIxWiIsICJpZCI6ICJwbGFjZWhvbGRlciIsICJ0ZW5hbnQiOiB7ImRlc2NyaXB0aW9uIjogbnVsbCwgImVuYWJsZWQiOiB0cnVlLCAiaWQiOiAiNDM4M2E1YmFiNDIxNGQyOTllYWJmNDZlN2M4NjNhN2IiLCAibmFtZSI6ICJhZG1pbiJ9fSwgInNlcnZpY2VDYXRhbG9nIjogW3siZW5kcG9pbnRzIjogW3siYWRtaW5VUkwiOiAiaHR0cDovLzE5Mi4xNjguMjUuMTA5Ojg3NzQvdjIvNDM4M2E1YmFiNDIxNGQyOTllYWJmNDZlN2M4NjNhN2IiLCAicmVnaW9uIjogIktlcnJ5R3JvdXAiLCAiaW50ZXJuYWxVUkwiOiAiaHR0cDovLzE5Mi4xNjguMjUuMTA5Ojg3NzQvdjIvNDM4M2E1YmFiNDIxNGQyOTllYWJmNDZlN2M4NjNhN2IiLCAiaWQiOiAiMDAzNjRlODUyYmNkNDQxOTg0Mzg0YmU1OTJiOGU0NTYiLCAicHVibGljVVJMIjogImh0dHA6Ly8xOTIuMTY4LjI1LjEwOTo4Nzc0L3YyLzQzODNhNWJhYjQyMTRkMjk5ZWFiZjQ2ZTdjODYzYTdiIn1dLCAiZW5kcG9pbnRzX2xpbmtzIjogW10sICJ0eXBlIjogImNvbXB1dGUiLCAibmFtZSI6ICJub3ZhIn0sIHsiZW5kcG9pbnRzIjogW3siYWRtaW5VUkwiOiAiaHR0cDovLzE5Mi4xNjguMjUuMTA5Ojk2OTYvI iwgInJlZ2lvbiI6ICJLZXJyeUdyb3VwIiwgImludGVybmFsVVJMIjogImh0dHA6Ly8xOTIuMTY4LjI1LjEwOTo5Njk2LyIsICJpZCI6ICIxNjMyMjJiYjhiZDM0NTllYmJmZmEzNjRmYTZkODE3ZiIsICJwdWJsaWNVUkwiOiAiaHR0cDovLzE5Mi4xNjguMjUuMTA5Ojk2OTYvIn1dLCAiZW5kcG9pbnRzX2xpbmtzIjogW10sICJ0eXBlIjogIm5ldHdvcmsiLCAibmFtZSI6ICJxdWFudHVtIn0sIHsiZW5kcG9pbnRzIjogW3siYWRtaW5VUkwiOiAiaHR0cDovLzE5Mi4xNjguMjUuMTA5OjkyOTIiLCAicmVnaW9uIjogIktlcnJ5R3JvdXAiLCAiaW50ZXJuYWxVUkwiOiAiaHR0cDovLzE5Mi4xNjguMjUuMTA5OjkyOTIiLCAiaWQiOiAiMTNmZDFjZjI1ZDA4NDM2NmFlYzViM2JlY2I4MTRiYmQiLCAicHVibGljVVJMIjogImh0dHA6Ly8xOTIuMTY4LjI1LjEwOTo5MjkyIn1dLCAiZW5kcG9pbnRzX2xpbmtzIjogW10sICJ0eXBlIjogImltYWdlIiwgIm5hbWUiOiAiZ2xhbmNlIn0sIHsiZW5kcG9pbnRzIjogW3siYWRtaW5VUkwiOiAiaHR0cDovLzE5Mi4xNjguMjUuMTA5Ojg3NzYvdjEvNDM4M2E1YmFiNDIxNGQyOTllYWJmNDZlN2M4NjNhN2IiLCAicmVnaW9uIjogIktlcnJ5R3JvdXAiLCAiaW50ZXJuYWxVUkwiOiAiaHR0cDovLzE5Mi4xNjguMjUuMTA5Ojg3NzYvdjEvNDM4M2E1YmFiNDIxNGQyOTllYWJmNDZlN2M4NjNhN2IiLCAiaWQiOiAiNzVhZGNlM2VmNTRhNDkzNDllZDFiOTY5MTFhNzhhZTQiLCAicHVibGljVVJMIj ogImh0dHA6Ly8xOTIuMTY4LjI1LjEwOTo4Nzc2L3YxLzQzODNhNWJhYjQyMTRkMjk5ZWFiZjQ2ZTdjODYzYTdiIn1dLCAiZW5kcG9pbnRzX2xpbmtzIjogW10sICJ0eXBlIjogInZvbHVtZSIsICJuYW1lIjogImNpbmRlciJ9LCB7ImVuZHBvaW50cyI6IFt7ImFkbWluVVJMIjogImh0dHA6Ly8xOTIuMTY4LjI1LjEwOTo4NzczL3NlcnZpY2VzL0FkbWluIiwgInJlZ2lvbiI6ICJLZXJyeUdyb3VwIiwgImludGVybmFsVVJMIjogImh0dHA6Ly8xOTIuMTY4LjI1LjEwOTo4NzczL3NlcnZpY2VzL0Nsb3VkIiwgImlkIjogIjFlMmE5ZjAyMDk3OTRmYWFhZDdiMTJmODlmMDZlNWFlIiwgInB1YmxpY1VSTCI6ICJodHRwOi8vMTkyLjE2OC4yNS4xMDk6ODc3My9zZXJ2aWNlcy9DbG91ZCJ9XSwgImVuZHBvaW50c19saW5rcyI6IFtdLCAidHlwZSI6ICJlYzIiLCAibmFtZSI6ICJlYzIifSwgeyJlbmRwb2ludHMiOiBbeyJhZG1pblVSTCI6ICJodHRwOi8vMTkyLjE2OC4yNS4xMDk6MzUzNTcvdjIuMCIsICJyZWdpb24iOiAiS2VycnlHcm91cCIsICJpbnRlcm5hbFVSTCI6ICJodHRwOi8vMTkyLjE2OC4yNS4xMDk6NTAwMC92Mi4wIiwgImlkIjogIjIzYWJhNWVjYTc2ZTQ5ODdiMGNmODQ5YTZhYjNjYjI2IiwgInB1YmxpY1VSTCI6ICJodHRwOi8vMTkyLjE2OC4yNS4xMDk6NTAwMC92Mi4wIn1dLCAiZW5kcG9pbnRzX2xpbmtzIjogW10sICJ0eXBlIjogImlkZW50aXR5IiwgIm5hbWUiOiAia2V5c3RvbmUifV0sICJ1c2VyIjogeyJ 1c2VybmFtZSI6ICJqdXN0aW4iLCAicm9sZXNfbGlua3MiOiBbXSwgImlkIjogImNhOTkxMDY2NTI4MzRkYzM4YjExNGJjZDQxOTU1MGJkIiwgInJvbGVzIjogW3sibmFtZSI6ICJhZG1pbiJ9LCB7Im5hbWUiOiAiX21lbWJlcl8ifV0sICJuYW1lIjogImp1c3RpbiJ9LCAibWV0YWRhdGEiOiB7ImlzX2FkbWluIjogMCwgInJvbGVzIjogWyI5NDc1YWI1OTBkYTM0NzdiYmU0Njc4ODEwYWYxYzQyZCIsICI5ZmUyZmY5ZWU0Mzg0YjE4OTRhOTA4NzhkM2U5MmJhYiJdfX19MYH-MIH8AgEBMFwwVzELMAkGA1UEBhMCVVMxDjAMBgNVBAgTBVVuc2V0MQ4wDAYDVQQHEwVVbnNldDEOMAwGA1UEChMFVW5zZXQxGDAWBgNVBAMTD3d3dy5leGFtcGxlLmNvbQIBATAHBgUrDgMCGjANBgkqhkiG9w0BAQEFAASBgH3y2popwnQEvE-Ev6RQeTN4k97YRGr4ljmFpMF0mWNZfU6-QBM5qab2PMzalZ919Pl4pprFvm4flhZCWlPph8GbvaMDKjanNYJb5utTN1biNKu0e+zYjmUWI+OFl8bqjzjMWz0E3vAPdJ0WuGoi1RsF4g16OgMKem1lUZYgm0j3', 'user_name': None} I'm not sure why the project_id is being set to the my auth-token. I'm still trying to figure out what is happening. Thanks, Justin On Thu, Jul 25, 2013 at 3:21 AM, Unmesh Gurjar unmesh.gur...@gmail.com wrote: Hi Justin, Looking at the endpoints in the auth response (v2.0/tokens), probably the URL should be http://openstack.cloud.fandingo.org:8776/v1/4457698fa26d4ce59f1811e91521f6c4/volumes/detail instead of http://openstack.cloud.kerrygroup.net:8776/v1/4457698fa26d4ce59f1811e91521f6c4/volumes/detail . Hope it helps! On Thu, Jul 25, 2013 at 12:15 AM, Justin Brown justin.br...@fandingo.org wrote: Hello, I'm having some trouble getting Nova and Cinder to communicate with the API and Horizon in Grizzly. Any request that I make against those services always returns HTTP 400, malformed request url. Requests to Keystone and Glance work fine. I've only found a couple other people with this issue, and it seemed to always be related to typos in their service endpoint URLs. I don't think that is my problem. Here are my endpoints for Cinder and Nova, respectively http://openstack.cloud.fandingo.org:8776/v1/$(tenant_id)s http://openstack.cloud.fandingo.org:8774/v2/$(tenant_id)s Now, if I try something simple like `cinder --debug list`, I get the following output. Note that the CMS auth-token is quite long, so I have omitted it. REQ: curl -i http://localhost:35357/v2.0/tokens -X POST -H Content-Type: application/json -H Accept
Re: [Openstack] Malformed Requests
After spending two hours wading through the Python code, I figured it out. Configuration error. This is what happens when auth_strategy = keystone is missing from /etc/nova/nova.conf, even if Keystone is otherwise fully configured. On Thu, Jul 25, 2013 at 12:34 PM, Justin Brown justin.br...@fandingo.org wrote: Oops, a rather poor attempt at obfuscation in my email. The domain name is correct in Openstack. It actually looks like a bug in Openstack. I traced the problem to line 911 in nova/api/openstack/wsgi.py: if (context and project_id and (project_id != context.project_id)): msg = _(Malformed request url) return Fault(webob.exc.HTTPBadRequest(explanation=msg)) The problem is that project_id is a tenant id (4383a5bab4214d299eabf46e7c863a7b in my case), but context.project_id is the auth-token, which is 3,688 characters long, and the two clearly do not equate. I don't know anything about nova.context.RequestContext objects, but this looks like a rather severe problem. (Pdb) print(context.__dict__) {'project_name': None, 'user_id': 'MIIKygYJKoZIhvcNAQcCoIIKuzCCCrcCAQExCTAHBgUrDgMCGjCCCaMGCSqGSIb3DQEHAaCCCZQEggmQeyJhY2Nlc3MiOiB7InRva2VuIjogeyJpc3N1ZWRfYXQiOiAiMjAxMy0wNy0yNVQxNzoyNDoyMS43NzcyMDgiLCAiZXhwaXJlcyI6ICIyMDEzLTA3LTI2VDE3OjI0OjIxWiIsICJpZCI6ICJwbGFjZWhvbGRlciIsICJ0ZW5hbnQiOiB7ImRlc2NyaXB0aW9uIjogbnVsbCwgImVuYWJsZWQiOiB0cnVlLCAiaWQiOiAiNDM4M2E1YmFiNDIxNGQyOTllYWJmNDZlN2M4NjNhN2IiLCAibmFtZSI6ICJhZG1pbiJ9fSwgInNlcnZpY2VDYXRhbG9nIjogW3siZW5kcG9pbnRzIjogW3siYWRtaW5VUkwiOiAiaHR0cDovLzE5Mi4xNjguMjUuMTA5Ojg3NzQvdjIvNDM4M2E1YmFiNDIxNGQyOTllYWJmNDZlN2M4NjNhN2IiLCAicmVnaW9uIjogIktlcnJ5R3JvdXAiLCAiaW50ZXJuYWxVUkwiOiAiaHR0cDovLzE5Mi4xNjguMjUuMTA5Ojg3NzQvdjIvNDM4M2E1YmFiNDIxNGQyOTllYWJmNDZlN2M4NjNhN2IiLCAiaWQiOiAiMDAzNjRlODUyYmNkNDQxOTg0Mzg0YmU1OTJiOGU0NTYiLCAicHVibGljVVJMIjogImh0dHA6Ly8xOTIuMTY4LjI1LjEwOTo4Nzc0L3YyLzQzODNhNWJhYjQyMTRkMjk5ZWFiZjQ2ZTdjODYzYTdiIn1dLCAiZW5kcG9pbnRzX2xpbmtzIjogW10sICJ0eXBlIjogImNvbXB1dGUiLCAibmFtZSI6ICJub3ZhIn0sIHsiZW5kcG9pbnRzIjogW3siYWRtaW5VUkwiOiAiaHR0cDovLzE5Mi4xNjguMjUuMTA5Ojk2OTY vIiwgInJlZ2lvbiI6ICJLZXJyeUdyb3VwIiwgImludGVybmFsVVJMIjogImh0dHA6Ly8xOTIuMTY4LjI1LjEwOTo5Njk2LyIsICJpZCI6ICIxNjMyMjJiYjhiZDM0NTllYmJmZmEzNjRmYTZkODE3ZiIsICJwdWJsaWNVUkwiOiAiaHR0cDovLzE5Mi4xNjguMjUuMTA5Ojk2OTYvIn1dLCAiZW5kcG9pbnRzX2xpbmtzIjogW10sICJ0eXBlIjogIm5ldHdvcmsiLCAibmFtZSI6ICJxdWFudHVtIn0sIHsiZW5kcG9pbnRzIjogW3siYWRtaW5VUkwiOiAiaHR0cDovLzE5Mi4xNjguMjUuMTA5OjkyOTIiLCAicmVnaW9uIjogIktlcnJ5R3JvdXAiLCAiaW50ZXJuYWxVUkwiOiAiaHR0cDovLzE5Mi4xNjguMjUuMTA5OjkyOTIiLCAiaWQiOiAiMTNmZDFjZjI1ZDA4NDM2NmFlYzViM2JlY2I4MTRiYmQiLCAicHVibGljVVJMIjogImh0dHA6Ly8xOTIuMTY4LjI1LjEwOTo5MjkyIn1dLCAiZW5kcG9pbnRzX2xpbmtzIjogW10sICJ0eXBlIjogImltYWdlIiwgIm5hbWUiOiAiZ2xhbmNlIn0sIHsiZW5kcG9pbnRzIjogW3siYWRtaW5VUkwiOiAiaHR0cDovLzE5Mi4xNjguMjUuMTA5Ojg3NzYvdjEvNDM4M2E1YmFiNDIxNGQyOTllYWJmNDZlN2M4NjNhN2IiLCAicmVnaW9uIjogIktlcnJ5R3JvdXAiLCAiaW50ZXJuYWxVUkwiOiAiaHR0cDovLzE5Mi4xNjguMjUuMTA5Ojg3NzYvdjEvNDM4M2E1YmFiNDIxNGQyOTllYWJmNDZlN2M4NjNhN2IiLCAiaWQiOiAiNzVhZGNlM2VmNTRhNDkzNDllZDFiOTY5MTFhNzhhZTQiLCAicHVibGljVVJM IjogImh0dHA6Ly8xOTIuMTY4LjI1LjEwOTo4Nzc2L3YxLzQzODNhNWJhYjQyMTRkMjk5ZWFiZjQ2ZTdjODYzYTdiIn1dLCAiZW5kcG9pbnRzX2xpbmtzIjogW10sICJ0eXBlIjogInZvbHVtZSIsICJuYW1lIjogImNpbmRlciJ9LCB7ImVuZHBvaW50cyI6IFt7ImFkbWluVVJMIjogImh0dHA6Ly8xOTIuMTY4LjI1LjEwOTo4NzczL3NlcnZpY2VzL0FkbWluIiwgInJlZ2lvbiI6ICJLZXJyeUdyb3VwIiwgImludGVybmFsVVJMIjogImh0dHA6Ly8xOTIuMTY4LjI1LjEwOTo4NzczL3NlcnZpY2VzL0Nsb3VkIiwgImlkIjogIjFlMmE5ZjAyMDk3OTRmYWFhZDdiMTJmODlmMDZlNWFlIiwgInB1YmxpY1VSTCI6ICJodHRwOi8vMTkyLjE2OC4yNS4xMDk6ODc3My9zZXJ2aWNlcy9DbG91ZCJ9XSwgImVuZHBvaW50c19saW5rcyI6IFtdLCAidHlwZSI6ICJlYzIiLCAibmFtZSI6ICJlYzIifSwgeyJlbmRwb2ludHMiOiBbeyJhZG1pblVSTCI6ICJodHRwOi8vMTkyLjE2OC4yNS4xMDk6MzUzNTcvdjIuMCIsICJyZWdpb24iOiAiS2VycnlHcm91cCIsICJpbnRlcm5hbFVSTCI6ICJodHRwOi8vMTkyLjE2OC4yNS4xMDk6NTAwMC92Mi4wIiwgImlkIjogIjIzYWJhNWVjYTc2ZTQ5ODdiMGNmODQ5YTZhYjNjYjI2IiwgInB1YmxpY1VSTCI6ICJodHRwOi8vMTkyLjE2OC4yNS4xMDk6NTAwMC92Mi4wIn1dLCAiZW5kcG9pbnRzX2xpbmtzIjogW10sICJ0eXBlIjogImlkZW50aXR5IiwgIm5hbWUiOiAia2V5c3RvbmUifV0sICJ1c2VyIjoge yJ1c2VybmFtZSI6ICJqdXN0aW4iLCAicm9sZXNfbGlua3MiOiBbXSwgImlkIjogImNhOTkxMDY2NTI4MzRkYzM4YjExNGJjZDQxOTU1MGJkIiwgInJvbGVzIjogW3sibmFtZSI6ICJhZG1pbiJ9LCB7Im5hbWUiOiAiX21lbWJlcl8ifV0sICJuYW1lIjogImp1c3RpbiJ9LCAibWV0YWRhdGEiOiB7ImlzX2FkbWluIjogMCwgInJvbGVzIjogWyI5NDc1YWI1OTBkYTM0NzdiYmU0Njc4ODEwYWYxYzQyZCIsICI5ZmUyZmY5ZWU0Mzg0YjE4OTRhOTA4NzhkM2U5MmJhYiJdfX19MYH-MIH8AgEBMFwwVzELMAkGA1UEBhMCVVMxDjAMBgNVBAgTBVVuc2V0MQ4wDAYDVQQHEwVVbnNldDEOMAwGA1UEChMFVW5zZXQxGDAWBgNVBAMTD3d3dy5leGFtcGxlLmNvbQIBATAHBgUrDgMCGjANBgkqhkiG9w0BAQEFAASBgH3y2popwnQEvE-Ev6RQeTN4k97YRGr4ljmFpMF0mWNZfU6-QBM5qab2PMzalZ919Pl4pprFvm4flhZCWlPph8GbvaMDKjanNYJb5utTN1biNKu0e+zYjmUWI+OFl8bqjzjMWz0E3vAPdJ0WuGoi1RsF4g16OgMKem1lUZYgm0j3', 'roles': [], '_read_deleted': 'no', 'timestamp': datetime.datetime(2013, 7, 25, 17, 24, 21, 832341), 'auth_token': None, 'remote_address': '127.0.0.1', 'quota_class': None, 'is_admin