[Openstack] Notifications proposal

Matt Dietz matt.dietz at rackspace.com
Mon May 9 23:39:29 UTC 2011


Jorge,

   Thanks for the feedback!

   Regarding the message format, we actually don't need the unique id in the generic event format because that's implementation specific. The external publisher I've implemented actually does all of the pubsubhubbub specific heavy lifting for you. The idea behind keeping this system simple at the nova layer is allowing people to implement anything they'd like, such as emails or paging.

For categories, were you considering this to be a list? Could you give an example of an event that would span multiple categories?

Finally, I can make the changes to the timestamp. This as just a hypothetical example, anyway.



On May 9, 2011, at 6:13 PM, "Jorge Williams" <jorge.williams at rackspace.com<mailto:jorge.williams at rackspace.com>> wrote:


On May 9, 2011, at 5:20 PM, Matt Dietz wrote:

Message example:

    { 'publisher_id': 'compute.host1',
      'timestamp': '2011-05-09 22:00:14.621831',
      'priority': 'WARN',
      'event_type': 'compute.create_instance',
      'payload': {'instance_id': 12, ... }}

There was a lot of concern voiced over messages backing up in any of the queueing implementations, as well as the intended priority of one message over another. There are couple of immediately obvious solutions to this. We think the simplest solution is to implement N queues, where N is equal the number of priorities. Afterwards, consuming those queues is implementation specific and dependent on the solution that works best for the user.

The current plan for the Rackspace specific implementation is to use PubSubHubBub, with a dedicated worker consuming the notification queues and providing the glue necessary to work with a standard Hub implementation. I have a very immature worker implementation at <https://github.com/Cerberus98/yagi> https://github.com/Cerberus98/yagi if you're interested in checking that out.


Some thoughts:

In order to support PubSubHubBub you'll also need each message to also contain a globally unique ID.  It would also be nice if you had the concept of categories.  I realize you kinda get that with the event type "compute.create_instance" but there are always going to be messages that may belong to multiple categories. Also, ISO timestamps with a T :  "2011-05-09T22:00:14.621831" are way more interoperable -- I would also include a timezone designator Z for standard time 2011-05-09T22:00:14.621831Z -- otherwise some implementation assume the local timezone.

-jOrGe W.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack/attachments/20110509/1c1b28d3/attachment.html>


More information about the Openstack mailing list