[Openstack] Malformed Requests

2013-07-24 Thread Justin Brown
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

2013-07-25 Thread Justin Brown
':
'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

2013-07-25 Thread Justin Brown
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