Univention Bugzilla – Bug 44502
KeyError: 'UNIVENTION_APP_IDENTIFIER'
Last modified: 2017-10-18 12:02:44 CEST
Version: 4.2-0 errata4 (Lesum) Remark: Upgrade von UCS 4.1 auf 4.2 und anschliessender Versuch der Installation von Nextcloud. Die Ausführung des Kommandos appcenter/docker/progress ist fehlgeschlagen: Traceback (most recent call last): File "%PY2.7%/univention/management/console/base.py", line 249, in execute function.__func__(self, request, *args, **kwargs) File "%PY2.7%/univention/management/console/modules/decorators.py", line 318, in _response result = _multi_response(self, request) File "%PY2.7%/univention/management/console/modules/decorators.py", line 192, in _response return function(self, request) File "%PY2.7%/univention/management/console/modules/decorators.py", line 440, in _response return list(function(self, iterator, *nones)) File "%PY2.7%/univention/management/console/modules/decorators.py", line 286, in _fake_func yield function(self, *args) File "%PY2.7%/univention/management/console/modules/mixins.py", line 149, in progress ret = progress_obj.poll() File "%PY2.7%/univention/management/console/modules/decorators.py", line 309, in _thread result = _multi_response(self, request) File "%PY2.7%/univention/management/console/modules/decorators.py", line 192, in _response return function(self, request) File "%PY2.7%/univention/management/console/modules/decorators.py", line 440, in _response return list(function(self, iterator, *nones)) File "%PY2.7%/univention/management/console/modules/decorators.py", line 286, in _fake_func yield function(self, *args) File "%PY2.7%/univention/management/console/modules/appcenter/__init__.py", line 375, in invoke_docker result['success'] = action.call(app=app, username=self.username, password=self.password, **kwargs) File "%PY2.7%/univention/appcenter/actions/__init__.py", line 227, in call return obj.call_with_namespace(namespace) File "%PY2.7%/univention/appcenter/actions/__init__.py", line 233, in call_with_namespace result = self.main(namespace) File "%PY2.7%/univention/appcenter/actions/install.py", line 70, in main return self.do_it(args) File "%PY2.7%/univention/appcenter/actions/install_base.py", line 110, in do_it self._do_it(app, args) File "%PY2.7%/univention/appcenter/actions/docker_install.py", line 67, in _do_it ret = super(Install, self)._do_it(app, args) File "%PY2.7%/univention/appcenter/actions/install.py", line 85, in _do_it self._register_attributes(app, args) File "%PY2.7%/univention/appcenter/actions/register.py", line 224, in _register_attributes del os.environ['UNIVENTION_APP_IDENTIFIER'] File "/usr/lib/python2.7/os.py", line 498, in __delitem__ del self.data[key] KeyError: 'UNIVENTION_APP_IDENTIFIER'
We can prevent the traceback by catching the KeyError. But I really don't know how this can happen. From the code: os.environ['UNIVENTION_APP_IDENTIFIER'] = app.id try: [...] finally: del os.environ['UNIVENTION_APP_IDENTIFIER']
Version: 4.1-4 errata471 (Vahr) Remark: Upgrade von Owncloud 9.1 auf 10 schlägt fehl
Version: 4.2-1 errata157 (Lesum)
(In reply to Dirk Wiesenthal from comment #1) > We can prevent the traceback by catching the KeyError. But I really don't > know how this can happen. From the code: me neither, added a check before deleting UNIVENTION_APP_IDENTIFIER but i guess there is a more underlying problem here ... univention-appcenter 6.0.10-9A~4.2.0.201709251301
OK: Code review
<http://errata.software-univention.de/ucs/4.2/199.html>