[openstack-dev] [OSLO][RPC] AMQP / ZeroMQ control_exchange vs port numbers
Mark McLoughlin
markmc at redhat.com
Mon Apr 29 13:36:21 UTC 2013
On Mon, 2013-04-29 at 09:19 -0400, Doug Hellmann wrote:
>
>
>
> On Mon, Apr 29, 2013 at 6:36 AM, Mark McLoughlin <markmc at redhat.com> wrote:
> On Fri, 2013-04-26 at 07:19 -0400, Doug Hellmann wrote:
> > On Friday, April 26, 2013, Julien Danjou wrote:
> >
> > > On Fri, Apr 26 2013, Doug Hellmann wrote:
> > >
> > > > After thinking about this a little more I realized that this doesn't
> > > solve
> > > > the problem of allowing one service to talk to another on a separate
> > > > "exchange." If that's still something we want to do, we need another
> > > > argument passed to the ConnectionFactory to represent that exchange
> > > > explicitly (I know we need another name, but until we come up with one
> > > I'll
> > > > stick with "exchange"). The default can come from the config, but callers
> > > > like ceilometer need a way to specify an alternative value.
> > > >
> > > > Do we care if the exchange for a service is not on the same host? Do we
> > > > need to allow users to provide different host/port settings for every
> > > > exchange?
> > >
> > > Yes, that's why I thought we would include the control exchange as part
> > > of a connection URL. That would be an abstraction detail for AMQP, where
> > > url would be something like amqp://localhost:3456/mycontrolexchange.
> >
> >
> > I definitely like the idea of using a URL instead of the multiple params we
> > have now, but we will need a way to migrate or otherwise support old
> > configs.
>
>
> I think we can support the current config format as the more convenient
> way of configuring the default transport that a service uses, but also
> support URLs for configuring alternate transports e.g.
>
> https://wiki.openstack.org/wiki/Oslo/Messaging#Transport_Driver_API
>
> > The real challenge, in my mind, is how to know which URL to use for a given
> > connection. If we have several, what values are part of the lookup key?
>
>
> Well, if this is ceilometer wanting to listen for nova notifications,
> then you just have a config option in ceilometer like
>
> nova_notifications_url = kombu://broker//nova/notifications
>
>
> That's basically what we have for ceilometer now, although we only specify the exchange.
>
>
> I'm not sure that works so well for cells, though. Does a parent cell
> have a configuration setting for each of its children? How does it
> address the children (do cells have names or unique ids or
> something?)?
Yeah, AFAIK. The cell name to transport configuration goes into the
database.
Cheers,
Mark.
More information about the OpenStack-dev
mailing list