[openstack-dev] TransportURL and virtualhost/exchnage (was Re: [Oslo] Layering olso.messaging usage of config)

Gordon Sim gsim at redhat.com
Fri Dec 6 18:36:31 UTC 2013

On 11/18/2013 04:44 PM, Mark McLoughlin wrote:
> On Mon, 2013-11-18 at 11:29 -0500, Doug Hellmann wrote:
>> IIRC, one of the concerns when oslo.messaging was split out was
>> maintaining support for existing deployments with configuration files that
>> worked with oslo.rpc. We had said that we would use URL query parameters
>> for optional configuration values (with the required values going into
>> other places in the URL)
> I hadn't ever considered exposing all configuration options via the URL.
> We have a lot of fairly random options, that I don't think you need to
> configure per-connection if you have multiple connections in the one
> application.

I certainly agree that not all configuration options may make sense in a 
URL. However if you will forgive me for hijacking this thread 
momentarily on a related though tangential question/suggestion...

Would it make sense to (and/or even be possible to) take the 'exchange' 
option out of the API, and let transports deduce their implied 
scope/namespace purely from the transport URL in perhaps transport 
specific ways?

E.g. you could have rabbit://my-host/my-virt-host/my-exchange or 
rabbit://my-host/my-virt-host or rabbit://my-host//my-exchange, and the 
rabbit driver would ensure that the given virtualhost and or exchange 
was used.

Alternatively you could have zmq://my-host:9876 or zmq://my-host:6789 
to 'scope' 0MQ communication channels. and hypothetically 
something-new://my-host/xyz, where xyz would be interpreted by the 
driver in question in a relevant way to scope the interactions over that 

Applications using RPC would then assume they were using a namespace 
free from the danger of collisions with other applications, but this 
would all be driven through transport specific configuration.

Just a suggestion based on my initial confusion through ignorance on the 
different scoping mechanisms described in the API docs. It may not be 
feasible or may have negative consequences I have not in my naivety 


More information about the OpenStack-dev mailing list