[openstack-dev] [Nova] Some ideas for micro-version implementation

Alex Xu xuhj at linux.vnet.ibm.com
Tue Sep 23 02:22:27 UTC 2014


On 2014年09月23日 04:27, Brant Knudson wrote:
>
>
> On Fri, Sep 19, 2014 at 1:39 AM, Alex Xu <xuhj at linux.vnet.ibm.com 
> <mailto:xuhj at 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 at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20140923/819a74f8/attachment.html>


More information about the OpenStack-dev mailing list