nova-cells doesn't url decode transport_url
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Fix Released
|
Low
|
Davanum Srinivas (DIMS) | ||
oslo.messaging |
Fix Released
|
Low
|
liaonanhai |
Bug Description
When creating a cell using the nova-manage cell create command, the transport_url generated in the database is url-encoded (i.e. '=' is changed to '%3D', etc.) That's propably the correct behavior, since the connection string is stored as URL.
However, nova-cells doesn't properly decode that string. So for transport_url credentials that contain url-encodable characters, nova-cells uses the url encoded string, rather than the actual correct credentials.
Steps to reproduce:
- Create a cell using nova-manage with credentials containing url-encodable characters:
nova-manage cell create --name=cell_02 --cell_type=child --username=
- nova.cells table now contains a url-encoded transport_url:
mysql> select * from cells \G
*******
created_at: 2014-12-30 17:30:41
updated_at: NULL
deleted_at: NULL
id: 3
api_url: NULL
weight_offset: 1
weight_scale: 1
name: cell_02
is_parent: 0
deleted: 0
transport_url: rabbit:
1 row in set (0.00 sec)
- nova-cells uses the literal credentials 'the%3Duser' and 'the%3Dpassword' to connect to RMQ, rather than the correct 'the=user' and 'the=password' credentials.
description: | updated |
Changed in nova: | |
assignee: | nobody → Santhosh Peddiboyina (peddiboyina-9) |
tags: | added: cells |
Changed in nova: | |
status: | New → Confirmed |
importance: | Undecided → Low |
Changed in oslo.messaging: | |
status: | New → Confirmed |
importance: | Undecided → Low |
Changed in oslo.messaging: | |
assignee: | nobody → liaonanhai (nanhai-liao) |
Changed in nova: | |
assignee: | Santhosh Peddiboyina (peddiboyina-9) → nobody |
Changed in nova: | |
milestone: | none → kilo-rc1 |
status: | Fix Committed → Fix Released |
Changed in nova: | |
milestone: | kilo-rc1 → 2015.1.0 |
usename and password are parsed by oslo.messaging here: https:/ /github. com/openstack/ oslo.messaging/ blob/master/ oslo/messaging/ transport. py#L305- L309