[openstack-dev] Discussing Amazon API compatibility [Nova][Swift]

Sean Dague sean at dague.net
Fri Jul 26 12:04:51 UTC 2013

On 07/25/2013 08:30 PM, Joshua Harlow wrote:
> When you have so much state to maintain then aren't the APIs incorrect??

Yes, the EC2 APIs are incorrect in being silly and using ints for ids 
for so many things, also for supporting people to make GET requests with 
16k get strings. But there isn't much we can do about that. :)

> Or can there be new API's that expose this translation, something
> seems/feels wrong if there is so much state to maintain u can't do a
> translation layer.

Most of this is about id allocation and translation. OpenStack uses 
UUIDs, AWS uses ints. UUIDs is a better design point, and means you 
don't need to have a global auto allocator which you can guaruntee, 
which is good.

Also there are EC2 design points that have request lengths greater than 
what Apache (or any other web front end) is compiled to support, as they 
have the possibility of enourmous GET strings (16K at least). Again, 
instead of sensibly requiring to move to POST in those cases. I know we 
had to land a change for CERN to allow bigger requests on EC2 calls for 
just this reason (we did keep the get length apache sized on OSAPI, so 
we didn't break people's attempts to get this behind a real web server).

Translation is never exact, go talk to the WINE folks about that one.

I'm personally fine either way, proxy or embedded in openstack. Which 
approach isn't really the issue. It's that no one is doing the work. 
Actions speak much louder than words (well... except in pundit echo 
chambers), so I'd much rather have people with strong opinions on this 
express how strongly those are by having a big patch queue for me to review.


> My 2 cents.
> On 7/25/13 4:36 PM, "Michael Still" <mikal at stillhq.com> wrote:
>> On Fri, Jul 26, 2013 at 8:30 AM, Russell Bryant <rbryant at redhat.com>
>> wrote:
>>> If an external proxy (like AWSOME) is what you want, one of those
>>> already exists (at least for the EC2 API).
>>> http://deltacloud.apache.org/
>>> It supports EC2 on the frontend and the OpenStack compute API on the
>>> backend.  I'm not sure how using this compares to the EC2 implementation
>>> in nova, though.
>> I am sceptical of the external proxy approach as there is a lot of
>> state to maintain (uuid to id mappings for example) which is hard to
>> do right in a proxy. I like the idea of the AWS APIs being secondary
>> APIs within nova. However, its fair to say that there hasn't been much
>> work done on them recently.
>> Michael
>> --
>> Rackspace Australia
>> _______________________________________________
>> OpenStack-dev mailing list
>> OpenStack-dev at lists.openstack.org
>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Sean Dague

More information about the OpenStack-dev mailing list