Planning to use apache Qpid implementation of AMQP for publishing cloudstack 
events.
Amazon like notifications system ala AWS SNS can be added to this eventually.

-abhi

>-----Original Message-----
>From: Chiradeep Vittal [mailto:chiradeep.vit...@citrix.com]
>Sent: Friday, May 18, 2012 10:40 PM
>To: George Reese; cloudstack-dev@incubator.apache.org
>Cc: Nitin Mehta; Kishan Kavala; Dean
>Subject: Re: Event Publish and Subscribe ( was perhaps Re: Cloudstack
>Questions )
>
>While embedding the publisher inside CloudStack could be one way to go, it is
>probably more immediately useful if we push events to a popular queueing
>system such as AMQP?
>Having CS have its own unique way of publishing events does make it more
>work for others to utilize these events.
>Agree on having a design that allows for other systems of notifications.
>
>From: George Reese
><george.re...@enstratus.com<mailto:george.re...@enstratus.com>>
>Date: Fri, 18 May 2012 05:24:42 -0700
>To: "cloudstack-dev@incubator.apache.org<mailto:cloudstack-
>d...@incubator.apache.org>" <cloudstack-
>d...@incubator.apache.org<mailto:cloudstack-dev@incubator.apache.org>>
>Cc: Nitin Mehta <nitin.me...@citrix.com<mailto:nitin.me...@citrix.com>>,
>Kishan Kavala <kishan.kav...@citrix.com<mailto:kishan.kav...@citrix.com>>,
>Dean <cl...@tizatron.com<mailto:cl...@tizatron.com>>, Chiradeep Vittal
><chiradeep.vit...@citrix.com<mailto:chiradeep.vit...@citrix.com>>
>Subject: Re: Event Publish and Subscribe ( was perhaps Re: Cloudstack
>Questions )
>
>Here's the way event pub sub should work...
>
>People interested in events will subscribe to them via API and CloudStack will
>maintain a record that includes:
>
>* What type of event(s) the subscriber cares about
>* The URI of an endpoint to notify on events
>* An optional API key for signing event publications
>
>If you want it to be really rich, you allow for multiple notifications 
>endpoints,
>including SMS and email.
>
>When the existing event management system in CloudStack identifies a state
>change, it published it to a message queue.
>
>A new CloudStack component is subscribed to the message queue and pulls
>the state change off. It then sends the event to all interested parties. It 
>does
>not keep delivery state. It sends and forgets. The only thing resembling state
>is the counting of failures, eventually killing an endpoint that fails to 
>often.
>
>-George
>
>On May 17, 2012, at 10:53 PM, Abhinandan Prateek wrote:
>
>Cloudstack already have a well-defined set of events, currently being used by
>the Usage module.
>We can extend this to publish the events to registered listeners/subscribers.
>
>Nitin,
>  We should evaluate the google guava package for this purpose.
>
>-abhi
>
>-----Original Message-----
>From: Chiradeep Vittal [mailto:chiradeep.vit...@citrix.com]
>Sent: Saturday, May 12, 2012 3:48 AM
>To: cloudstack-dev@incubator.apache.org<mailto:cloudstack-
>d...@incubator.apache.org>
>Cc: Dean
>Subject: Re: Event Publish and Subscribe ( was perhaps Re: Cloudstack
>Questions )
>
>+1.
>This could also be used for example to update DNS records on a DNS server
>whenever a VM is started / stopped in a network.
>A subscriber to the event bus can do this, and potentially things like 
>updating a
>CMDB or an LDAP server.
>
>The important caveat is that this will be asynchronous to the stuff happening
>inside the management server: it has limited utility for doing stuff that  is
>required to succeed before an API operation can succeed.
>For example, if a VM start requires a NAT rule to be programmed on the
>firewall before the start can be considered successful. You could write a event
>bus subscriber that does this, but the management server would not know if
>it was successful or not.
>
>There's at least a couple of entry points:
>1. com.cloud.utils.fsm.StateListener. Classes that implement this listener get
>notified on finite state event transitions. Examples include VM start / stop 2.
>com.cloud.network.element.NetworkElement. Classes that implement this
>get notified of network state transitions. Examples include adding nics and
>removing nics to/from a network.
>
>I think the first question regarding monitoring VMs on the isolated VLAN had a
>different origin though.
>The intention there was to have a monitoring service (e.g., Nagios) reach into
>the VM and monitor stuff like CPU, IO, or even applications.
>The issue there was around network reachability.
>
>--
>Chiradeep
>
>
>
>On 5/11/12 2:09 PM, "Adrian Cole"
><adr...@jclouds.org<mailto:adr...@jclouds.org>> wrote:
>
>+1
>
>Makes sense to have pubsub.  Inside the java codebase, we could consider a
>clean and idiomatic lib like guava which is easy to unit test.
>
>http://codingjunkie.net/guava-eventbus/
>
>Then, expose out-of-JVM hooks for any of the popular services people use.
>
>-A
>On May 11, 2012 1:58 PM, "Dean"
><cl...@tizatron.com<mailto:cl...@tizatron.com>> wrote:
>
>Cross reference to:
>
>
>
>http://mail-archives.apache.org/mod_mbox/incubator-cloudstack-
>dev/201204.
>mbox/browser
>
>[ from: Marlon Davids ]
>< munch >
>2) How do we monitor VM's that are in Cloudstack when they are in an
>isolated VLAN does anyone have a clever workaround?
>3) Has anyone developed a script for parsing and alerting on warning events in
>the management Log yet?
>
>I would like to propose cloudstack consider a pub/sub model for event
>handling to complement API calls like listEvents.
>
>Polling can be problematic and sensitive to scaling.
>
>A simple example would be state change on a physical device.  The admin
>server can simply publish a message on a network socket indicating that the
>device has changed it's state.
>
>If a subscriber was interested in that device, it could make an api call  to 
>the
>admin server for state change information for that device only.
>The
>admin server may choose to validate that physical device against the current
>state table in the database.
>
>The API would reply that this node changed it's state from Operational to
>Prep For Maintenance.  (or whatever the transition state would be)
>
>The message exchange could be wrapped around vm states, resource
>additions/removals etc.
>
>Using a library like zeromq, a developer can write any number of consumers
>in any language they wanted to subscribe to the Event Bus.
>
>Comments?
>
>--
>-Dean
>
>
>--
>George Reese - Chief Technology Officer, enStratus
>e: george.re...@enstratus.com<mailto:george.re...@enstratus.com>
>Skype: nspollution    t: @GeorgeReese    p: +1.207.956.0217
>enStratus: Enterprise Cloud Management - @enStratus -
>http://www.enstratus.com<http://www.enstratus.com/>
>To schedule a meeting with me: http://tungle.me/GeorgeReese

Reply via email to