openstack team mailing list archive
-
openstack team
-
Mailing list archive
-
Message #05116
Re: API Versioning and Extensibility
On 10/27/2011 08:56 AM, George Reese wrote:
THE API SHOULD NOT BE SERVING ATOM CONTENT!!!
What!? Atom is a fine way to represent a collection. Especially one that
is append only.
There's a nasty habit within the OpenStack community of trying to boil
the ocean. And here we are navel gazing over feeds and crap when the API
can't yet support the most basic of functionality.
What does that have to do with versioning?
I've worked with just about every damn cloud API out there. I have a
very solid grasp on how cloud APIs get consumed, what people have done
right, what people have done wrong, and where we need innovation.
We need innovation in pushing data to API consumers.
I disagree, but this isn't the thread to debate push vs pull as it has
nothing to do with versioning.
Version and content desired belong in the headers for request and
response. The imaginary crap you are dealing with a) don't require them
in a URL unless you are pulling it from the URL bar of a browser, which
is NOT an API use case and b) doesn't help you deal with the core
functionality of the API that is now OVER A YEAR BEHIND where it should be.
Developers of the API need a way to see the payloads they are developing
against. They need it to understand what the data looks like to consume
it in code and they need it to troubleshoot data specific problems.
Since our data is URI centric, it's quite reasonable for a developer to
expect to put those URIs in a browser and get something useful.
Whether a particular team has met it's expected roadmap to back it's API
with a working implementation seems completely unrelated to the best way
to do versioning to maximize the ability of clients to leverage
backwards compatible changes.
Follow ups
References