Univention Bugzilla – Bug 25923
Traceback bei Entfernen von (Samba4-)DNS-Alias
Last modified: 2012-07-20 15:24:05 CEST
Am UCS Master gleichzeitig den von Samba4 gesetzten DNS-Alias und den Forward Zone Eintrag entfernt, Traceback: Interner Modul-Fehler: Ein Fehler trat während des Ausführens des Befehls auf. Fehlernachricht des Servers: File '/usr/lib/pymodules/python2.6/notifier/threads.py', line 81, in _run tmp = self._function() File '/usr/lib/pymodules/python2.6/notifier/__init__.py', line 104, in __call__ return self._function( *tmp, **self._kwargs ) File '/usr/lib/pymodules/python2.6/univention/management/console/modules/udm/__init__.py', line 305, in _thread module.modify( properties ) File '/usr/lib/pymodules/python2.6/univention/management/console/modules/udm/udm_ldap.py', line 130, in wrapper_func ret = func( *args, **kwargs ) File '/usr/lib/pymodules/python2.6/univention/management/console/modules/udm/udm_ldap.py', line 372, in modify obj.modify() File '/usr/lib/pymodules/python2.6/univention/admin/handlers/__init__.py', line 344, in modify return self._modify(modify_childs,ignore_license=ignore_license) File '/usr/lib/pymodules/python2.6/univention/admin/handlers/__init__.py', line 743, in _modify ml=self._ldap_modlist() File '/usr/lib/pymodules/python2.6/univention/admin/handlers/computers/domaincontroller_master.py', line 583, in _ldap_modlist ml=univention.admin.handlers.simpleComputer._ldap_modlist( self ) File '/usr/lib/pymodules/python2.6/univention/admin/handlers/__init__.py', line 2083, in _ldap_modlist if not entry in self.info[ 'dnsEntryZoneAlias' ]: KeyError: 'dnsEntryZoneAlias'
Es reicht aus den DNS-Alias zu entfernen (hier: de03a12f-eb2c-40a6-87c8-7769baed5f9c._msdcs)
Das kommt durch eine API Änderung zu UCS 3.0 Attribute, die gelöscht werden, sind in dem Dictionary des Objektes gar nicht mehr enthalten. Wir sollten das für alle DNS-Attribute an diesem Bug prüfen.
*** Bug 26483 has been marked as a duplicate of this bug. ***
Auch aufgetreten an Ticket#2012032721001551
Das selbe Problem konnte gegebenenfalls ebenso beim Entfernen von dnsEntryZoneForward Einträgen auftreten da auch hier eine Überprüfung auf Vorhandensein des entsprechenden keys in self.info fehlte. Jetzt gibt es ein einheitliches Vorgehen sowohl für dnsEntyZoneAlias als auch dnsEntryZoneFoward und dnsEntryZoneReverse das dieses Problem behebt und dabei aufveraltete Methoden wie "has_key" verzichtet. univention-directory-manager-modules (7.0.243-1) unstable; urgency=low * Fixed keyerror when removing dns attributes from host objects (Bug #25923)
Folgender Codeblock ist wahrscheinlich nicht gewollt (zwei Mal for): > + if self.hasChanged('dnsEntryZoneReverse'): > + for entry in self.oldinfo.get('dnsEntryZoneReverse', []): > + for entry in self.oldinfo['dnsEntryZoneReverse']: > + if not entry in self.info.get('dnsEntryZoneReverse', []):
Ja, das war ein Fehler. Ich habe die Zeile rausgenommen und das Paket neugebaut.
OK - Forward Zone, Reverse Zone und DNS-Alias können in diversen Kombinationen angelegt und gelöscht werden. OK - Changelog Eintrag
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".