Univention Bugzilla – Bug 55749
Schoolreplica does not change windows client computer name correctly in ucs@school setup
Last modified: 2023-02-23 13:56:02 CET
One of our costumers has a ucs@school Samba Domain setup with a central systems such as primary, replica and decentrialised schoolreplicas. The App "Active directory kompatibler DC" is installed on primary and schoolreplica while the latter acts as DNS server for a windows client. When you change the name of the windows client ("Computername ändern" in windows), the s4-connector on the schoolreplica throws a reject and can not change all computer name related attributes. This leads to problems when you try to logon. A rejoin of the client with the new name works. Here the traceback from the connector-s4.log for the windows client with name KHTEST1234: 16.02.2023 14:54:46.760 LDAP (PROCESS): sync to ucs: Resync rejected dn: CN=KHTEST1234,CN=computers,OU=Schule0000,DC=schulen,DC=rostock,DC=de 16.02.2023 14:54:46.769 LDAP (PROCESS): sync to ucs: [windowscomputer] [ modify] u'cn=khtest1234,cn=computers,ou=schule0000,dc=schulen,dc=rostock,dc=de' 16.02.2023 14:54:46.774 LDAP (PROCESS): con_check_rename: Renaming client from KHTEST1234$ to KHTEST1234V03$ 16.02.2023 14:54:46.793 LDAP (ERROR ): failed in post_con_modify_functions 16.02.2023 14:54:46.793 LDAP (ERROR ): Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/univention/s4connector/__init__.py", line 1571, in sync_to_ucs f(self, property_type, object) File "/usr/lib/python2.7/dist-packages/univention/s4connector/s4/computer.py", line 125, in windowscomputer_sync_s4_to_ucs_check_rename ucs_admin_object.modify() File "/usr/lib/python2.7/dist-packages/univention/admin/handlers/__init__.py", line 650, in modify dn = self._modify(modify_childs, ignore_license=ignore_license, response=response) File "/usr/lib/python2.7/dist-packages/univention/admin/handlers/__init__.py", line 1341, in _modify ml = self._ldap_modlist() File "/usr/lib/python2.7/dist-packages/univention/admin/handlers/computers/windows.py", line 286, in _ldap_modlist return super(object, self)._ldap_modlist() File "/usr/lib/python2.7/dist-packages/univention/admin/handlers/computers/__base.py", line 238, in _ldap_modlist raise univention.admin.uexceptions.uidAlreadyUsed(': %s' % requested_uid) uidAlreadyUsed: : KHTEST1234V03$
No settings are lost in this scenario since the change of a computer name only happens when a fresh client is installed. Use case: The customers wants to add new windows clients. Some clients get a temporary computer name during their setup process, that is changed later. This applies to 5 - 10 % of their windows clients.