Bug 55357 - appcenter/progress: ldap.NO_SUCH_OBJECT when installing rocket.chat
appcenter/progress: ldap.NO_SUCH_OBJECT when installing rocket.chat
Status: NEW
Product: UCS
Classification: Unclassified
Component: App Center
UCS 5.0
Other Linux
: P5 normal (vote)
: ---
Assigned To: App Center maintainers
App Center maintainers
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2022-10-28 10:04 CEST by Mika Westphal
Modified: 2022-10-28 10:05 CEST (History)
0 users

See Also:
What kind of report is it?: ---
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number: 2022101121000399
Bug group (optional): Error handling, External feedback
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mika Westphal univentionstaff 2022-10-28 10:04:41 CEST
Version: 5.0-2 errata454

Remark: appears when try to install rocket.chat on an ucs 5.0.2 updated from 4.4

Error:
Internal server error during "appcenter/progress".
Request: appcenter/progress

Traceback (most recent call last):
  File "%PY3%/univention/admin/uldap.py", line 672, in search
    return self.lo.search(filter, base, scope, attr, unique, required, timeout, sizelimit, serverctrls=serverctrls, response=response)
  File "%PY3%/univention/uldap.py", line 208, in _decorated
    return func(self, *args, **kwargs)
  File "%PY3%/univention/uldap.py", line 517, in search
    res = self.lo.search_ext_s(base, ldap_scope, filter, attr, serverctrls=serverctrls, clientctrls=None, timeout=timeout, sizelimit=sizelimit)
  File "%PY3%/ldap/ldapobject.py", line 1259, in search_ext_s
    return self._apply_method_s(SimpleLDAPObject.search_ext_s,*args,**kwargs)
  File "%PY3%/ldap/ldapobject.py", line 1197, in _apply_method_s
    return func(self,*args,**kwargs)
  File "%PY3%/ldap/ldapobject.py", line 846, in search_ext_s
    return self.result(msgid,all=1,timeout=timeout)[1]
  File "%PY3%/ldap/ldapobject.py", line 738, in result
    resp_type, resp_data, resp_msgid = self.result2(msgid,all,timeout)
  File "%PY3%/ldap/ldapobject.py", line 742, in result2
    resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all,timeout)
  File "%PY3%/ldap/ldapobject.py", line 749, in result3
    resp_ctrl_classes=resp_ctrl_classes
  File "%PY3%/ldap/ldapobject.py", line 756, in result4
    ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
  File "%PY3%/ldap/ldapobject.py", line 329, in _ldap_call
    reraise(exc_type, exc_value, exc_traceback)
  File "%PY3%/ldap/compat.py", line 44, in reraise
    raise exc_value
  File "%PY3%/ldap/ldapobject.py", line 313, in _ldap_call
    result = func(*args,**kwargs)
ldap.NO_SUCH_OBJECT: {'desc': 'No such object', 'matched': 'cn=memberserver,cn=computers,dc=**,dc=***'}

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "%PY3%/univention/admin/objects.py", line 102, in get
    obj = univention.admin.modules.lookup(module.module, co, lo, base=dn, superordinate=superordinate, scope='base', unique=True, required=True)[0]
  File "%PY3%/univention/admin/modules.py", line 955, in lookup
    tmpres = module.lookup(co, lo, filter, base=base, superordinate=superordinate, scope=scope, unique=unique, required=required, timeout=timeout, sizelimit=sizelimit)
  File "%PY3%/univention/admin/handlers/__init__.py", line 1791, in lookup
    for dn, attrs in lo.search(filter_str, base, scope, attr, unique, required, timeout, sizelimit, serverctrls=serverctrls, response=response):
  File "%PY3%/univention/admin/uldap.py", line 674, in search
    raise univention.admin.uexceptions.noObject(_err2str(msg))
univention.admin.uexceptions.noObject: No such object

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "%PY3%/univention/appcenter/udm.py", line 100, in create_object_if_not_exists
    init_object(_module, _lo, _pos, dn)
  File "%PY3%/univention/appcenter/udm.py", line 76, in init_object
    obj = udm_objects.get(module, None, lo, pos, dn)
  File "%PY3%/univention/admin/objects.py", line 107, in get
    raise univention.admin.uexceptions.noObject(dn)
univention.admin.uexceptions.noObject: cn=***,cn=memberserver,cn=computers,dc=**,dc=***

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "%PY3%/univention/management/console/base.py", line 347, in __error_handling
    six.reraise(etype, exc, etraceback)
  File "%PY3%/six.py", line 693, in reraise
    raise value
  File "%PY3%/univention/management/console/base.py", line 250, in execute
    function.__func__(self, request, *args, **kwargs)
  File "%PY3%/univention/management/console/modules/decorators.py", line 324, in _response
    result = _multi_response(self, request)
  File "%PY3%/univention/management/console/modules/decorators.py", line 184, in _response
    return function(self, request)
  File "%PY3%/univention/management/console/modules/decorators.py", line 446, in _response
    return list(function(self, iterator, *nones))
  File "%PY3%/univention/management/console/modules/decorators.py", line 292, in _fake_func
    yield function(self, *args)
  File "%PY3%/univention/management/console/modules/mixins.py", line 161, in progress
    ret = progress_obj.poll()
  File "%PY3%/univention/management/console/modules/mixins.py", line 105, in poll
    six.reraise(*self.exc_info)
  File "%PY3%/six.py", line 693, in reraise
    raise value
  File "%PY3%/univention/management/console/modules/decorators.py", line 315, in _thread
    result = _multi_response(self, request)
  File "%PY3%/univention/management/console/modules/decorators.py", line 184, in _response
    return function(self, request)
  File "%PY3%/univention/management/console/modules/decorators.py", line 446, in _response
    return list(function(self, iterator, *nones))
  File "%PY3%/univention/management/console/modules/decorators.py", line 292, in _fake_func
    yield function(self, *args)
  File "%PY3%/univention/management/console/modules/appcenter/__init__.py", line 296, in run
    host_result[app.id] = self._run_local(app, action, _settings, auto_installed, progress)
  File "%PY3%/univention/management/console/modules/appcenter/__init__.py", line 343, in _run_local
    success = action.call(app=[app], username=self.username, password=self.password, **kwargs)
  File "%PY3%/univention/appcenter/actions/__init__.py", line 189, in call
    return obj.call_with_namespace(namespace)
  File "%PY3%/univention/appcenter/actions/__init__.py", line 196, in call_with_namespace
    result = self.main(namespace)
  File "%PY3%/univention/appcenter/actions/install.py", line 90, in main
    return self.do_it(args)
  File "%PY3%/univention/appcenter/actions/install_base.py", line 172, in do_it
    success = self.do_it_once(app, args)
  File "%PY3%/univention/appcenter/actions/install.py", line 206, in do_it_once
    return super(Install, self).do_it_once(app, args)
  File "%PY3%/univention/appcenter/actions/install_base.py", line 217, in do_it_once
    self._do_it(app, args)
  File "%PY3%/univention/appcenter/actions/docker_install.py", line 74, in _do_it
    ret = super(Install, self)._do_it(app, args)
  File "%PY3%/univention/appcenter/actions/install.py", line 120, in _do_it
    if self._install_app(app, args):
  File "%PY3%/univention/appcenter/actions/docker_install.py", line 59, in _install_app
    hostdn, password = self._register_host(app, args)
  File "%PY3%/univention/appcenter/actions/register.py", line 395, in _register_host
    obj = create_object_if_not_exists('computers/%s' % app.docker_server_role, lo, pos, name=hostname, description=description, domain=domain, password=password,
objectFlag='docker', policies=policies)
  File "%PY3%/univention/appcenter/udm.py", line 102, in create_object_if_not_exists
    obj.create()
  File "%PY3%/univention/admin/handlers/__init__.py", line 555, in create
    dn = self._create(response=response, serverctrls=serverctrls)
  File "%PY3%/univention/admin/handlers/__init__.py", line 1266, in _create
    al = self._ldap_addlist()
  File "%PY3%/univention/admin/handlers/computers/__base.py", line 137, in _ldap_addlist
    uidNum = self.request_lock('uidNumber')
  File "%PY3%/univention/admin/handlers/__init__.py", line 1703, in request_lock
    value = univention.admin.allocators.request(self.lo, self.position, name, value)
  File "%PY3%/univention/admin/allocators.py", line 224, in request
    return acquireRange(lo, position, type, _type2attr[type], [{'first': 1000, 'last': 55000}, {'first': 65536, 'last': 1000000}], scope=_type2scope[type])
  File "%PY3%/univention/admin/allocators.py", line 168, in acquireRange
    raise univention.admin.uexceptions.noLock(_('The attribute %r could not get locked.') % (atype,))
univention.admin.uexceptions.noLock: The attribute 'uidNumber' could not get locked.

Role: memberserver