transport_url not being used while doing pool update
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Designate |
Confirmed
|
High
|
Tim Simmons |
Bug Description
RabbitMQ options in oslo_messaging_
However when doing designate-manage pool update, transport_url option is ignored and still using old rabbitmq ones. As those options are not used any more, are using default values (127.0.0.1).
After updating pools using rabbitmq options, I've removed those options only leaving transport_url and all request work fine with no error at logs and recordset properly created automatically when launching instances. Guess is only an issue with designate-manage.
Using CentOS from RDO packages for pike (delorean)
Updating Pools Configuration
*******
2017-03-16 09:34:16.687 17 ERROR oslo.messaging.
2017-03-16 09:34:17.697 17 ERROR oslo.messaging.
2017-03-16 09:34:19.740 17 ERROR oslo.messaging.
Deprecation Messages
*******
2017-03-16 09:53:08.349 5 WARNING oslo_config.cfg [-] Option "rabbit_hosts" from group "oslo_messaging
2017-03-16 09:53:08.349 5 WARNING oslo_config.cfg [-] Option "rabbit_password" from group "oslo_messaging
2017-03-16 09:53:08.349 5 WARNING oslo_config.cfg [-] Option "rabbit_userid" from group "oslo_messaging
description: | updated |
Changed in designate: | |
status: | New → Confirmed |
importance: | Undecided → High |
assignee: | nobody → Tim Simmons (timsim) |
I've debugged that a little: The problem is, that `rpc.init(CONF)` is called in the `__init__()` of the respecting command class (e.g. `PoolCommand` https:/ /github. com/openstack/ designate/ blob/master/ designate/ manage/ pool.py# L41), this happens, before the config has been parsed - or rather, it seems, while the config is parsed (here: https:/ /github. com/openstack/ designate/ blob/master/ designate/ cmd/manage. py#L56).
A possible solution might be letting each command init and create the rpc client or add a decorator to each action to call an init method initializing/ creating the rpc client. The former definitely uses `transport_url`, as that's my hotfix for now.