Thanks for the reply,

I have to confess that I'm still concerned about the idea of yet another API 
for several reasons.

* While I appreciate the idea of a compatibility layer of sorts, we already 
have a weird digression in available features between Amazon and Openstack. I 
think a 3rd API that also isn't finished will lead to more confusion than 
anything else, especially since the Openstack API is named to imply that it's 
official.
* Couldn't we just add a reflection API to the OS API and gain many of the same 
benefits you list?
* Stack doesn't seem to solve the binding problem for people that want to 
programatically interact with Openstack. As such, this means more API bindings, 
and I don't think reflection helps with much of anything in that regard. More 
specifically, said bindings will still either be written with explicit needs in 
mind or as a crack at being wholly comprehensive. 
http://bitworking.org/news/193/Do-we-need-WADL articulates this better than I 
can.
* Presumably EasyAPI will also be incomplete/unstable through at least Cactus. 
Doesn't this just add to the problem that drove you to create EasyAPI in the 
first place?
* I think the hackability idea is sound, with the caveat that I don't really 
see how this implementation actually solves that issue any better than the 
existing code base. With a small amount of effort, we can extend the OS API to 
be highly modular.

I do want to mention that at no point was the OS API, in it's current 
incarnation, intended to be the do-all/be-all. We're simply making a first pass 
for parity, and then follow-up passes to make it awesome :-)

Matt

From: Andy Smith <andys...@gmail.com<mailto:andys...@gmail.com>>
Date: Wed, 29 Dec 2010 12:08:29 -0800
To: Matt Dietz <matt.di...@rackspace.com<mailto:matt.di...@rackspace.com>>
Cc: Jesse Andrews <je...@ansolabs.com<mailto:je...@ansolabs.com>>, termie 
<launch...@anarkystic.com<mailto:launch...@anarkystic.com>>, Sandy Walsh 
<sandy.wa...@rackspace.com<mailto:sandy.wa...@rackspace.com>>, 
<openstack@lists.launchpad.net<mailto:openstack@lists.launchpad.net>>
Subject: Re: Easy API

+openstack

On Wed, Dec 29, 2010 at 12:06 PM, Andy Smith 
<andys...@gmail.com<mailto:andys...@gmail.com>> wrote:
Heya Matt,

I was intending on writing an email to the mailing list about it (so I'll just 
CC it), was just going over tone with the Anso team first since I tend to come 
off a bit antagonistic.

The short summary is that we wanted to return "hackability" to the project, as 
developers the move towards API compatibility has slowly removed most of the 
tools we had in place to test out new features as they were being worked on, so 
in that way the reflection api, self-registration of services, command-line 
tool and general simplicity (you can explain how everything works in just a few 
sentences) are a solution.

Part of that hackability also meant hackability for third-parties, we wanted 
developers to be able to add functionality to Nova without having to go through 
the Nova review process and even be able package that functionality separately, 
this is an obvious  goal for any large entity using openstack internally where 
they have additional changes to make to customize their deployment.

Easy API makes up a good basis for extensibility of the project over time.

The existing APIs are still necessary to serve their purpose which is 
translating the intents defined by existing specifications/implementations to 
tasks that make sense for Nova, and should it be desirable those interfaces can 
easily be built on top of and decoupled (due to the delegated auth pattern) 
from the Easy API, the EasyCloudTestCase gives a decent example of how such a 
thing could be done.

In my personal opinion I see the two existing API implementations as 
'compatibility' APIs where as Easy API is a direct API and much easier to 
understand because of it.

The relevant blueprint (read the spec, obvs): 
https://blueprints.launchpad.net/nova/+spec/easy-api

--andy

On Wed, Dec 29, 2010 at 11:20 AM, Matt Dietz 
<matt.di...@rackspace.com<mailto:matt.di...@rackspace.com>> wrote:
Hey guys,

I was wondering if you could answer a few questions? I get the argument that 
EC2 and eucatools suck, and that the OS API is incomplete/unstable. What 
prompted you starting down the Easy API path? Subsequently, what issues are you 
hoping to solve with it? From what I can see, it's the WADL-like/reflection 
interface that seems to be the driving force. Is this correct?
I'm curious mostly because a lot of effort has been expended with the goal of 
making the existing OS API the canonical one. I'm fine with a better effort, 
but I've been operating in accordance with the internal goal of making it work 
100% like the Rackspace API so all existing bindings will "just work" if 
someone cares to try out Openstack. Obviously we can't continue working on 
parallel paths because we'll just end up fracturing the  API user-base until we 
can decide which API is going to stick.
I'd like to get the discussion started, and I'll be glad to take it to the 
blueprint (since I see you made one as of 18 hours ago) or IRC.

Thanks,

Matt




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.

_______________________________________________
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