Univention Bugzilla – Bug 25222
Nagios-Dienst nach Benachrichtungungszeitraum hinzufügen
Last modified: 2016-03-22 10:05:55 CET
An einem Host-Objekt: * "[Erweiterte Einstellungen]" -> "Nagios-Dienste" -> "Hinzufügen" * Im "Objekt hinzufügen" Dialog: "Objekteigenschaft": "Benachrichtigungszeitraum" auswählen Die Ausf�hrung des Kommandos udm/values ist fehlgeschlagen: Traceback (most recent call last): File '/usr/lib/pymodules/python2.6/univention/management/console/modules/__init__.py', line 97, in execute func( request ) File '/usr/lib/pymodules/python2.6/univention/management/console/modules/udm/__init__.py', line 506, in values result = module.get_default_values( property_name ) File '/usr/lib/pymodules/python2.6/univention/management/console/modules/udm/udm_ldap.py', line 215, in get_default_values value = read_syntax_choices( prop.syntax.name ) 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 980, in read_syntax_choices syntax = udm_syntax.LDAP_Search( options[ 'syntax' ], options[ 'filter' ], options[ 'attributes' ], options[ 'base' ], options[ 'value' ], options[ 'viewonly' ], options[ 'empty' ] ) KeyError: 'syntax'
Das Problem betrifft alle Searchforms, in denen Properties ausgewählt werden können, die auf LDAP_Search-Syntax basieren. Bspw. auch im Nagios-UDM-Modul: Nagios object type: Nagios Service Property: Check period → provoziert den gleichen Traceback
Die Funktion read_syntax_choices ist primär für das Kommando udm/syntax/choices gebaut worden welches die Liste von von Auswahlmöglichkeiten zurückliefert. In diesem Fall wird das Kommando udm/values aufgerufen. Dies versucht die Funktion read_syntax_choices zu nutzen, um die Auswahlmöglichkeiten für eine Suchform zu ermitteln. In diesem Fall wird allerdings der read_syntax_choices Funktion nur der Syntax-Name übergeben. Normalerweise wird dieser Funktion in den Optionen eine vollständige Spezifikation der LDAP_Search-Syntax übergeben. Um dieses Problem zu beheben sollte in get_default_values zuvor ermittelt werden, welche LDAP_Search-Syntax hier benötigt wird und dann die Definition an read_syntax_choices übergeben werden. Es gibt zwei Möglichkeiten wie eine LDAP_Search-Syntax definiert sein kann: - LDAP-Objekt - Im Python-Code In diesem besonderen Fall hat die LDAP_Search-Syntax Instanz keinen Namen (bzw. self.name == None). Da bleibt dann nur die Möglichkeit in dem angegebenen UDM-Modul nach der Property zu suchen und die Syntax-Klasse dort direkt auszulesen. Nach der Anpassung muss die Funktion aller Attribute mit LDAP_Search-Syntax überprüft werden.
(In reply to comment #2) > Nach der Anpassung muss die Funktion aller Attribute mit LDAP_Search-Syntax > überprüft werden. Das können wir nur sinnvoll machen, wenn wir die kompletten Produkttests durchführen. Da es nicht so kritisch ist -> 3.1.
*** This bug has been marked as a duplicate of bug 38635 ***
Tested in combination with bug 38635
<http://errata.software-univention.de/ucs/4.1/133.html>