I think notifications need to be kept really simple. I put out a proposal a few 
months ago at:

http://broadcast.oreilly.com/2011/04/proposal-for-cloud-state-notifications.html

Let the subscribers do any heavy lifting. Just provide them enough information 
that they can make the right requests.

-George

On May 9, 2011, at 10:58 PM, Jorge Williams wrote:

> 
> On May 9, 2011, at 6:39 PM, Matt Dietz wrote:
> 
>> 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. 
> 
> I guess, I'm not seeing the whole picture.  So these are internal messages? 
> Will they cross service boundaries / zones?  I'm sorry I missed the 
> conversation at the summit :-) Is there a blueprint I should be reading? 
> 
>> 
>> For categories, were you considering this to be a list? Could you give an 
>> example of an event that would span multiple categories?
>> 
> 
> From an Atom perspective, I suppose anything a client might want to key in on 
> or subscribe to may be a category.  So "create" may be a category -- a 
> billing layer may key in on all create messages and ignore others. "compute" 
> may also be a category -- you can aggregate messages from other services so 
> It'd be nice for messages from compute to have their own category.  To my 
> knowledge, atom doesn't have the concept of priority so "WARN" may also be a 
> category.  I suppose if these are internal messages an external publisher can 
> split the event_type and priority into individual categories.
> 
>> Finally, I can make the changes to the timestamp. This as just a 
>> hypothetical example, anyway. 
>> 
> 
> Okay cool, thanks Matt.
> 
>> 
>> 
>> On May 9, 2011, at 6:13 PM, "Jorge Williams" <jorge.willi...@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 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.
> 
> _______________________________________________
> Mailing list: https://launchpad.net/~openstack
> Post to     : openstack@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~openstack
> More help   : https://help.launchpad.net/ListHelp

--
George Reese - Chief Technology Officer, enStratus
e: george.re...@enstratus.com    t: @GeorgeReese    p: +1.207.956.0217    f: 
+1.612.338.5041
enStratus: Governance for Public, Private, and Hybrid Clouds - @enStratus - 
http://www.enstratus.com
To schedule a meeting with me: http://tungle.me/GeorgeReese

Attachment: smime.p7s
Description: S/MIME cryptographic signature

_______________________________________________
Mailing list: https://launchpad.net/~openstack
Post to     : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp

Reply via email to