[openstack-dev] [Ironic] How to deal with microversions in 3rdparty tools

Michael Davies michael at the-davies.net
Wed Apr 8 05:35:00 UTC 2015

On Tue, Apr 7, 2015 at 10:32 PM, Dmitry Tantsur <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

I think that way you get the best of both worlds - stability, and latest
functionality available.

Jim R's suggestion of using "latest" is fine (especially for internal tools
that can have a lower uptime) so long as you can deal quickly with any
breakage should it occur :)

[1] hopefully :)
Michael Davies   michael at the-davies.net
Rackspace Australia
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20150408/6cfa5891/attachment.html>

More information about the OpenStack-dev mailing list