<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<div class="moz-cite-prefix">On 2014年09月23日 04:27, Brant Knudson
wrote:<br>
</div>
<blockquote
cite="mid:CAHjeE=QSVLsU52-vwg_542ZzYuDn6r3tfvmH-RAJpwfMOb4xpA@mail.gmail.com"
type="cite">
<div dir="ltr"><br>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Fri, Sep 19, 2014 at 1:39 AM, Alex
Xu <span dir="ltr"><<a moz-do-not-send="true"
href="mailto:xuhj@linux.vnet.ibm.com" target="_blank">xuhj@linux.vnet.ibm.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">Close to Kilo, it is
time to think about what's next for nova API. In Kilo, we<br>
will continue develop the important feature micro-version.<br>
<br>
In previous v2 on v3 propose, it's include some
implementations can be<br>
used for micro-version.<br>
(<a moz-do-not-send="true"
href="https://review.openstack.org/#/c/84695/19/specs/juno/v2-on-v3-api.rst"
target="_blank">https://review.openstack.org/#/c/84695/19/specs/juno/v2-on-v3-api.rst</a>)<br>
But finally, those implementations was considered too
complex.<br>
<br>
So I'm try to find out more simple implementation and
solution for micro-version.<br>
<br>
I wrote down some ideas as blog post at:<br>
<a moz-do-not-send="true"
href="http://soulxu.github.io/blog/2014/09/12/one-option-for-nova-api/"
target="_blank">http://soulxu.github.io/blog/2014/09/12/one-option-for-nova-api/</a><br>
<br>
And for those ideas also already done some POC, you can
find out in the blog post.<br>
<br>
As discussion in the Nova API meeting, we want to bring it
up to mail-list to<br>
discussion. Hope we can get more idea and option from all
developers.<br>
<br>
We will appreciate for any comment and suggestion!<br>
<br>
Thanks<br>
Alex<br>
<br>
<br>
</blockquote>
<div><br>
</div>
<div>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.<br>
<br>
</div>
<div>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.<br>
</div>
<div><br>
[1] <a moz-do-not-send="true"
href="http://tools.ietf.org/html/draft-nottingham-json-home-03">http://tools.ietf.org/html/draft-nottingham-json-home-03</a><br>
<br>
</div>
<div>- Brant<br>
</div>
</div>
</div>
</div>
</blockquote>
Brant, thanks for your comment!<br>
<br>
In the micro-version spec discussion, there are discussion JSON-Home
also. (At line 158
<a class="moz-txt-link-freetext" href="https://review.openstack.org/#/c/101648/1/specs/juno/api-microversions-alt.rst">https://review.openstack.org/#/c/101648/1/specs/juno/api-microversions-alt.rst</a>)<br>
And people like it. JSON-Home is good choice for API discoverable.<br>
<br>
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.<br>
<br>
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.<br>
<br>
<blockquote
cite="mid:CAHjeE=QSVLsU52-vwg_542ZzYuDn6r3tfvmH-RAJpwfMOb4xpA@mail.gmail.com"
type="cite">
<div dir="ltr">
<div class="gmail_extra">
<div class="gmail_quote">
<div><br>
</div>
</div>
</div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
OpenStack-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:OpenStack-dev@lists.openstack.org">OpenStack-dev@lists.openstack.org</a>
<a class="moz-txt-link-freetext" href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a>
</pre>
</blockquote>
<br>
</body>
</html>