On Wed, Mar 19, 2014 at 5:54 PM, Christopher Yeoh <[email protected]> wrote:
> Hi, > > So it turns out that we have made a backwards incompatible change to > the V2 API in Icehouse. Previously when creating a private flavor > access was not automatically given to the tenant, now it is. The > documentation has always said that it was, but we lied. > > https://review.openstack.org/#/c/40811/ > > Backwards compatibility was discussed in this patch and the answer that we used at the time was: "But without this fix the flavor-access mechanism is broken as far as I can see, and the extra data returned is still compatible with the API definition I think (Its just that an optional list part that was always empty before will now have one entry from the start) - so any code that uses the API really needs to be able to cope with that part of the result." In retrospect I don't think that was a strong enough answer. It ends up being a semantic change rather than something that will > outright break parsing of response data, but it is still a backwards > incompatible change. > > In future I think we need to be more cautious about approving these > sorts of changes. And I don't think we should be using the > documentation as the canonical source of how the API should behave. > Perhaps once we have better design documentation we can use that, and > it should also hopefully lead to better checking that adequate unit > testing is present. > > Agreed. > Although it does on the surface appear to be a fairly minor backwards > incompatibility it does turn out that it breaks Horizon because they > presumably ended up coding against what we actually do rather than what > we claimed we did. > > https://bugs.launchpad.net/horizon/+bug/1286297 > > If we managed to break Horizon, its likely we've broken (or will break) > other people's scripts or SDKs. > > The patch was merged in October (just after Icehouse opened) and so has > been used in clouds that do CD for quite a while. After some discussion > on IRC I think we'll end up having to leave this backwards incompatible > change in there - given there are most likely users who now rely on > both sets of behaviour there is no good way to get out of this > situation. I've added a note to the Icehouse release notes. > > Anyway I think this should be a reminder to all of us that we have to > be very careful with any patch that results in a stable API change. > Because when we make a mistake, we have a tiny window to fix it > before people start relying on the new behaviour and it becomes very > difficult to fix. > > Chris > > _______________________________________________ > OpenStack-dev mailing list > [email protected] > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev >
_______________________________________________ OpenStack-dev mailing list [email protected] http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
