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