[openstack-dev] [Nova] Should we signal backwards incompatible changes in microversions?

Dean Troyer dtroyer at gmail.com
Tue Feb 16 19:04:00 UTC 2016


On Tue, Feb 16, 2016 at 12:17 PM, Sean Dague <sean at dague.net> wrote:

> Honestly, doing per API call version switching is probably going to end
> in tears. HTTP is stateless, so it's allowed, but it will end in tears
> of complexity as you need to self modify resources before passing them
> back. Or follow links that don't exist.
>

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.

It's also worth looking at the changes we've actually been making here
> instead of theoretical examples. The amount of effort to make an
> application use 2.20 instead of 2.1 is pretty minimal.


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
;).

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?

dt

-- 

Dean Troyer
dtroyer at gmail.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20160216/9b73b508/attachment.html>


More information about the OpenStack-dev mailing list