Bug 37769 - LDAP inconsistency/UDM traceback if network object gets removed
LDAP inconsistency/UDM traceback if network object gets removed
Status: CLOSED FIXED
Product: UCS@school
Classification: Unclassified
Component: UMC - Wizards
UCS@school 4.0
Other Linux
: P5 normal (vote)
: UCS@school 3.2 R2 Errata
Assigned To: Florian Best
Sönke Schwardt-Krummrich
:
Depends on: 35099 37668
Blocks: 37377
  Show dependency treegraph
 
Reported: 2015-02-11 09:31 CET by Florian Best
Modified: 2015-02-27 15:18 CET (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:
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 Florian Best univentionstaff 2015-02-11 09:31:09 CET
+++ This bug was initially created as a clone of Bug #37668 +++

This error is now handled in UDM so that this cannot happen in future anymore.
But if there are existing broken systems they are still unable to use the UCS@school wizards. We should also handle this in UCS@school directly.

Or provide something to clean up the ldap for dead references.

(In reply to Dirk Wiesenthal from Bug #35099 comment #1)
> Happens when (auto) assigning a network object to a computer and then
> manually deleting this network.
> 
> Seems that the DN is still present in the computer object and points to
> nowhere, hence the error message.
> 
> Could be handled in the school lib, should be handled in UDM

+++ This bug was initially created as a clone of Bug #35099 +++

We received the following traceback on a UCS@school 3.2R2 UCS 3.2-2 errata121 (Borgfeld).
We had similar tracebacks before due to missing objects/containers in the OU structure.

Traceback:
Die Ausführung des Kommandos schoolwizards/computers/query ist fehlgeschlagen:

Traceback (most recent call last):
  File "/usr/lib/pymodules/python2.6/univention/management/console/modules/__init__.py",
line 204, in execute
    func( request )
  File "/usr/lib/pymodules/python2.6/ucsschool/lib/schoolldap.py", line 204, in
wrapper_func
    return func( *args, **kwargs )
  File
"/usr/lib/pymodules/python2.6/univention/management/console/modules/schoolwizards/__init__.py",
line 118, in _decorated
    ret = func(self, request, *a, **kw)
  File
"/usr/lib/pymodules/python2.6/univention/management/console/modules/schoolwizards/__init__.py",
line 269, in get_computers
    return self._get_all(computer_class, school, request.options.get('filter'),
ldap_user_read)
  File
"/usr/lib/pymodules/python2.6/univention/management/console/modules/schoolwizards/__init__.py",
line 246, in _get_all
    objs.extend(klass.get_all(lo, school.name, filter_str=filter_str, easy_filter=True))
  File "/usr/lib/pymodules/python2.6/ucsschool/lib/models/base.py", line 652, in get_all
    obj = cls.from_udm_obj(udm_obj, school, lo)
  File "/usr/lib/pymodules/python2.6/ucsschool/lib/models/computer.py", line 258, in
from_udm_obj
    obj = super(SchoolComputer, cls).from_udm_obj(udm_obj, school, lo)
  File "/usr/lib/pymodules/python2.6/ucsschool/lib/models/base.py", line 682, in
from_udm_obj
    return klass.from_udm_obj(udm_obj, school, lo)
  File "/usr/lib/pymodules/python2.6/ucsschool/lib/models/computer.py", line 270, in
from_udm_obj
    netmask = Network.get_netmask(network_dn, school, lo)
  File "/usr/lib/pymodules/python2.6/ucsschool/lib/models/network.py", line 108, in
get_netmask
    network = cls.from_dn(dn, school, lo)
  File "/usr/lib/pymodules/python2.6/ucsschool/lib/models/base.py", line 735, in from_dn
    udm_obj = udm_modules.lookup(cls._meta.udm_module, None, lo,
filter=cls._meta.udm_filter, base=dn, scope='base', superordinate=superordinate)[0]
  File "/usr/lib/pymodules/python2.6/univention/admin/modules.py", line 801, in lookup
    tmpres=module.lookup(co, lo, filter, base=base, superordinate=superordinate,
scope=scope, unique=unique, required=required, timeout=timeout, sizelimit=sizelimit)
  File "/usr/lib/pymodules/python2.6/univention/admin/handlers/networks/network.py", line
332, in lookup
    for dn, attrs in lo.search(unicode(filter), base, scope, [], unique, required,
timeout, sizelimit):
  File "/usr/lib/pymodules/python2.6/univention/admin/uldap.py", line 347, in search
    raise univention.admin.uexceptions.noObject, _err2str(msg)
noObject: No such object
Comment 1 Sönke Schwardt-Krummrich univentionstaff 2015-02-18 17:29:22 CET
OK: no traceback if module is opened and objects with broken references exist
OK: debian changelog entry
OK: XML changelog entry
OK: package is built
OK: code change
OK: no manual change required
Comment 2 Sönke Schwardt-Krummrich univentionstaff 2015-02-27 15:18:38 CET
UCS@school 3.2 R2 v3 has been released:
http://docs.univention.de/release-notes-ucsschool-3.2R2v3-de.html

If this error occurs again, please use "Clone This Bug".