[openstack-dev] [quantum] usage of notifications

Russell Bryant rbryant at redhat.com
Tue Oct 9 22:35:02 UTC 2012


Greetings,

I spent a bit of time looking over how rpc is being used in Quantum.
Messages are being sent between the plugin and the agent.  In the "agent
-> plugin" direction, this is done how I would expect.  In the other
direction, "plugin -> agent", it is being done using notifications,
which has some issues:

1) Notifications as a mechanism for communication between OpenStack
projects has not been very well fleshed out.  If you intent to consume
notifications over AMQP, you have to use a non-public API call in the
AMQP rpc drivers, as documented here:

https://bugs.launchpad.net/quantum/+bug/1047015

2) Notifications are not AMQP only.  They are configurable by users and
can be sent to log files, or nowhere.  In this case, these notifications
are used as an internal implementation detail.


Are these notifications being used for anything else other than plugin
-> agent communications?  If so, what?

If this is the only purpose, I would propose removing the use of
notifications completely and implement it much more like the code for
"agent -> plugin", but by using the fanout_cast method.  That provides a
broadcast mechanism similar to what you get with notifications.

If the notifications are used elsewhere, then I would still propose
switching to using a private rpc API with fanout_cast for the agent <->
plugin communications and leave the notifications for optional
consumption outside of Quantum.

Thanks,

-- 
Russell Bryant



More information about the OpenStack-dev mailing list