[openstack-dev] [ironic] [api] Fixing bugs in old microversions

Sean Dague sean at dague.net
Mon Apr 11 14:11:03 UTC 2016

On 04/11/2016 09:54 AM, Jay Pipes wrote:
> On 04/11/2016 09:48 AM, Dmitry Tantsur wrote:
>> On 04/11/2016 02:00 PM, Jay Pipes wrote:
>>> On 04/11/2016 04:48 AM, Vladyslav Drok wrote:
>>>> Hi all!
>>>> There is a bug <https://bugs.launchpad.net/ironic/+bug/1565663> in
>>>> ironic API that allows to remove node name using any API version,
>>>> while node names were added in version 1.5. There are concerns that
>>>> fixing this might
>>>> be a breaking change, and I'm not sure how to proceed with that.
>>>> Here is
>>>> a change <https://review.openstack.org/300983> that
>>>> fixes the bug by just forbidding to do PATCH remove request on /name
>>>> path if requested
>>>> API version is less than 1.5. Is it enough to just mention this in a
>>>> release note, maybe
>>>> both in fixes and upgrade sections? As bumping API microversion to fix
>>>> some previous
>>>> microversion seems weird to me.
>>>> Any suggestions?
>>> I think the approach you've taken -- just fix it and not add a new
>>> microversion -- is the correct approach.
>> Do we really allow breaking API changes, covering old microversions?
> Generally we have said that if a patch is fixing only an error response
> code (as would be the case here -- changing from a 202 to a 400 when
> name is attempted to be changed) then it doesn't need a microversion.
> Sean, am I remembering that correctly?

No, in Nova land a 2xx -> 4xx would use a microversion. These sorts of
things actually break people (we've seen it happen in Tempest / Shade).

Fixing a 5xx does not, as the server is never supposed to 5xx. 5xx is
always a bug.


Sean Dague

More information about the OpenStack-dev mailing list