Univention Bugzilla – Bug 25174
CLI: Modify eines nicht vorhandenen Objekts
Last modified: 2018-04-13 13:28:49 CEST
Wenn ein Objekt nicht vorhanden ist, dann wird die Meldung angezeigt, dass Primary group required ist. info 2011-12-05 11:32 EXECUTING: univention-directory-manager 'computers/windows' modify --dn "cn=sgtfcelk,cn=computers,dc=deadlock41,dc=local" --set "network=cn=xkzlnhck,cn=networks,dc=deadlock41,dc=local" Traceback (most recent call last): File "/usr/share/univention-directory-manager-tools/univention-cli-server", line 233, in doit output = univention.admincli.admin.doit(arglist) File "/usr/lib/pymodules/python2.6/univention/admincli/admin.py", line 882, in doit object.open() File "/usr/lib/pymodules/python2.6/univention/admin/handlers/computers/windows.py", line 399, in open self['primaryGroup']=None File "/usr/lib/pymodules/python2.6/univention/admin/handlers/__init__.py", line 2470, in __setitem__ super(simpleComputer, self).__setitem__(key, value) File "/usr/lib/pymodules/python2.6/univention/admin/handlers/__init__.py", line 214, in __setitem__ raise univention.admin.uexceptions.valueRequired, _('The property %s is required') % self.descriptions[key].short_description valueRequired: The property Primary group is required
*** Bug 22620 has been marked as a duplicate of this bug. ***
(In reply to comment #0) > Wenn ein Objekt nicht vorhanden ist, dann wird die Meldung angezeigt, dass > Primary group required ist. Das Problem tritt auch bei existierenden Objekten auf. # echo $ldap_base dc=product,dc=test # univention-admin users/user modify --dn uid=user1,dc=users,$ldap_base --set password=foobarasdf --set primaryGroup="cn=Domain Users,cn=groups,$ldap_base"
Wie besprochen, bitte in simpleLdap.open() beheben. Die dort geworfene Exception sollte im CLI abgefangen und unter Angabe des nicht abrufbaren DN (ohne Traceback) ausgegeben werden.
Created attachment 4183 [details] Patch Das Problem besteht darin, dass die bei nicht vorhandenen Objekten geworfene Exception nicht an den Punkt gelangt, an dem sie abgefangen werden sollte, da der Aufruf von "self.lo.get(self.dn)" in simpleLdap nicht "required=True" übergibt. Zudem wird an der Stelle an der diese Exception eigentlich abgefangen werden sollte nur auf univention.admin.uexceptions.noObject gewartet, nicht auf ldap.NO_SUCH_OBJECT. Der Patch behebt beides. Könnte er eventuell Probleme mit dem AD/S4-Connector erzeugen?
Bitte mal den Patch auf einem Testsystem mit Samba4 und S4-Connector einspielen und dann den Web-UDM, CLI sowie die Funktion des S4-Connectors prüfen.
(In reply to comment #5) > Bitte mal den Patch auf einem Testsystem mit Samba4 und S4-Connector einspielen > und dann den Web-UDM, CLI sowie die Funktion des S4-Connectors prüfen. Die Synchronisierung kann über univention-ldapsearch und univention-s4search (→ Suche im AD-LDAP) überprüft werden.
Again at Ticket#2015031121000326.
(In reply to Lukas Walter from comment #4) > Created attachment 4183 [details] > Patch I would like the second file in that patch to be applied.
Comment on attachment 4183 [details] Patch The patch is incomplete and has been replaced by attachment 7662 [details].
*** This bug has been marked as a duplicate of bug 38110 ***