I came into the conversation late and it struck me this proposal was a bit 
heavier than what I was proposing.

I agree with letting something outside of Nova do the heavy lifting. Much more 
scaleable. The base things I would like to see are:

a) the minimal amount of information to let a subscriber know that there was a 
change (not the details of the change)
b) only information that is safe to deliver over a public network to an 
untrusted target 
c) that the subscriber be able to be a programmatic endpoint (not simply 
email/SMS) 
d) the subscriber should not assume anything about the message, including its 
authenticity (it should use its credentials to verify the truth of the message 
and details of change with provider)

-George

On May 10, 2011, at 12:01 PM, Matt Dietz wrote:

> George,
> 
> Unless I'm completely mistaken, I think our proposal satisfies this 
> suggestion. What you have here looks like a slight variation on PSHB. Our 
> stuff is coded such that the responsibility of any heavy lifting falls 
> outside of Nova. In our case, we'll be implementing the PubSub publisher 
> externally; I.e. I don't think any of the infrastructure for making PSHB work 
> belongs in Nova. We can then follow all of the other rules of PSHB(feed 
> discovery and subscriptions, callbacks etc.)
> 
> Does this make sense?
> 
> Matt
> 
> From: George Reese <george.re...@enstratus.com>
> Date: Mon, 9 May 2011 23:17:29 -0500
> To: Jorge Williams <jorge.willi...@rackspace.com>
> Cc: Matt Dietz <matt.di...@rackspace.com>, "openstack@lists.launchpad.net" 
> <openstack@lists.launchpad.net>
> Subject: Re: [Openstack] Notifications proposal
> 
> 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
> 
>  Confidentiality Notice: This e-mail message (including any attached or
> embedded documents) is intended for the exclusive and confidential use of the
> individual or entity to which this message is addressed, and unless otherwise
> expressly indicated, is confidential and privileged information of Rackspace.
> Any dissemination, distribution or copying of the enclosed material is 
> prohibited.
> If you receive this transmission in error, please notify us immediately by 
> e-mail
> at ab...@rackspace.com, and delete the original message.
> Your cooperation is appreciated.

--
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