[openstack-dev] [zun][api version]Does anyone know the idea of default api version in the versioned API?

Hongbin Lu hongbin.lu at huawei.com
Thu Jul 27 06:41:58 UTC 2017

Hi all,

Here is a bit of the context. Zun has introduced API micro version in the server [1] and the client [2]. The micro version needs to be bumped in server side [3] as long as a backward-incompatible change is made. In client side, we currently hard-code the default version. The client will pick the default version unless the version is explicitly specified.

As far as I know, the openstack community doesn’t have consensus on the specification of the default API version. Some projects picked a stable version as default, and other projects picked the latest version. How to bump the default version is also controversial. If the default version is hard-coded, it might need to be bumped every time a change is made. Alternatively, there are some workarounds to avoid the hard-code default version. Each approach has pros and cons.

For Zun, I think the following options are available (refer this spec [4] if you interest to read more details):
1. Negotiate the default version between client and server, and pick the maximum version that both client and server are supporting.
2. Hard-code the default version and bump it manually or periodically (how to bump it periodically?)
3. Hard-code the default version and keep it unchanged.
4. Pick the latest version as default.

Thoughts on this?

[1] https://blueprints.launchpad.net/zun/+spec/api-microversion
[2] https://blueprints.launchpad.net/zun/+spec/api-microversion-cli
[3] https://docs.openstack.org/zun/latest/contributor/api-microversion.html#when-do-i-need-a-new-microversion
[4] https://specs.openstack.org/openstack/ironic-specs/specs/approved/cli-default-api-version.html

Best regards,

From: Shunli Zhou [mailto:shunli6658 at gmail.com]
Sent: July-25-17 9:29 PM
To: openstack-dev at lists.openstack.org
Subject: [openstack-dev] [zun][api version]Does anyone know the idea of default api version in the versioned API?

Does anyone know the idea of default api version in versioned api?
I'm not sure if we should bump the default api version everytime the api version bumped? Could anyone explain the policy of how to bump the default api version?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20170727/c8407915/attachment.html>

More information about the OpenStack-dev mailing list