Univention Bugzilla – Bug 48895
App Tabs: use listener instead of importing univention.appcenter in UDM
Last modified: 2019-03-27 13:29:28 CET
We should remove the dependeny on univention-appcenter and implement this with a listener and some json file. Especially because of performance issues. +++ This bug was initially created as a clone of Bug #48839 +++ Maybe we can implement the App Tabs by not changing 4.3 at all. Idea: Modify the UMC layout. (I.e., UMC only, not changing UDM) +++ This bug was initially created as a clone of Bug #48621 +++ The users/user view should have a tab which shows a checkbox for every available app and to activate users for this app. See attachment for a mock up.
New listener in univention-appcenter 8.0.11-4A~4.4.0.201903141345 It is effectively the code that was in the UMC module (though it has to iterate over every known locale). The structure is the same (besides the new "top level" locale) so the logic in UMC should not have to be changed. Apart from loading the cache, of course. This is done in univention-management-console-module-udm 9.0.11-2A~4.4.0.201903141348 I also load the cache per module now (but I have to read the whole JSON file, should be fine?) to make it possible to reload the cache when UMC wants to. So the AppAttributes cache and the UDM module are in sync.
(In reply to Dirk Wiesenthal from comment #1) > I also load the cache per module now (but I have to read the whole JSON > file, should be fine?) to make it possible to reload the cache when UMC > wants to. So the AppAttributes cache and the UDM module are in sync. Should also fix Bug#48982
*** Bug 48982 has been marked as a duplicate of this bug. ***
OK: very nice to have this loosely coupled. I don't fear any serious bugs in UDM anymore. OK: tests with OX and nextcloud OK: YAML
(1) Traceback in listener.log: 26.03.19 00:21:23.923 LISTENER ( PROCESS ) : app_attributes: Gathering AppAttributes... 26.03.19 00:21:23.935 LISTENER ( ERROR ) : app_attributes: dn='cn=UVMMGroup,cn=UVMM,cn=custom attributes,cn=univention,dc=autotest078,dc=local' command='n' old={} new={'cn': ['UVMMGroup'], 'objectClass': ['top', 'univentionUDMProperty', 'univentionObject'], 'univentionUDMPropertyModule': ['groups/group'], 'univentionUDMPropertyLayoutTabName': ['UVMM'], 'univentionUDMPropertyTranslationLongDescription;entry-de-de': ['Definiert ob dies eine UVMM Gruppe ist'], 'entryUUID': ['df9191a0-e39a-1038-8674-a39962fe5d89'], 'univentionUDMPropertyLongDescription': ['Defines if this group is a UVMM group'], 'univentionUDMPropertyLdapMapping': ['univentionVirtualMachineGroup'], 'univentionUDMPropertyObjectClass': ['univentionVirtualMachineGroupOC'], 'univentionUDMPropertyLayoutTabAdvanced': ['1'], 'univentionUDMPropertyValueNotEditable': ['0'], 'univentionUDMPropertyLayoutOverwritePosition': ['0'], 'univentionUDMPropertyLayoutOverwriteTab': ['0'], 'hasSubordinates': ['FALSE'], 'univentionUDMPropertyDoNotSearch': ['0'], 'univentionUDMPropertyTranslationShortDescription;entry-de-de': ['UCS Virtual Machine Manager Gruppe'], 'creatorsName': ['cn=admin,dc=autotest078,dc=local'], 'univentionUDMPropertySyntax': ['boolean'], 'univentionUDMPropertyLayoutPosition': ['1'], 'univentionUDMPropertyMultivalue': ['0'], 'univentionUDMPropertyDeleteObjectClass': ['0'], 'univentionUDMPropertyDefault': ['0'], 'univentionUDMPropertyValueMayChange': ['1'], 'univentionUDMPropertyShortDescription': ['UCS Virtual Machine group'], 'univentionObjectType': ['settings/extended_attribute'], 'modifiersName': ['cn=admin,dc=autotest078,dc=local'], 'univentionUDMPropertyVersion': ['2'], 'subschemaSubentry': ['cn=Subschema'], 'entryDN': ['cn=UVMMGroup,cn=UVMM,cn=custom attributes,cn=univention,dc=autotest078,dc=local'], 'structuralObjectClass': ['univentionUDMProperty'], 'modifyTimestamp': ['20190325224128Z'], 'entryCSN': ['20190325224128.612458Z#000000#000#000000'], 'createTimestamp': ['20190325224128Z'], 'univentionUDMPropertyValueRequired': ['0'], 'univentionUDMPropertyCLIName': ['UVMMGroup']} Traceback (most recent call last): File "/usr/lib/pymodules/python2.7/univention/listener/api_adapter.py", line 155, in _handler self._module_handler.create(dn, new) File "/usr/lib/univention-directory-listener/system/app_attributes.py", line 182, in create self._write_json() File "/usr/lib/univention-directory-listener/system/app_attributes.py", line 67, in _write_json app_objs = search_objects('appcenter/app', self.lo, self.po) File "/usr/lib/pymodules/python2.7/univention/appcenter/udm.py", line 120, in search_objects module = _get_module(_module, _lo, _pos) File "/usr/lib/pymodules/python2.7/univention/appcenter/udm.py", line 66, in _get_module _update_modules() File "/usr/lib/pymodules/python2.7/univention/appcenter/udm.py", line 62, in _update_modules udm_modules.update() File "/usr/lib/pymodules/python2.7/univention/admin/modules.py", line 98, in update os.path.walk(dir, _walk, p) File "/usr/lib/python2.7/posixpath.py", line 239, in walk walk(name, func, arg) File "/usr/lib/python2.7/posixpath.py", line 231, in walk func(arg, top, names) File "/usr/lib/pymodules/python2.7/univention/admin/modules.py", line 83, in _walk m = __import__(mod, globals(), locals(), name) File "/usr/lib/pymodules/python2.7/univention/admin/handlers/computers/__init__.py", line 46, in <module> os.path.walk(path, __walk, path) File "/usr/lib/python2.7/posixpath.py", line 231, in walk func(arg, top, names) File "/usr/lib/pymodules/python2.7/univention/admin/handlers/computers/__init__.py", line 42, in __walk computers.append(__import__(file_[: -3], globals(), locals(), [''])) File "/usr/lib/pymodules/python2.7/univention/admin/handlers/computers/linux.py", line 38, in <module> from univention.admin.handlers.computers.base import ComputerObject ImportError: No module named base Traceback (most recent call last): File "/usr/lib/pymodules/python2.7/univention/listener/api_adapter.py", line 158, in _handler self._module_handler.error_handler(dn, old, new, command, exc_type, exc_value, exc_traceback) File "/usr/lib/pymodules/python2.7/univention/listener/api_adapter.py", line 155, in _handler self._module_handler.create(dn, new) File "/usr/lib/univention-directory-listener/system/app_attributes.py", line 182, in create self._write_json() File "/usr/lib/univention-directory-listener/system/app_attributes.py", line 67, in _write_json app_objs = search_objects('appcenter/app', self.lo, self.po) File "/usr/lib/pymodules/python2.7/univention/appcenter/udm.py", line 120, in search_objects module = _get_module(_module, _lo, _pos) File "/usr/lib/pymodules/python2.7/univention/appcenter/udm.py", line 66, in _get_module _update_modules() File "/usr/lib/pymodules/python2.7/univention/appcenter/udm.py", line 62, in _update_modules udm_modules.update() File "/usr/lib/pymodules/python2.7/univention/admin/modules.py", line 98, in update os.path.walk(dir, _walk, p) File "/usr/lib/python2.7/posixpath.py", line 239, in walk walk(name, func, arg) File "/usr/lib/python2.7/posixpath.py", line 231, in walk func(arg, top, names) File "/usr/lib/pymodules/python2.7/univention/admin/modules.py", line 83, in _walk m = __import__(mod, globals(), locals(), name) File "/usr/lib/pymodules/python2.7/univention/admin/handlers/computers/__init__.py", line 46, in <module> os.path.walk(path, __walk, path) File "/usr/lib/python2.7/posixpath.py", line 231, in walk func(arg, top, names) File "/usr/lib/pymodules/python2.7/univention/admin/handlers/computers/__init__.py", line 42, in __walk computers.append(__import__(file_[: -3], globals(), locals(), [''])) File "/usr/lib/pymodules/python2.7/univention/admin/handlers/computers/linux.py", line 38, in <module> from univention.admin.handlers.computers.base import ComputerObject ImportError: No module named base 26.03.19 00:21:23.935 LISTENER ( WARN ) : handler: app_attributes (failed) (2) And remove the UNIVENTION_DEBUG output from the listener.log, otherwise this important log file is lo longer readable app_attributes: Gathering AppAttributes... UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=univentionAppID=cups_2.2.1,cn=cups,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=univentionAppID=cups_2.2.1,cn=cups,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=cn=cups,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=cn=cups,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=univentionAppID=cups_2.2.1,cn=cups,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=univentionAppID=cups_2.2.1,cn=cups,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=cn=cups,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=cn=cups,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=univentionAppID=mailserver_12.0,cn=mailserver,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=univentionAppID=mailserver_12.0,cn=mailserver,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=cn=mailserver,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=cn=mailserver,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=univentionAppID=mailserver_12.0,cn=mailserver,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=univentionAppID=mailserver_12.0,cn=mailserver,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=cn=mailserver,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=cn=mailserver,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=univentionAppID=pkgdb_11.0,cn=pkgdb,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=univentionAppID=pkgdb_11.0,cn=pkgdb,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=cn=pkgdb,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=cn=pkgdb,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=univentionAppID=pkgdb_11.0,cn=pkgdb,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=univentionAppID=pkgdb_11.0,cn=pkgdb,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=cn=pkgdb,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=cn=pkgdb,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=univentionAppID=samba-memberserver_4.7,cn=samba-memberserver,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=univentionAppID=samba-memberserver_4.7,cn=samba-memberserver,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=cn=samba-memberserver,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=cn=samba-memberserver,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=univentionAppID=samba-memberserver_4.7,cn=samba-memberserver,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=univentionAppID=samba-memberserver_4.7,cn=samba-memberserver,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=cn=samba-memberserver,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=cn=samba-memberserver,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=univentionAppID=ucs-test_1.0,cn=ucs-test,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=univentionAppID=ucs-test_1.0,cn=ucs-test,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=cn=ucs-test,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=cn=ucs-test,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=univentionAppID=ucs-test_1.0,cn=ucs-test,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=univentionAppID=ucs-test_1.0,cn=ucs-test,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=cn=ucs-test,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=cn=ucs-test,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=univentionAppID=apache_2.4,cn=apache,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=univentionAppID=apache_2.4,cn=apache,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=cn=apache,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=cn=apache,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=univentionAppID=apache_2.4,cn=apache,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=univentionAppID=apache_2.4,cn=apache,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=cn=apache,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=cn=apache,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : admin.handlers.base.__getitem__ key = version UNIVENTION_DEBUG_END : admin.handlers.base.__getitem__ key = version UNIVENTION_DEBUG_BEGIN : admin.handlers.base.__getitem__ key = id UNIVENTION_DEBUG_END : admin.handlers.base.__getitem__ key = id UNIVENTION_DEBUG_BEGIN : admin.handlers.base.__getitem__ key = version UNIVENTION_DEBUG_END : admin.handlers.base.__getitem__ key = version UNIVENTION_DEBUG_BEGIN : admin.handlers.base.__getitem__ key = id UNIVENTION_DEBUG_END : admin.handlers.base.__getitem__ key = id UNIVENTION_DEBUG_BEGIN : admin.handlers.base.__getitem__ key = version UNIVENTION_DEBUG_END : admin.handlers.base.__getitem__ key = version UNIVENTION_DEBUG_BEGIN : admin.handlers.base.__getitem__ key = id UNIVENTION_DEBUG_END : admin.handlers.base.__getitem__ key = id UNIVENTION_DEBUG_BEGIN : admin.handlers.base.__getitem__ key = version UNIVENTION_DEBUG_END : admin.handlers.base.__getitem__ key = version UNIVENTION_DEBUG_BEGIN : admin.handlers.base.__getitem__ key = id UNIVENTION_DEBUG_END : admin.handlers.base.__getitem__ key = id UNIVENTION_DEBUG_BEGIN : admin.handlers.base.__getitem__ key = version UNIVENTION_DEBUG_END : admin.handlers.base.__getitem__ key = version UNIVENTION_DEBUG_BEGIN : admin.handlers.base.__getitem__ key = id UNIVENTION_DEBUG_END : admin.handlers.base.__getitem__ key = id UNIVENTION_DEBUG_BEGIN : admin.handlers.base.__getitem__ key = version UNIVENTION_DEBUG_END : admin.handlers.base.__getitem__ key = version UNIVENTION_DEBUG_BEGIN : admin.handlers.base.__getitem__ key = id UNIVENTION_DEBUG_END : admin.handlers.base.__getitem__ key = id UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=univentionAppID=cups_2.2.1,cn=cups,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=univentionAppID=cups_2.2.1,cn=cups,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=cn=cups,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=cn=cups,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=univentionAppID=cups_2.2.1,cn=cups,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=univentionAppID=cups_2.2.1,cn=cups,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=cn=cups,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=cn=cups,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=univentionAppID=mailserver_12.0,cn=mailserver,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=univentionAppID=mailserver_12.0,cn=mailserver,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=cn=mailserver,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=cn=mailserver,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=univentionAppID=mailserver_12.0,cn=mailserver,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=univentionAppID=mailserver_12.0,cn=mailserver,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=cn=mailserver,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=cn=mailserver,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=univentionAppID=pkgdb_11.0,cn=pkgdb,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=univentionAppID=pkgdb_11.0,cn=pkgdb,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=cn=pkgdb,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=cn=pkgdb,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=univentionAppID=pkgdb_11.0,cn=pkgdb,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=univentionAppID=pkgdb_11.0,cn=pkgdb,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=cn=pkgdb,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=cn=pkgdb,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=univentionAppID=samba-memberserver_4.7,cn=samba-memberserver,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=univentionAppID=samba-memberserver_4.7,cn=samba-memberserver,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=cn=samba-memberserver,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=cn=samba-memberserver,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=univentionAppID=samba-memberserver_4.7,cn=samba-memberserver,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=univentionAppID=samba-memberserver_4.7,cn=samba-memberserver,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=cn=samba-memberserver,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=cn=samba-memberserver,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=univentionAppID=ucs-test_1.0,cn=ucs-test,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=univentionAppID=ucs-test_1.0,cn=ucs-test,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=cn=ucs-test,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=cn=ucs-test,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=univentionAppID=ucs-test_1.0,cn=ucs-test,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=univentionAppID=ucs-test_1.0,cn=ucs-test,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=cn=ucs-test,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=cn=ucs-test,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=univentionAppID=apache_2.4,cn=apache,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=univentionAppID=apache_2.4,cn=apache,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=cn=apache,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=cn=apache,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=univentionAppID=apache_2.4,cn=apache,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=univentionAppID=apache_2.4,cn=apache,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=cn=apache,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=cn=apache,cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : uldap.parentDn dn=cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_END : uldap.parentDn dn=cn=apps,cn=univention,dc=autotest078,dc=local base=dc=autotest078,dc=local UNIVENTION_DEBUG_BEGIN : admin.handlers.base.__getitem__ key = version UNIVENTION_DEBUG_END : admin.handlers.base.__getitem__ key = version UNIVENTION_DEBUG_BEGIN : admin.handlers.base.__getitem__ key = id UNIVENTION_DEBUG_END : admin.handlers.base.__getitem__ key = id UNIVENTION_DEBUG_BEGIN : admin.handlers.base.__getitem__ key = version UNIVENTION_DEBUG_END : admin.handlers.base.__getitem__ key = version UNIVENTION_DEBUG_BEGIN : admin.handlers.base.__getitem__ key = id UNIVENTION_DEBUG_END : admin.handlers.base.__getitem__ key = id UNIVENTION_DEBUG_BEGIN : admin.handlers.base.__getitem__ key = version UNIVENTION_DEBUG_END : admin.handlers.base.__getitem__ key = version UNIVENTION_DEBUG_BEGIN : admin.handlers.base.__getitem__ key = id UNIVENTION_DEBUG_END : admin.handlers.base.__getitem__ key = id UNIVENTION_DEBUG_BEGIN : admin.handlers.base.__getitem__ key = version UNIVENTION_DEBUG_END : admin.handlers.base.__getitem__ key = version UNIVENTION_DEBUG_BEGIN : admin.handlers.base.__getitem__ key = id UNIVENTION_DEBUG_END : admin.handlers.base.__getitem__ key = id UNIVENTION_DEBUG_BEGIN : admin.handlers.base.__getitem__ key = version UNIVENTION_DEBUG_END : admin.handlers.base.__getitem__ key = version UNIVENTION_DEBUG_BEGIN : admin.handlers.base.__getitem__ key = id UNIVENTION_DEBUG_END : admin.handlers.base.__getitem__ key = id UNIVENTION_DEBUG_BEGIN : admin.handlers.base.__getitem__ key = version UNIVENTION_DEBUG_END : admin.handlers.base.__getitem__ key = version UNIVENTION_DEBUG_BEGIN : admin.handlers.base.__getitem__ key = id UNIVENTION_DEBUG_END : admin.handlers.base.__getitem__ key = id 26.03.19 01:55:46.496 LISTENER ( PROCESS ) : app_attributes: Finished
(In reply to Felix Botner from comment #5) > (1) Traceback in listener.log: > > 26.03.19 00:21:23.923 LISTENER ( PROCESS ) : app_attributes: Gathering > AppAttributes... > 26.03.19 00:21:23.935 LISTENER ( ERROR ) : app_attributes: > dn='cn=UVMMGroup,cn=UVMM,cn=custom > attributes,cn=univention,dc=autotest078,dc=local' command='n' > old={} > new={'cn': ['UVMMGroup'], 'objectClass': ['top', > 'univentionUDMProperty', 'univentionObject'], 'univentionUDMPropertyModule': > ['groups/group'], 'univentionUDMPropertyLayoutTabName': ['UVMM'], > 'univentionUDMPropertyTranslationLongDescription;entry-de-de': ['Definiert > ob dies eine UVMM Gruppe ist'], 'entryUUID': > ['df9191a0-e39a-1038-8674-a39962fe5d89'], > 'univentionUDMPropertyLongDescription': ['Defines if this group is a UVMM > group'], 'univentionUDMPropertyLdapMapping': > ['univentionVirtualMachineGroup'], 'univentionUDMPropertyObjectClass': > ['univentionVirtualMachineGroupOC'], > 'univentionUDMPropertyLayoutTabAdvanced': ['1'], > 'univentionUDMPropertyValueNotEditable': ['0'], > 'univentionUDMPropertyLayoutOverwritePosition': ['0'], > 'univentionUDMPropertyLayoutOverwriteTab': ['0'], 'hasSubordinates': > ['FALSE'], 'univentionUDMPropertyDoNotSearch': ['0'], > 'univentionUDMPropertyTranslationShortDescription;entry-de-de': ['UCS > Virtual Machine Manager Gruppe'], 'creatorsName': > ['cn=admin,dc=autotest078,dc=local'], 'univentionUDMPropertySyntax': > ['boolean'], 'univentionUDMPropertyLayoutPosition': ['1'], > 'univentionUDMPropertyMultivalue': ['0'], > 'univentionUDMPropertyDeleteObjectClass': ['0'], > 'univentionUDMPropertyDefault': ['0'], > 'univentionUDMPropertyValueMayChange': ['1'], > 'univentionUDMPropertyShortDescription': ['UCS Virtual Machine group'], > 'univentionObjectType': ['settings/extended_attribute'], 'modifiersName': > ['cn=admin,dc=autotest078,dc=local'], 'univentionUDMPropertyVersion': ['2'], > 'subschemaSubentry': ['cn=Subschema'], 'entryDN': > ['cn=UVMMGroup,cn=UVMM,cn=custom > attributes,cn=univention,dc=autotest078,dc=local'], 'structuralObjectClass': > ['univentionUDMProperty'], 'modifyTimestamp': ['20190325224128Z'], > 'entryCSN': ['20190325224128.612458Z#000000#000#000000'], 'createTimestamp': > ['20190325224128Z'], 'univentionUDMPropertyValueRequired': ['0'], > 'univentionUDMPropertyCLIName': ['UVMMGroup']} > Traceback (most recent call last): > File "/usr/lib/pymodules/python2.7/univention/listener/api_adapter.py", > line 155, in _handler > self._module_handler.create(dn, new) > File "/usr/lib/univention-directory-listener/system/app_attributes.py", > line 182, in create > self._write_json() > File "/usr/lib/univention-directory-listener/system/app_attributes.py", > line 67, in _write_json > app_objs = search_objects('appcenter/app', self.lo, self.po) > File "/usr/lib/pymodules/python2.7/univention/appcenter/udm.py", line 120, > in search_objects > module = _get_module(_module, _lo, _pos) > File "/usr/lib/pymodules/python2.7/univention/appcenter/udm.py", line 66, > in _get_module > _update_modules() > File "/usr/lib/pymodules/python2.7/univention/appcenter/udm.py", line 62, > in _update_modules > udm_modules.update() > File "/usr/lib/pymodules/python2.7/univention/admin/modules.py", line 98, > in update > os.path.walk(dir, _walk, p) > File "/usr/lib/python2.7/posixpath.py", line 239, in walk > walk(name, func, arg) > File "/usr/lib/python2.7/posixpath.py", line 231, in walk > func(arg, top, names) > File "/usr/lib/pymodules/python2.7/univention/admin/modules.py", line 83, > in _walk > m = __import__(mod, globals(), locals(), name) > File > "/usr/lib/pymodules/python2.7/univention/admin/handlers/computers/__init__. > py", line 46, in <module> > os.path.walk(path, __walk, path) > File "/usr/lib/python2.7/posixpath.py", line 231, in walk > func(arg, top, names) > File > "/usr/lib/pymodules/python2.7/univention/admin/handlers/computers/__init__. > py", line 42, in __walk > computers.append(__import__(file_[: -3], globals(), locals(), [''])) > File > "/usr/lib/pymodules/python2.7/univention/admin/handlers/computers/linux.py", > line 38, in <module> > from univention.admin.handlers.computers.base import ComputerObject > ImportError: No module named base > Traceback (most recent call last): > File "/usr/lib/pymodules/python2.7/univention/listener/api_adapter.py", > line 158, in _handler > self._module_handler.error_handler(dn, old, new, command, exc_type, > exc_value, exc_traceback) > File "/usr/lib/pymodules/python2.7/univention/listener/api_adapter.py", > line 155, in _handler > self._module_handler.create(dn, new) > File "/usr/lib/univention-directory-listener/system/app_attributes.py", > line 182, in create > self._write_json() > File "/usr/lib/univention-directory-listener/system/app_attributes.py", > line 67, in _write_json > app_objs = search_objects('appcenter/app', self.lo, self.po) > File "/usr/lib/pymodules/python2.7/univention/appcenter/udm.py", line 120, > in search_objects > module = _get_module(_module, _lo, _pos) > File "/usr/lib/pymodules/python2.7/univention/appcenter/udm.py", line 66, > in _get_module > _update_modules() > File "/usr/lib/pymodules/python2.7/univention/appcenter/udm.py", line 62, > in _update_modules > udm_modules.update() > File "/usr/lib/pymodules/python2.7/univention/admin/modules.py", line 98, > in update > os.path.walk(dir, _walk, p) > File "/usr/lib/python2.7/posixpath.py", line 239, in walk > walk(name, func, arg) > File "/usr/lib/python2.7/posixpath.py", line 231, in walk > func(arg, top, names) > File "/usr/lib/pymodules/python2.7/univention/admin/modules.py", line 83, > in _walk > m = __import__(mod, globals(), locals(), name) > File > "/usr/lib/pymodules/python2.7/univention/admin/handlers/computers/__init__. > py", line 46, in <module> > os.path.walk(path, __walk, path) > File "/usr/lib/python2.7/posixpath.py", line 231, in walk > func(arg, top, names) > File > "/usr/lib/pymodules/python2.7/univention/admin/handlers/computers/__init__. > py", line 42, in __walk > computers.append(__import__(file_[: -3], globals(), locals(), [''])) > File > "/usr/lib/pymodules/python2.7/univention/admin/handlers/computers/linux.py", > line 38, in <module> > from univention.admin.handlers.computers.base import ComputerObject > ImportError: No module named base > 26.03.19 00:21:23.935 LISTENER ( WARN ) : handler: app_attributes > (failed) univention.admin.handlers.computers.base has been introduced in Bug #41659. But it should be available, why isn't it? Does this happen during the pacakage update?
1. I cannot work around this traceback. This should not happen during the update. The listener is restarted during postinst and needs a working UDM at this time. We do this in appcenter.postinst: update-python-modules python-univention-appcenter.public update-python-modules --post-install Maybe something like this is needed and missing in udm? Nothing done here. 2. I can work around this issue. The listener opens a global file handle and it is used in any listener module. As I use UDM functions, the debug output of UDM is printed in the listener.log. Luckily, I can manipulate the C lib with univention.debug.set_function(univention.debug.NO_FUNCTION) (and reset it after my module is done) univention-appcenter 8.0.11-7A~4.4.0.201903262046
OK: debug messages are prevented ~OK: the listener takes in my small environment about 1:30 minutes.
(In reply to Florian Best from comment #8) > ~OK: the listener takes in my small environment about 1:30 minutes. The listener needs to be run as root. Simple fix, please do it now.
Fixed in univention-appcenter 8.0.11-8A~4.4.0.201903271139
OK: takes 8 seconds now :-) 19.03.19 10:32:36.049 LISTENER ( PROCESS ) : app_attributes: Gathering AppAttributes... 19.03.19 10:32:44.987 LISTENER ( PROCESS ) : app_attributes: Finished
<http://errata.software-univention.de/ucs/4.4/27.html> <http://errata.software-univention.de/ucs/4.4/29.html>