oslo.messaging transport does not work with multiple transport hosts in the same(HA) RMQ cluster specified as transport://user:pass@host1:port[,hostN:portN]/virtual_host

Bug #1436542 reported by Rohit Jaiswal
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Ceilometer
Invalid
Undecided
Unassigned

Bug Description

When specifying messaging_urls = rabbit://guest:password@192.168.19.130:5672,192.168.19.131:5674

oslo.messaging considers the first host as Transport and neglects others.

It only seems to work when this is done:

messaging_urls = rabbit://guest:password@192.168.19.130:5672
messaging_urls = rabbit://guest:password@192.168.19.131:5674

When specifying multiple transport hosts as belonging to same cluster in HA (without LB), the configuration is expected to be of the form: transport://user:pass@host1:port[,hostN:portN]/virtual_host

However, we tested with messaging_urls = rabbit://guest:password@192.168.19.130:5672,192.168.19.131:5674

and found that oslo.messaging allowed connects only to 192.168.19.130:5672.

summary: - oslo.messaging transport cannot accept multiple transport hosts with
- different ports and credentials in the same(HA) RMQ cluster
+ oslo.messaging transport does not work with multiple transport hosts in
+ the same(HA) RMQ cluster specified as
+ transport://user:pass@host1:port[,hostN:portN]/virtual_host
Revision history for this message
Rohit Jaiswal (rohit-jaiswal-3) wrote :

On further analysis, looks like oslo_messaging: transport.py is parsing the url correctly and identifying the multiple hosts, ports.

summary: - oslo.messaging transport does not work with multiple transport hosts in
- the same(HA) RMQ cluster specified as
+ oslo.messaging transport does not work with multiple transport hosts and
+ credentials in the same(HA) RMQ cluster specified as
transport://user:pass@host1:port[,hostN:portN]/virtual_host
summary: - oslo.messaging transport does not work with multiple transport hosts and
- credentials in the same(HA) RMQ cluster specified as
+ oslo.messaging transport does not work with multiple transport hosts in
+ the same(HA) RMQ cluster specified as
transport://user:pass@host1:port[,hostN:portN]/virtual_host
Revision history for this message
Davanum Srinivas (DIMS) (dims-v) wrote :

Looks like you are talking about ceilometer's config option:
https://github.com/openstack/ceilometer/blob/master/ceilometer/notification.py#L56

affects: oslo.messaging → ceilometer
gordon chung (chungg)
Changed in ceilometer:
status: New → Triaged
Changed in ceilometer:
status: Triaged → Invalid
Revision history for this message
Rohit Jaiswal (rohit-jaiswal-3) wrote :

Invalidated it since the behavior with multi-host configuration on a single line is to establish a connection to one host at a time (usually the first) and then failover to the second if the first fails..

Revision history for this message
Mike Dorman (mdorman-m) wrote :

Actually this appears to just be a doc bug. The notifications/messaging_urls help string indicates this format:

transport://user:pass@host1:port[,hostN:portN]/virtual_host

When in fact, what's needed is the credentials provided for each host in the list, like this:

transport://user:pass@host1:port[,user:pass@hostN:portN]/virtual_host

Revision history for this message
Mike Dorman (mdorman-m) wrote :
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.