← Back to team overview

openstack team mailing list archive

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


Follow ups