openstack team mailing list archive
-
openstack team
-
Mailing list archive
-
Message #23454
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