Univention Bugzilla – Bug 49439
opsilistener brings traceback
Last modified: 2019-10-25 18:19:42 CEST
opsilistener.py attempts to run a subprocess and the specified programm file is missing. I guess in line 88 of the listener you might be able to see which programm that would be. Another option would be to look up which debian package the opsilistener.py comes from, so somebody else can have a look.
The module is from 4.[012]/maintained/component/opsi_*/all/digitec-opsi-listener_1.3*_all.deb, which is not part of UCS. It tries to execute "/usr/bin/opsi-admin" which is missing on that system - perhaps because of a missing package dependency? The listener also contains some broken code: 65 »···p = Popen(cmd, env={'HOME': '/root', \ 66 »···»···'LANG': listener.baseConfig.get('locale', 'C').split(':')[0]}, \ 67 »···»···»···**kwargs) The created environment is too minimalistic as it does not contain PATH, USER, LOGIN, SHELL, ... Code overwriting the environment should do something like this: from os import environ env = dict(environ) env.update({'HOME': '...', 'LANG': '...'}) Popen(..., env=env) As this is - not an UCS bug - 'digitec-opsi-listener' is no longer shipped after UCS-4.2 - UCS-4.2 is out-of-maintenacne I'm closing this bug as INVALID.