Univention Bugzilla – Bug 37560
KeyError: 'reinstalltext' when saving DC slave
Last modified: 2015-02-24 08:24:29 CET
4.0-0 errata31 (Walle) Traceback: Die Ausführung des Kommandos udm/put ist fehlgeschlagen: Traceback (most recent call last): File "/usr/lib/pymodules/python2.7/univention/management/console/modules/__init__.py", line 176, in _decorated return function(self, request, *args, **kwargs) File "/usr/lib/pymodules/python2.7/notifier/threads.py", line 82, in _run tmp = self._function() File "/usr/lib/pymodules/python2.7/notifier/__init__.py", line 104, in __call__ return self._function( *tmp, **self._kwargs ) File "/usr/lib/pymodules/python2.7/univention/management/console/modules/udm/__init__.py", line 408, in _thread module.modify(properties) File "/usr/lib/pymodules/python2.7/univention/management/console/modules/udm/udm_ldap.py", line 159, in _decorated return func(*args, **kwargs) File "/usr/lib/pymodules/python2.7/univention/management/console/modules/udm/udm_ldap.py", line 139, in wrapper_func ret = func(*args, **kwargs) File "/usr/lib/pymodules/python2.7/univention/management/console/modules/udm/udm_ldap.py", line 531, in modify obj.modify() File "/usr/lib/pymodules/python2.7/univention/admin/handlers/__init__.py", line 364, in modify return self._modify(modify_childs,ignore_license=ignore_license) File "/usr/lib/pymodules/python2.7/univention/admin/handlers/__init__.py", line 823, in _modify ml=self._ldap_modlist() File "/usr/lib/pymodules/python2.7/univention/admin/handlers/computers/domaincontroller_slave.py", line 604, in _ldap_modlist ml=univention.admin.handlers.simpleComputer._ldap_modlist( self ) File "/usr/lib/pymodules/python2.7/univention/admin/handlers/__init__.py", line 2292, in _ldap_modlist ml = ml + super( simpleComputer, self )._ldap_modlist( ) File "/usr/lib/pymodules/python2.7/univention/admin/handlers/__init__.py", line 659, in _ldap_modlist diff_ml = self.diff() File "/usr/lib/pymodules/python2.7/univention/admin/handlers/__init__.py", line 127, in diff if self.descriptions[key].multivalue: KeyError: 'reinstalltext'
This currently breaks server-password-change at least at one internal system -> metod
Reported 2015020421000252
"ändern wir den Rechner 'Groupware' z.B. im Attribut "Bescheibung" in der UMC-Weboberfläche" computers/domaincontroller_slave which exists in LDAP The full ldif is at the mentioned ticket.
This was introduced by Bug #35537 in svn r54938. The 'reinstalltext' property has been removed. It still exists in the layout and in the mapping.
It can be reproduced by adding the LDAP attribute "univentionServerInstallationText" to a computer object and modifying it then.
From my point of view this is more serious as "error handling" indicates - it's a regression and it prevents basic features like server password change (and quite certainly more) to work. What about a rejoin? Will it fail because the object is not editable?
Created attachment 6649 [details] reinstalltext.patch Attached a patch which can be applied with the following command: patch -d /usr/share/pyshared/univention/admin/ -p7 -i /root/reinstalltext.patch
Fixed by applying the patch. Fix: svn r57943 YAML: 2015-02-10-univention-directory-manager-modules.yaml
Drees, could you do the QA for this? Please reproduce with the following computer types: computers/domaincontroller_backup computers/domaincontroller_master computers/domaincontroller_slave computers/memberserver To reproduce you can set the LDAP attribute of the computers using ldapvi: e.g. install ldapvi on your system and execute the command there: eval "$(ucr shell)"; ldapvi --discover --host localhost:7389 -D "uid=Administrator,cn=users,$ldap_base" -w univention Then add to the specific objects: univentionServerInstallationText: foobar Having this should cause the above traceback when trying to modify the object via UMC / CLI.
Tested for following object types: computers/domaincontroller_backup computers/domaincontroller_master computers/domaincontroller_slave computers/memberserver Traceback could be reproduced without patch. After patch was applied the error didn't occur anymore. Yaml OK
http://errata.univention.de/ucs/4.0/89.html