[openstack-dev] [python-novaclient][nova] future of --os-compute-api-version option and whole api versioning

Andrey Kurilin akurilin at mirantis.com
Mon Feb 2 12:02:13 UTC 2015


Thanks for the summary, I'll try to send first patch(maybe WIP) in few days.

On Mon, Feb 2, 2015 at 1:43 PM, Christopher Yeoh <cbkyeoh at gmail.com> wrote:

>
>
> On Sat, Jan 31, 2015 at 4:09 AM, Andrey Kurilin <akurilin at mirantis.com>
> wrote:
>
>> Thanks for the answer. Can I help with implementation of novaclient part?
>>
>
> Sure! Do you think its something you can get proposed into Gerrit by the
> end of the week or very soon after?
> Its the sort of timeframe we're looking for to get microversions enabled
> asap.... I guess just let me know if it
> turns out you don't have the time.
>
> So I think a short summary of what is needed is:
> - if os-compute-api-version is not supplied don't send any header at all
> - it is probably worth doing a bit version parsing to see if it makes
> sense eg of format:
>      r"^([1-9]\d*)\.([1-9]\d*|0)$" or latest
> - handle  HTTPNotAcceptable if the user asked for a version which is not
> supported
>   (can also get a badrequest if its badly formatted and got through the
> novaclient filter)
> - show the version header information returned
>
> Regards,
>
> Chris
>
>
>> On Wed, Jan 28, 2015 at 11:50 AM, Christopher Yeoh <cbkyeoh at gmail.com>
>> wrote:
>>
>>> On Fri, 23 Jan 2015 15:51:54 +0200
>>> Andrey Kurilin <akurilin at mirantis.com> wrote:
>>>
>>> > Hi everyone!
>>> > After removing nova V3 API from novaclient[1], implementation of v1.1
>>> > client is used for v1.1, v2 and v3 [2].
>>> > Since we moving to micro versions, I wonder, do we need such
>>> > mechanism of choosing api version(os-compute-api-version) or we can
>>> > simply remove it, like in proposed change - [3]?
>>> > If we remove it, how micro version should be selected?
>>> >
>>>
>>> So since v3 was never officially released I think we can re-use
>>> os-compute-api-version for microversions which will map to the
>>> X-OpenStack-Compute-API-Version header. See here for details on what
>>> the header will look like. We need to also modify novaclient to handle
>>> errors when a version requested is not supported by the server.
>>>
>>> If the user does not specify a version number then we should not send
>>> anything at all. The server will run the default behaviour which for
>>> quite a while will just be v2.1 (functionally equivalent to v.2)
>>>
>>>
>>> http://specs.openstack.org/openstack/nova-specs/specs/kilo/approved/api-microversions.html
>>>
>>>
>>> >
>>> > [1] - https://review.openstack.org/#/c/138694
>>> > [2] -
>>> >
>>> https://github.com/openstack/python-novaclient/blob/master/novaclient/client.py#L763-L769
>>> > [3] - https://review.openstack.org/#/c/149006
>>> >
>>>
>>>
>>
>>
>> --
>> Best regards,
>> Andrey Kurilin.
>>
>
>
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
>


-- 
Best regards,
Andrey Kurilin.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20150202/cceef64a/attachment.html>


More information about the OpenStack-dev mailing list