Reviewed: https://review.openstack.org/350438 Committed: https://git.openstack.org/cgit/openstack/oslo.messaging/commit/?id=34122ee3cb08b4de379b8095f4b18d64c38f62e2 Submitter: Jenkins Branch: master
commit 34122ee3cb08b4de379b8095f4b18d64c38f62e2 Author: ChangBo Guo(gcb) <[email protected]> Date: Wed Aug 3 16:08:57 2016 +0800 Add warning when credential is not specified for each host User may not set username/password for each host in config option transport_url. All hosts should have username/password, or no host have username/password at the same time. This commit adds warning if user doesn't set properly. Closes-Bug: #1595965 Change-Id: I4e204ce8365274566064168a2ba02c3278579717 ** Changed in: oslo.messaging Status: In Progress => Fix Released -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to OpenStack Compute (nova). https://bugs.launchpad.net/bugs/1595965 Title: transport_url is being parsed different when forking with oslo.service Status in OpenStack Compute (nova): Incomplete Status in oslo.messaging: Fix Released Bug description: This is a strange one. I had setup my transport_url incorrectly which made me discover this. I am filing this bug because I believe there is one. When using a correctly formatted transport_url that was missing data _and_ multiple workers for conductor it would incorrectly parse the transport_url. Here is the incorrect transport_url: rabbit://<user>:<pass>@server01,server02/openstack The correct transport_url should be: rabbit://<user>:<pass>@server01,<user>:<pass>@server02/openstack According to the docs [1], when the username and password is not specified, the server should be omitted from the list of servers. So for the incorrect transport_url only server01 would be setup. Here is a list of scenarios and what the behavior I see is. * with the incorrect transport_url and a single thread all services contact only server01 * with the incorrect transport_url and multiple threads all services contact only server01 _except_ conductor which will attempt to contact server02 with the default username and password * with the correct transport_url all services contact server01 and server02 properly To reproduce this, get two rabbitmq hosts and set the incorrect transport_url and at least 2 conductor workers. Look at the rabbitmq logs on server02 and youll see it is trying to login via the guest user. Set the number of workers to 1 and notice there is no bad logins in rabbitmq logs. Fix the transport_url and it will use all servers appropriately no matter the number of workers. The following is a gut feeling. I believe the issue is around the point it gets forked with oslo.service. It may not properly be reparsing the transport_url. I couldn't prove that though. Nova versions tested: 13.0.0 and 13.1.0 all libraries were within the upper-constraints for mitaka [1] http://docs.openstack.org/developer/oslo.messaging/transport.html To manage notifications about this bug go to: https://bugs.launchpad.net/nova/+bug/1595965/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : [email protected] Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp

