[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