Univention Bugzilla – Bug 18702
Leersetzen von Attributen erzeugt Fehlermeldung aber funktioniert
Last modified: 2012-07-20 15:24:36 CEST
Berichtet an Ticket#2010061310000623: Wenn mit dem UDM CLI ein Attribut leer gesetzt wird, wird eine Fehlermeldung ausgegeben, das Attritbut wird dann aber umgesetzt: root@qamaster:~$ udm users/user modify --dn=uid=tester01,cn=users,dc=univention,dc=qa --set homeTelephoneNumber="123" Object modified: uid=tester01,cn=users,dc=univention,dc=qa root@qamaster:~$ udm users/user list --filter uid=tester01 | grep homeTelephoneNumber homeTelephoneNumber: 123 root@qamaster:~$ udm users/user modify --dn=uid=tester01,cn=users,dc=univention,dc=qa --set homeTelephoneNumber="" WARNING: No attribute with name 'homeTelephoneNumber' in this module, value not set. Object modified: uid=tester01,cn=users,dc=univention,dc=qa root@qamaster:~$ udm users/user list --filter uid=tester01 | grep homeTelephoneNumber homeTelephoneNumber: None
Leider auch in UCS 2.4 nicht berücksichtigt. hier ein Korrekturvorschlag für die Datei admin.py im Verzeichnis /usr/share/pyshared/univention/admincli, um die lästige Warnung zumindest bei einem "--set <name>=" loszuwerden. Beim --set ist das möglich, da hier das Setzen der leeren Liste im Falle eines MultiValue-Attributs in ein Löschen des entsprechenden LDAP-Attributs beim LDAP-Objekt umgesetzt wird. Änderungen: diff admin.py.org admin.py 592d591 < was_set=1 595c594 < was_set=1 --- > was_set=1 was_set=0 for mod, (properties,options) in information.items(): if properties.has_key(name): if properties[name].multivalue: if not input.has_key(name): input[name]=[] if value: input[name].append(value) else: input[name]=value was_set=1 if not was_set: out.append("WARNING: No attribute with name '%s' in this module, value not set."%name)
Erneut berichtet über Ticket#:2010122310001986
Es nervt. Diesmal beobachtet beim "Leersetzen" von mailAlternativeAddress. root@ox:/var/backups# /usr/sbin/udm users/user modify --dn=uid=juk,cn=users,dc=saacke,dc=de --set mailAlternativeAddress=y@saacke.de Object modified: uid=juk,cn=users,dc=saacke,dc=de root@ox:/var/backups# /usr/sbin/udm users/user modify --dn=uid=juk,cn=users,dc=saacke,dc=de --set mailAlternativeAddress= WARNING: No attribute with name 'mailAlternativeAddress' in this module, value not set. Object modified: uid=juk,cn=users,dc=saacke,dc=de
Das Problem bestand darin, dass der udm-cli vergessen hat zu speichern, dass ein multivalue Attribut geändert wurde wenn es einfach nur geleert worden ist, was im weiteren Ausführungsverlauf dazu geführt hat dass er sich einbildet es gäbe das Attribut garnicht. Ist jetzt behoben.
Die Formulierungen in Comment 4 lassen darauf schließen, dass es sich bei adm-cli um ein intelligenzbehaftetes Wesen handelt, dass zu denken und auch zu vergessen imstande ist ...
(In reply to comment #5) > Die Formulierungen in Comment 4 lassen darauf schließen, dass es sich bei > adm-cli um ein intelligenzbehaftetes Wesen handelt, dass zu denken und auch zu > vergessen imstande ist ... Davon kann doch durchaus ausgegangen werden! Programme sind doch auch nur Menschen :) .
(In reply to comment #6) > (In reply to comment #5) > > Die Formulierungen in Comment 4 lassen darauf schließen, dass es sich bei > > adm-cli um ein intelligenzbehaftetes Wesen handelt, dass zu denken und auch zu > > vergessen imstande ist ... > > Davon kann doch durchaus ausgegangen werden! Programme sind doch auch nur > Menschen :) . ... werden überwiegend von Menschen erstellt und die machen nun mal Fehler wie oben, wo es es in meinem Kommentar heißen müsste: "..., das zu denken ...". Nun ist aber auch gut.
(In reply to comment #7) > ... > Nun ist aber auch gut. Na gut.
Der Bug wurde gefixed; Changelog ist vorhanden.
UCS 3.0-2 has been released: http://forum.univention.de/viewtopic.php?f=54&t=1905 If this error occurs again, please use "Clone This Bug".