Bug 49439 - opsilistener brings traceback
opsilistener brings traceback
Product: UCS
Classification: Unclassified
Component: Listener (univention-directory-listener)
UCS 4.2
Other Linux
: P5 normal (vote)
: ---
Assigned To: UCS maintainers
UCS maintainers
Depends on:
  Show dependency treegraph
Reported: 2019-05-09 17:04 CEST by Christian Völker
Modified: 2019-10-25 18:19 CEST (History)
2 users (show)

See Also:
What kind of report is it?: Bug Report
What type of bug is this?: 3: Simply Wrong: The implementation doesn't match the docu
Who will be affected by this bug?: 2: Will only affect a few installed domains
How will those affected feel about the bug?: 2: A Pain – users won’t like this once they notice it
User Pain: 0.069
Enterprise Customer affected?: Yes
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number: 2019050721000771
Bug group (optional):
Max CVSS v3 score:


Note You need to log in before you can comment on or make changes to this bug.
Comment 1 Arvid Requate univentionstaff 2019-05-09 23:12:18 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.
Comment 2 Philipp Hahn univentionstaff 2019-10-25 18:19:42 CEST
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.