+1

Devin

On Jul 8, 2011, at 10:29 AM, Lorin Hochstein <lo...@isi.edu> wrote:

> 
> On Jul 8, 2011, at 10:36 AM, Sandy Walsh wrote:
> 
>> +1 to Soren's argument that ec2 is the 1000lb gorilla and should be central 
>> to nova. We definitely need to support it with as close to 100% 
>> compatibility as we can. 
>> 
>> Sounds like the only option is to "embrace and extend" it. Do everything it 
>> can do, and layer on what we need provided it doesn't break the core EC2 
>> commands. If the customer wants pure EC2, they'll have to live with the 
>> limitations.
>> 
>> That said, is this the proposal I'm hearing? ...
>> 
>> Since our separation is done at the service.api layer, the service.api's get 
>> pulled in two directions with each change in ec2/os. The idea is to have ec2 
>> be a translation layer to os api? Preventing ec2 api from calling 
>> [service].api directly?
>> 
>> So, instead of 
>> 
>> EC2 Client   OS Client
>>   |             |
>> EC2 API        OS API
>>    \           /
>>   [Service] API
>> 
>> We'd be shifting to:
>> 
>> EC2 Client ---- EC2 API
>>                        |
>> OS Client ------ OS API
>>                        |
>>                 [Service] API
>> 
>> I need to think more about this, but at first blush, it doesn't seem like 
>> such a [bad] thing? At some point the abstraction layer needs to be locked 
>> down doesn't it?
>> 
> 
> I think it actually looks more like this right now: 
> 
> 
> EC2 Client   OS Client
>   |             |
> EC2 API        OS API
>    \           /
>   [nova-*] service APIs
> 
> There isn't really a single back-end API for the front-end APIs to call into. 
> Instead, each of them makes calls to the multiple service APIs (e.g., 
> scheduler, network, compute). 
> 
> I would advocate for something more like this:
> 
> 
> EC2 Client   OS Client
>   |             |
> EC2 API        OS API
>    \           /
>   internal nova API
>           |
>   [nova-*] service APIs
> 
> 
> This is a single, unified API that is meant only for internal use. This would 
> reduce the coupling between front-end and back-end. It would make it easier 
> for someone with less expertise in the code (hello!) to find the location in 
> the code that answers questions like: "What does nova do when a user requests 
> that an instance is launched?"   They would just look at the internal API and 
> find the appropriate method. It would also make it easier to add additional 
> front-ends, if there's ever any interest in that.
> 
> 
> Lorin
> --
> Lorin Hochstein, Computer Scientist
> USC Information Sciences Institute
> 703.812.3710
> http://www.east.isi.edu/~lorin
> 
> _______________________________________________
> Mailing list: https://launchpad.net/~openstack
> Post to     : openstack@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~openstack
> More help   : https://help.launchpad.net/ListHelp
_______________________________________________
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