On Thu, Aug 9, 2012 at 10:45 AM, Murali Reddy <murali.re...@citrix.com> wrote: > > In continuation to the disucssion [1] to have publisher/subscriber event > notification mechanism in CloudStack I am proposing a framework for > delivering events to the in-process subscribers. This is slightly > in-contrast to the earlier discussion to have native rich notification > (callback, SMS, email) systems and use of AMQP message brokers etc. Goal > of this proposal is to have minimal event notification mechanism in the > CloudStack core using which more powerful and flexible notification > system, monitoring systems can be build on top of this mechanism. > > I am proposing below changes. Please refer to [2] for detailed proposal. > Please comment on proposal if you see any flaws, or have better > suggestions. > > - for all the virtual and physical resource CloudStack manages, > associate a state machine and for every state change publish relevent event > - introduce a light weight event bus, on which events are published by > publishers. Event bus will be responsible for event delivery to the > subscribers > > I am planning to work on introducing these changes post ASF 4.0 release. > As reference implementation I am planning to move the usage component code > that is spread across the CloudStack components in to a usage plug-in that > will be subscriber of the events through event bus. Once the framework is > in place if any one is interested in building AMQP plug-in I would like to > hear their thoughts. > > [1] > http://mail-archives.apache.org/mod_mbox/incubator-cloudstack-dev/201205.mb > ox/%3ccdb33581-95ec-4f02-92c7-610933c66...@tizatron.com%3e > > [2] > http://cwiki.apache.org/confluence/display/CLOUDSTACK/Event+Notification+Fr > amework+Proposal > > > >
Murali, I really like this approach, and will be willing to step in and implement the AMQP plugin after the initial framework is in place. As for the design itself, one thing I didn't quite wrap my head around: is there any provision for handling events that might be noticed in the environment NOT being fired off on all management servers? Ex: a host goes offline. Is that picked up by all management servers in a cluster? -chip