Univention Bugzilla – Bug 38362
UDM-CLI dies when creating a nagios/service object
Last modified: 2017-07-26 14:39:18 CEST
Seen on a UCS@school samba3 multiserver environment on a dc slave: Object created: cn=CItoh,cn=cups,cn=univention,dc=autotest202,dc=local Object created: cn=Seiko,cn=cups,cn=univention,dc=autotest202,dc=local Object created: cn=Sharp,cn=cups,cn=univention,dc=autotest202,dc=local Object created: cn=Olivetti,cn=cups,cn=univention,dc=autotest202,dc=local Object created: cn=Panasonic,cn=cups,cn=univention,dc=autotest202,dc=local Traceback (most recent call last): File "/usr/share/univention-directory-manager-tools/univention-cli-server", line 222, in doit output = univention.admincli.admin.doit(arglist) File "/usr/lib/pymodules/python2.7/univention/admincli/admin.py", line 393, in doit out=_doit(arglist) File "/usr/lib/pymodules/python2.7/univention/admincli/admin.py", line 980, in _doit dn=object.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 839, in _modify ml=self._ldap_modlist() File "/usr/lib/pymodules/python2.7/univention/admin/handlers/nagios/service.py", line 394, in _ldap_modlist fqdn = "%s.%s" % (cn[0], domain[0]) IndexError: list index out of range Object exists: cn=services,cn=univention,dc=autotest202,dc=local Object exists: cn=Print,cn=services,cn=univention,dc=autotest202,dc=local E: object not found 2015-04-24 07:03:33.369789806-04:00 (in joinscript_save_current_version) EXITCODE=0 RUNNING 79univention-squid.inst 2015-04-24 07:03:33.810919753-04:00 (in joinscript_init) Object exists: cn=services,cn=univention,dc=autotest202,dc=local Object exists: cn=PROXY,cn=services,cn=univention,dc=autotest202,dc=local E: object not found Traceback (most recent call last): File "/usr/share/univention-directory-manager-tools/univention-cli-server", line 222, in doit output = univention.admincli.admin.doit(arglist) File "/usr/lib/pymodules/python2.7/univention/admincli/admin.py", line 393, in doit out=_doit(arglist) File "/usr/lib/pymodules/python2.7/univention/admincli/admin.py", line 980, in _doit dn=object.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 839, in _modify ml=self._ldap_modlist() File "/usr/lib/pymodules/python2.7/univention/admin/handlers/nagios/service.py", line 394, in _ldap_modlist fqdn = "%s.%s" % (cn[0], domain[0]) IndexError: list index out of range EXITCODE=3 RUNNING 81univention-nfs-server.inst EXITCODE=already_executed
Created attachment 8164 [details] patch Treat not existing objects in nagios/service modlist.
Patch has been applied, with some small cleanup. univention-directory-manager-modules (12.0.17-62): r80885 | Bug #38362: prevent exception if hosts added to nagios/service doesn't exists univention-directory-manager-modules.yaml: r80886 | YAML Bug #38362
An example to reproduce it is: udm nagios/service modify --dn cn=UNIVENTION_CUPS,cn=nagios,"$(ucr get ldap/base)" --append assignedHosts=cn=test
OK Tested with: > udm nagios/service modify --dn cn=UNIVENTION_CUPS,cn=nagios,"$(ucr get > ldap/base)" --append assignedHosts=cn=test udm nagios/service create --set name=foobar --set checkPeriod=24x7 --set checkCommand=check_foo --set notificationPeriod=24x7 --set assignedHosts=cn=test YAML: OK -> verified
<http://errata.software-univention.de/ucs/4.2/115.html>