[openstack-dev] [API-WG] Schema like aws-sdk and API capabilities discovery

Chris Dent cdent+os at anticdent.org
Tue Mar 14 14:21:10 UTC 2017


On Fri, 10 Mar 2017, Gilles Dubreuil wrote:

> On a different list we're talking about improving/new features on the client 
> side of OpenStack APIs and this one came up (please see below).
>
> Although API-ref is doing a great job, I believe the question is: Can we 
> achieve an equivalent of aws-sdk? For instance could we have each project's 
> API to publish its own schema?

I'm not sure if I fully understand what you're asking about or for?
Is the request that the various OpenStack APIs publish some kind of
structure API description (using something like
https://www.openapis.org/ )? Various people did some exploration of
this, trying to use swagger (as it was called then) to help with
documenting the APIs. What we discovered at the time was a) using
swagger on existing APIs didn't work as well as using it when
creating new ones, b) microversions and swagger don't play as well
together as we'd like.

If you mean something like WADL or WSDL, the general decision has
been that such things only work if there is sufficient tooling on
the client side, and we don't want to require our users to have that
kind of tooling. Instead we'd prefer that the APIs converge toward
being relatively comprehensible and usable by humans.

If you mean something else (like perhaps using json-home?) please
explain what it is.

In any case, the API-WG has not taken upon itself to make any
assertions or statements about facilitating client creation
automation. Our position is that the APIs should be something you
can consume without a great deal of intermediation and we work
towards ensuring that. That's not a fixed decision, but is certainly
the case for now.

> I suppose this would fit under the API-WG umbrella. Would that be correct? 
> Could someone in the group provide feedback please?

It could well do if we can figure out what we're all talking about
:)

> Trying to find current work around this, I can see the API capabilities 
> discovery [1] & [2] is great but, it seems to me that part of the challenge 
> for the WG is a lack of schema too. Wouldn't it make sense to have a 
> standardized way for all services APIs (at least on the public side) to 
> publish their schema (including version/microversions details) before going 
> any further?

The capabilities work is oriented towards determining what features
are available either "in this cloud" or "on this specific resource".

I guess the most important questions I can ask at this point are "Can
you please define what you mean by schema?" and "If I had one, what
could I do with it?". That will go a long way to making sure we're
near to the same page. I can make some guesses, but better to be
sure.

-- 
Chris Dent                 ¯\_(ツ)_/¯           https://anticdent.org/
freenode: cdent                                         tw: @anticdent


More information about the OpenStack-dev mailing list