[openstack-dev] [Ceilometer] Notifications from non-local exchanges

Sandy Walsh sandy.walsh at rackspace.com
Fri Oct 11 00:19:30 UTC 2013



On 10/10/2013 06:16 PM, Neal, Phil wrote:
> Greetings all, I'm looking at how to expand the ability of our CM
> instance to consume notifications and have a quick question about
> the configuration and flow...
> 
> For the notifications central agent ,  we rely on the services (i.e.
> glance, cinder)  to drop messages on the same messaging host as used
> by Ceilometer. From there the listener picks it up and cycles through
> the plugin logic to convert it to a sample. It's apparent that we
> can't pass an alternate hostname via the control_exchange values, so
> is there another method for harvesting messages off of other
> instances (e.g. another compute node)?

Hey Phil,

You don't really need to specify the exchange name to consume
notifications. It will default to the control-exchange if not specified
anyway.

How it works isn't so obvious.

Depending on the priority of then notification the oslo notifier will
publish on <topic>.<priority> using the service's control-exchange. If
that queue doesn't exist it'll create it and bind the control-exchange
to it. This is so we can publish even if there are no consumers yet.

Oslo.rpc creates a 1:1 mapping of routing_key and queue to topic (no
wildcards). So we get

<exchange:<service>> -> binding: routing_key "<topic>.<priority>" ->
queue "<topic>.<priority>"

(essentially, 1 queue per priority)

Which is why, if you want to enable services to generate notifications,
you just have to set the driver and the topic(s) to publish on. Exchange
is implied and routing key/queue are inferred from topic.

Likewise we only have to specify the queue name to consume, since we
only need an exchange to publish.

I have a bare-bones oslo notifier consumer and client here if you want
to mess around with it (and a bare-bones kombu version in the parent).

https://github.com/SandyWalsh/amqp_sandbox/tree/master/oslo

Not sure if that answered your question or made it worse? :)

Cheers
-S


> 
> 
> - Phil
> 
> _______________________________________________ OpenStack-dev mailing
> list OpenStack-dev at lists.openstack.org 
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> 



More information about the OpenStack-dev mailing list