[openstack-dev] [Ironic] How to deal with microversions in 3rdparty tools
Chris Friesen
chris.friesen at windriver.com
Wed Apr 8 14:35:16 UTC 2015
On 04/07/2015 11:35 PM, Michael Davies wrote:
> On Tue, Apr 7, 2015 at 10:32 PM, Dmitry Tantsur <dtantsur at redhat.com
> <mailto:dtantsur at redhat.com>> wrote:
>
> I'm seeking for advice on what to do with microversions in discoverd.
> Basically I have the following options:
>
> 1. Do nothing. Get whatever behavior I can get from installed Ironic and
> Ironic client. Though unlikely, may get broken by future changes.
>
> 2. Demand version = 1.6. Looks like it keeps compatibility with old clients
> and servers, not sure what downsides are here.
>
> What are we going to recommend now as upstream?
>
>
> I agree with Jim R's suggestion - it's really up to the consumer as to what they
> want to do. Having said that...
>
> I think that any consumer wants to use the latest version of the API that it can
> support.
>
> And so since we're not planning on making any breaking API changes[1], I think
> any consumer wants to:
>
> a) have a concept of the latest API version that it has been coded for
> b) then, in negotiation with the server, choose a version that suffices:
> b1) negotiated_version = min(your code's max version, max Ironic server version) and
> b2) negotiated_version > your code's supported version
> b3) negotiated_version > Ironic API's minimum version
Is that statement about "not planning on making any breaking API changes" an
intention or a guarantee?
The reason I ask is that doc/source/devref/api_microversions.rst contains an
explicit mention of making breaking changes: "So breaking changes can be added
to the API without breaking users who don't specifically ask for it."
Chris
More information about the OpenStack-dev
mailing list