[openstack-dev] [tc] [all] [glance] Answers to some questions about Glance

Robert Collins robertc at robertcollins.net
Wed May 18 02:57:05 UTC 2016


On 18 May 2016 at 00:54, Brian Rosmaita <brian.rosmaita at rackspace.com> wrote:

>> Couple of examples:
>> 1. switching from "is_public=true" to "visibility=public"
>
>
> This was a major version change in the Images API.  The 'is_public' boolean
> is in the original Images v1 API, 'visibility' was introduced with the
> Images v2 API in the Folsom release.  You just need an awareness of which
> version of the API you're talking to.

So I realise this is ancient history, but this is really a good
example of why Monty has been pushing on 'never break our APIs': API
breaks hurt users, major versions or not. Keeping the old attribute as
an alias to the new one would have avoided the user pain for a very
small amount of code.

We are by definition an API - doesn't matter that its HTTP vs Python -
when we break compatibility, there's a very long tail of folk that
will have to spend time updating their code; 'Microversions' are a
good answer to this, as long as we never raise the minimum version we
support. glibc does a very similar thing with versioned symbols - and
they support things approximately indefinitely.

-Rob



More information about the OpenStack-dev mailing list