[Freeipa-devel] API version conflict

Petr Viktorin pviktori at redhat.com
Fri Jul 4 13:33:15 UTC 2014


On 07/04/2014 03:30 PM, Petr Viktorin wrote:
> On 07/04/2014 03:20 PM, Martin Basti wrote:
>> On Fri, 2014-07-04 at 15:13 +0200, Jan Cholasta wrote:
>>> On 4.7.2014 13:34, Martin Basti wrote:
>>>> Hi list,
>>>>
>>>> I need increase version number in ipa-3-3 branch to 2.66, but 2.66 is
>>>> already used in ipa-master branch (2.66 Add support for managing user
>>>> auth types). Fortunately it is very minor change so If I don't increase
>>>> the version nothing happens.
>>>>
>>>> How to solve this problem? Don't increase the version number in ipa-3-3
>>>> anymore (?)
>>>>
>>>> If we will increase the IPA-3 API version to number which hits a IPA-4
>>>> capability, it could break communication between ipa3-client and
>>>> ipa4-server.
>>>>
>>>> Should we try increase the major version sometimes?
>>>>
>>>
>>> Would 2.66.1 work?
>>>
>>
>> IMO 2.65.1, 2.65.2, .. 2.65.x  and never reach 2.66, but I dont know is
>> this possible in framework?
>>
>
> The versions are (supposed to be) compared with version.LooseVersion, so
> this should work.
> There may be a case where it would break, but if we need this in ipa-3-3
> it would be worth it to test.
>
>
> Of course, backporting new capabilities to older versions would still be
> impossible in this scheme.
>

BTW, the comparison code in Command.verify_client_version looks like it 
was written with 3+-part versions in mind:

>         ver = version.LooseVersion(client_version)
>         if len(ver.version) < 2:
>             raise VersionError(cver=ver.version, sver=server_ver.version, server= self.env.xmlrpc_uri)
>         client_major = ver.version[0]
>         client_minor = ver.version[1]

-- 
Petr³




More information about the Freeipa-devel mailing list