← Back to team overview

openstack team mailing list archive

Cinder "ERROR: Malformed request url (HTTP 400)" again

 

List,

I'm a new OpenStack user who has become exceptionally frustrated trying
to get Cinder running. I initially installed nova-volume, which appeared
to work, and then followed the instructions on
https://wiki.openstack.org/wiki/MigrateToCinder to migrate. Here is
where I am stuck: seemingly every call I make against Cinder's API
results in an HTTP 400. Here's an example call:

# cinder --debug list
connect: (192.168.128.6, 5000) ************
send: 'POST /v2.0/tokens HTTP/1.1\r\nHost:
192.168.128.6:5000\r\nContent-Length: 100\r\ncontent-type:
application/json\r\naccept-encoding: gzip, deflate\r\naccept:
application/json\r\nuser-agent: python-cinderclient\r\n\r\n'
send: '{"auth": {"tenantName": "admin", "passwordCredentials":
{"username": "admin", "password": "admin"}}}'
reply: 'HTTP/1.1 200 OK\r\n'
header: Vary: X-Auth-Token
header: Content-Type: application/json
header: Content-Length: 2687
header: Date: Wed, 08 May 2013 22:42:27 GMT
connect: (10.2.232.6, 8776) ************
send: u'GET /v1/c625d5b2b9e24f72acb2d298682ab002/volumes/detail
HTTP/1.1\r\nHost: 10.2.232.6:8776\r\nx-auth-project-id:
admin\r\nx-auth-token:
515e478eca244282a1617e43a8881c0b\r\naccept-encoding: gzip,
deflate\r\naccept: application/json\r\nuser-agent:
python-cinderclient\r\n\r\n'
reply: 'HTTP/1.1 400 Bad Request\r\n'
header: Content-Length: 65
header: Content-Type: application/json; charset=UTF-8
header: X-Compute-Request-Id: req-7e360dc5-8f54-477f-833c-e0ab0d20aef6
header: Date: Wed, 08 May 2013 22:42:27 GMT
DEBUG (shell:473) Malformed request url (HTTP 400) (Request-ID:
req-7e360dc5-8f54-477f-833c-e0ab0d20aef6)
Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/cinderclient/shell.py", line
470, in main
    OpenStackCinderShell().main(sys.argv[1:])
  File "/usr/lib/python2.6/site-packages/cinderclient/shell.py", line
421, in main
    args.func(self.cs, args)
  File "/usr/lib/python2.6/site-packages/cinderclient/v1/shell.py", line
139, in do_list
    volumes = cs.volumes.list(search_opts=search_opts)
  File "/usr/lib/python2.6/site-packages/cinderclient/v1/volumes.py",
line 171, in list
    "volumes")
  File "/usr/lib/python2.6/site-packages/cinderclient/base.py", line 63,
in _list
    resp, body = self.api.client.get(url)
  File "/usr/lib/python2.6/site-packages/cinderclient/client.py", line
138, in get
    return self._cs_request(url, 'GET', **kwargs)
  File "/usr/lib/python2.6/site-packages/cinderclient/client.py", line
126, in _cs_request
    **kwargs)
  File "/usr/lib/python2.6/site-packages/cinderclient/client.py", line
109, in request
    raise exceptions.from_response(resp, body)
BadRequest: Malformed request url (HTTP 400) (Request-ID:
req-7e360dc5-8f54-477f-833c-e0ab0d20aef6)
ERROR: Malformed request url (HTTP 400) (Request-ID:
req-7e360dc5-8f54-477f-833c-e0ab0d20aef6)

Nothing at all shows up in the Cinder API logs when I make this call,
even with the --debug option to cinder-api. After many hours Googling
the problem, it would seem that the it's either a malformed endpoint URL
or missing auth_strategy, but neither of these are the case:

# keystone endpoint-list
+----------------------------------+-----------+----------------------------------------------+-------------------------------------------------+--------------------------------------------+----------------------------------+
|                id                |   region  |
publicurl                   |                   internalurl
      |                  adminurl                  |
service_id            |
+----------------------------------+-----------+----------------------------------------------+-------------------------------------------------+--------------------------------------------+----------------------------------+
| 6c2d093802744c0398bbd62dc5fbc070 | RegionOne |
http://10.2.232.6:8773/services/Cloud     |
http://192.168.128.6:8773/services/Cloud    |
http://192.168.128.6:8773/services/Admin  |
d4ab7baaaab8490385bfb5457311b88c |
| 8900b9d947d24ec280b67abb8c67b4d1 | RegionOne |
http://10.2.232.6:8774/v2/%(tenant_id)s    |
http://192.168.128.6:8774/v2/%(tenant_id)s   |
http://192.168.128.6:8774/v2/%(tenant_id)s |
bb2a06fefa224e5c898eaeed41295c71 |
| 8a7ae87b296f45259060485e37de74f9 | RegionOne |
http://10.2.232.6:8776/v1/%(tenant_id)s    |
http://192.168.128.6:8776/v1/%(tenant_id)s   |
http://192.168.128.6:8776/v1/%(tenant_id)s |
f6e7b002545449cb9270a39219f3bced |
| 93b4c45c1c904b4c8d590e6a68d934db | RegionOne |
http://10.2.232.6:8080/v1/AUTH_%(tenant_id)s |
http://192.168.128.6:8080/v1/AUTH_%(tenant_id)s |
http://192.168.128.6:8080/         | 9f35f633bed8403d82f0b5d7d3a34f64 |
| ac260159c97f4bd8a832cdfe13635f71 | RegionOne |
http://10.2.232.6:8080            |            http://192.168.128.6:8080
           |         http://192.168.128.6:8080          |
7372bc8175c048abb1195708e335725b |
| e561e10200054fdb96d93002f99bf6cc | RegionOne |
http://10.2.232.6:9292            |            http://192.168.128.6:9292
           |         http://192.168.128.6:9292          |
511256bf55a6418d9962f7143f64dc58 |
| e7c0e52fa8954766ac9c0f35088133cc | RegionOne |
http://10.2.232.6:5000/v2.0          |
http://192.168.128.6:5000/v2.0         |
http://192.168.128.6:35357/v2.0       | 8d0b48ec73e14d8e96655030b1202c47 |
+----------------------------------+-----------+----------------------------------------------+-------------------------------------------------+--------------------------------------------+----------------------------------+
# keystone service-list
+----------------------------------+----------+--------------+--------------------------------+
|                id                |   name   |     type     |
description           |
+----------------------------------+----------+--------------+--------------------------------+
| 511256bf55a6418d9962f7143f64dc58 |  glance  |    image     |
Openstack Image Service     |
| 7372bc8175c048abb1195708e335725b | swift_s3 |      s3      |
Openstack S3 Service      |
| 8d0b48ec73e14d8e96655030b1202c47 | keystone |   identity   |
OpenStack Identity Service   |
| 9f35f633bed8403d82f0b5d7d3a34f64 |  swift   | object-store | Openstack
Object-Store Service |
| bb2a06fefa224e5c898eaeed41295c71 |   nova   |   compute    |
Openstack Compute Service    |
| d4ab7baaaab8490385bfb5457311b88c | nova_ec2 |     ec2      |
EC2 Service           |
| f6e7b002545449cb9270a39219f3bced |  volume  |    volume    |
Volume Service         |
+----------------------------------+----------+--------------+--------------------------------+
# grep auth_strategy /etc/cinder/cinder.conf
auth_strategy = keystone

What else should I be looking at here?

Thanks