On 2014年09月23日 04:27, Brant Knudson wrote:
On Fri, Sep 19, 2014 at 1:39 AM, Alex Xu <x...@linux.vnet.ibm.com
<mailto:x...@linux.vnet.ibm.com>> wrote:
Close to Kilo, it is time to think about what's next for nova API.
In Kilo, we
will continue develop the important feature micro-version.
In previous v2 on v3 propose, it's include some implementations can be
used for micro-version.
(https://review.openstack.org/#/c/84695/19/specs/juno/v2-on-v3-api.rst)
But finally, those implementations was considered too complex.
So I'm try to find out more simple implementation and solution for
micro-version.
I wrote down some ideas as blog post at:
http://soulxu.github.io/blog/2014/09/12/one-option-for-nova-api/
And for those ideas also already done some POC, you can find out
in the blog post.
As discussion in the Nova API meeting, we want to bring it up to
mail-list to
discussion. Hope we can get more idea and option from all developers.
We will appreciate for any comment and suggestion!
Thanks
Alex
Did you consider JSON Home[1] for this? For Juno we've got JSON Home
support in Keystone for Identity v3 (Zaqar was using it already). We
weren't planning to use it for microversioning since we weren't
planning on doing microversioning, but I think JSON Home could be used
for this purpose.
Using JSON Home, you'd have relationships that include the version,
then the client can check the JSON Home document to see if the server
has support for the relationship the client wants to use.
[1] http://tools.ietf.org/html/draft-nottingham-json-home-03
- Brant
Brant, thanks for your comment!
In the micro-version spec discussion, there are discussion JSON-Home
also. (At line 158
https://review.openstack.org/#/c/101648/1/specs/juno/api-microversions-alt.rst)
And people like it. JSON-Home is good choice for API discoverable.
That didn't describe in the blog post. The blog post is most focus on
implement multiple version support in the wsgi infrastructure. But the
proposed implementation is good for support API discoverable, it propose
defining json-schema for each version API, not use tranlsation stuff.
Then the json-schema can be exposed to user easily (I guess Json-schema
in the Json-home), make the API discoverable.
The micro-version specs is also need discussion in the K, it defined how
can we bump the version, how to interact with client. But whatever the
wsgi infrastructure need support multiple version. So I begin to think
about it.
_______________________________________________
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
_______________________________________________
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev