← Back to team overview

openstack team mailing list archive

Re: rpc APIs (was: Canonical AWSOME)

 

Looking at the "rabbitmq" notifier, it actually just wraps rpc (so it is really an "rpc notifier")… it won't work with the ZeroMQ driver because it breaks the presumption that topics are "$topic.$host". Granted, that might have been presumptuous, but nothing besides the notifier did this. I'd much rather that a dash or underscore was used here, if possible.

Then, the ZeroMQ driver would "just work" with the existing notifier by implementing fanout_cast() for notify().  

--  
Eric Windisch


On Wednesday, April 25, 2012 at 6:23 PM, Monsyne Dragon wrote:

> The notification system  is simply 'borrowing'  some code from rpc to push notifications.  The notifications have a specified JSON message format, documented on the wiki: http://wiki.openstack.org/NotificationSystem  
> As far as the notification drivers, they are very very simple.  
>  
>  
> On Apr 25, 2012, at 2:45 PM, Eric Windisch wrote:  
> > Sure, but then the contract becomes between the notifier and the client, presumably? I'm not as familiar with the notification system as I should be.  
> >  
> > I haven't written a ZeroMQ notifier yet, figuring that task would be better delayed until the move to openstack-common.  
> >  
> > --  
> > Eric Windisch  
> >  
> >  
> > On Wednesday, April 25, 2012 at 3:29 PM, Russell Bryant wrote:
> >  
> > > On 04/25/2012 03:22 PM, Eric Windisch wrote:
> > > > I've heard a few people mention pulling messages off the queue, or
> > > > communicating via RPC outside of the project, or outside of Python. In
> > > > theory, this sounds nice, but the RPC implementations are strictly
> > > > making sure that A can execute calls on target B and that responses get
> > > > back to A.
> > > >  
> > > > This has little to do with message queues, other than that message  
> > > > queues are optionally supported. You shouldn't be peeking behind that
> > > > curtain. This is specific to each RPC mechanism and enforcing something
> > > > this early might be more problematic than you expect.
> > > >  
> > > >  
> > >  
> > >  
> > > I agree with you that any discussion of other things poking at the rpc  
> > > communications is broken and wrong.
> > >  
> > > The only case where it does make sense is notifications. In that case,  
> > > the fact that it's using rpc is just an implementation detail. If you
> > > enable the rabbit notifier (should probably be renamed at some point),
> > > there is a specific AMQP message exchange where external applications
> > > are to receive notifications from nova.
> > >  
> > > This implementation detail means that this can also be used with zeromq  
> > > ... though I'm not sure that makes sense. There would probably be a
> > > notifier implementation specific to zeromq that could make better use of
> > > that messaging model.
> > >  
> > > --  
> > > Russell Bryant
> > >  
> > >  
> > >  
> >  
> >  
> > _______________________________________________
> > Mailing list: https://launchpad.net/~openstack
> > Post to     : openstack@xxxxxxxxxxxxxxxxxxx (mailto:openstack@xxxxxxxxxxxxxxxxxxx)
> > Unsubscribe : https://launchpad.net/~openstack
> > More help   : https://help.launchpad.net/ListHelp
>  
> --  
> Monsyne M. Dragon
> OpenStack/Nova  
> cell 210-441-0965
> work x 5014190
>  
>  
>  
>  


References