Univention Bugzilla – Bug 51866
appcenter/docker/progress ldapError: Type or value exists: modify/add: univentionAppInstalledOnServer: value #0 already exists
Last modified: 2020-09-17 16:05:37 CEST
Version: 4.4-5 errata652 (Blumenthal) Error: Internal server error during "appcenter/docker/progress". Request: appcenter/docker/progress Traceback (most recent call last): File "%PY2.7%/univention/management/console/base.py", line 359, in __error_handling six.reraise(etype, exc, etraceback) File "%PY2.7%/univention/management/console/base.py", line 262, in execute function.__func__(self, request, *args, **kwargs) File "%PY2.7%/univention/management/console/modules/decorators.py", line 321, in _response result = _multi_response(self, request) File "%PY2.7%/univention/management/console/modules/decorators.py", line 181, in _response return function(self, request) File "%PY2.7%/univention/management/console/modules/decorators.py", line 443, in _response return list(function(self, iterator, *nones)) File "%PY2.7%/univention/management/console/modules/decorators.py", line 289, in _fake_func yield function(self, *args) File "%PY2.7%/univention/management/console/modules/mixins.py", line 158, in progress ret = progress_obj.poll() File "%PY2.7%/univention/management/console/modules/mixins.py", line 102, in poll six.reraise(self.exc_info[1], None, self.exc_info[2]) File "%PY2.7%/univention/management/console/modules/decorators.py", line 312, in _thread result = _multi_response(self, request) File "%PY2.7%/univention/management/console/modules/decorators.py", line 181, in _response return function(self, request) File "%PY2.7%/univention/management/console/modules/decorators.py", line 443, in _response return list(function(self, iterator, *nones)) File "%PY2.7%/univention/management/console/modules/decorators.py", line 289, in _fake_func yield function(self, *args) File "%PY2.7%/univention/management/console/modules/appcenter/__init__.py", line 484, 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 220, in call return obj.call_with_namespace(namespace) File "%PY2.7%/univention/appcenter/actions/__init__.py", line 226, in call_with_namespace result = self.main(namespace) File "%PY2.7%/univention/appcenter/actions/upgrade.py", line 81, in main return self.do_it(args) File "%PY2.7%/univention/appcenter/actions/install_base.py", line 119, in do_it self._do_it(app, args) File "%PY2.7%/univention/appcenter/actions/docker_upgrade.py", line 126, in _do_it self._upgrade_image(app, args) File "%PY2.7%/univention/appcenter/actions/docker_upgrade.py", line 184, in _upgrade_image self._install_new_app(app, args) File "%PY2.7%/univention/appcenter/actions/docker_upgrade.py", line 69, in _install_new_app return Install._do_it(self, app, args) File "%PY2.7%/univention/appcenter/actions/docker_install.py", line 71, in _do_it ret = super(Install, self)._do_it(app, args) File "%PY2.7%/univention/appcenter/actions/install.py", line 104, in _do_it self._register_app(app, args) File "%PY2.7%/univention/appcenter/actions/register.py", line 438, in _register_app ldap_object.add_localhost() File "%PY2.7%/univention/appcenter/udm.py", line 245, in add_localhost self._udm_obj.modify() File "%PY2.7%/univention/admin/handlers/__init__.py", line 650, in modify dn = self._modify(modify_childs, ignore_license=ignore_license, response=response) File "%PY2.7%/univention/admin/handlers/__init__.py", line 1327, in _modify self.dn = self.lo.modify(self.dn, ml, ignore_license=ignore_license, serverctrls=serverctrls, response=response) File "%PY2.7%/univention/admin/uldap.py", line 902, in modify raise univention.admin.uexceptions.ldapError(_err2str(msg), original_exception=msg) ldapError: Type or value exists: modify/add: univentionAppInstalledOnServer: value #0 already exists Role: domaincontroller_master
Another customer affected by Let's encrypt app. Ticket added. Workaround: Use univention-ldapsearch "univentionAppInstalledOnServer=*" to get the DN of the app object. And then: ================================== ldapmodify -D "$( ucr get ldap/hostdn )" -y /etc/machine.secret <<EOR dn: cn=univentionAppID=letsencrypt_1.2.2-8,cn=letsencrypt,cn=apps,cn=univention,dc=domain,dc=local changetype: modify delete: univentionAppInstalledOnServer univentionAppInstalledOnServer: slave.domain.local EOR ==================================== Afterwards, install the app as usual. BTW: There are loads of "closed" bugs which refer to a similar issue (mostly just a different app) so identifying the issue would be helpful.