[Freeipa-devel] [PATCHES] 0772-0774 Python3 fixes in for client installation

Jan Cholasta jcholast at redhat.com
Tue Mar 1 07:57:39 UTC 2016


On 29.2.2016 17:14, Petr Viktorin wrote:
> On 02/29/2016 08:12 AM, Jan Cholasta wrote:
>> Hi,
>>
>> On 26.2.2016 17:14, Petr Viktorin wrote:
>>> On 02/22/2016 12:37 PM, Petr Viktorin wrote:
>>>> Hello,
>>>> These fixes are needed for the "happy path" of ipa-client-install
>>>> --server on Python 3.
>>>
>>> Hello,
>>> Could someone please look at these patches?
>>
>> Patch 0772:

It seems this bit:

+                [cn] = lres.raw['cn']
+                lrealms.append(cn.decode('utf-8'))

breaks ipa-client-install:

Traceback (most recent call last):
   File "/sbin/ipa-client-install", line 3099, in <module>
     sys.exit(main())
   File "/sbin/ipa-client-install", line 3080, in main
     rval = install(options, env, fstore, statestore)
   File "/sbin/ipa-client-install", line 2769, in install
     delete_persistent_client_session_data(host_principal)
   File "/usr/lib/python2.7/site-packages/ipalib/rpc.py", line 145, in 
delete_persistent_client_session_data
     kernel_keyring.del_key(keyname)
   File "/usr/lib/python2.7/site-packages/ipapython/kernel_keyring.py", 
line 130, in del_key
     assert isinstance(key, str)
AssertionError

because realm is returned as unicode from ipadiscovery.

>>
>> 1) Instead of decoding when the type is bytes in get_ipa_basedn(), read
>> attribute values from 'entry.raw' rather than 'entry' and decode always.
>
> Done.
>
>> 2) get_ipa_basedn() is used only in ipadiscovery, perhaps we should move
>> it there?
>
> I did that in an extra patch, mainly to make the diff more meaningful.

OK. The patch needs a rebase for ipa-4-3, there is a stray 
get_ipa_basedn import in install/migration/migration.py.

>
>> Patch 0773: ACK, but the patch does not apply on ipa-4-3.
>>
>>
>> Patch 0774: ACK.


-- 
Jan Cholasta




More information about the Freeipa-devel mailing list