[Openstack] Malformed Requests

Justin Brown justin.brown at fandingo.org
Wed Jul 24 18:45:20 UTC 2013


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




More information about the Openstack mailing list