<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Feb 16, 2016 at 1:04 PM, Dean Troyer <span dir="ltr"><<a href="mailto:dtroyer@gmail.com" target="_blank">dtroyer@gmail.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"><div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote"><span class="">On Tue, Feb 16, 2016 at 12:17 PM, Sean Dague <span dir="ltr"><<a href="mailto:sean@dague.net" target="_blank">sean@dague.net</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">Honestly, doing per API call version switching is probably going to end<br>
in tears. HTTP is stateless, so it's allowed, but it will end in tears<br>
of complexity as you need to self modify resources before passing them<br>
back. Or follow links that don't exist.<br></blockquote><div><br></div></span><div>Maybe.  But any code that knows it is using a specific version already is handling the special cases.  We are trading the speed of implementation for the juggling of multiple versions, no matter if they are labelled sequentially or via semver.  I've seen places that mixed Identity v2 and v3 because of the way the APIs worked and were more convenient.  Same problem, bigger delta per API rev vs only one rev.</div><span class=""><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
It's also worth looking at the changes we've actually been making here<br>
instead of theoretical examples. The amount of effort to make an<br>
application use 2.20 instead of 2.1 is pretty minimal.</blockquote><div><br></div></span><div>Sure, but there is nothing in place to prevent that contrived example. The first time an addition is made of what would have been an extension in the past we will be there.  [and no, this is in no way a defense of extensions ;).</div><div><br></div><div><div>If Identity had micro-versioned their way between V2 and v3 would the other projects been able to convert faster due to not having to do it all at once?</div></div><span class=""><font color="#888888"><div><br></div></font></span></div></div></div></blockquote><div><br></div><div>You didn't have to convert from V2 to V3 all at once, and we didn't. I assume there is still some use of V2 in gate runs in addition to using V3.<br><br>Keystone supports the V2 API on /v2.0 and the V3 API on /v3. So you could make some requests to V2 and other requests to V3. You could get a token using V2 and use it on V3, or get a token using V3 and use it to do V2 operations. You can't use new V3 features when accessing the V2 API (like domains). <br><br></div><div>This is pretty much the same as your example of specifying a different version for the nova API on different requests (except they have a lot more than just 2 and 3). We also keep adding routes to v3 each release, so what operations are supported keeps changing.<br></div><div><br> - Brant<br><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span class=""><font color="#888888"><div></div><div>dt </div></font></span></div><span class=""><font color="#888888"><div><br></div>-- <br><div><br>Dean Troyer<br><a href="mailto:dtroyer@gmail.com" target="_blank">dtroyer@gmail.com</a><br></div>
</font></span></div></div>
<br>__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br></blockquote></div><br></div></div>