Bug 37377 - LDAP inconsistency/UDM traceback if network object gets removed
LDAP inconsistency/UDM traceback if network object gets removed
Product: UCS
Classification: Unclassified
Component: UMC - Networks
UCS 3.2
Other Linux
: P5 normal (vote)
: UCS 3.2-4-errata
Assigned To: Florian Best
Arvid Requate
Depends on: 35099 37668 37769
  Show dependency treegraph
Reported: 2014-12-17 11:09 CET by Alexander Kläser
Modified: 2015-02-11 09:31 CET (History)
9 users (show)

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:


Note You need to log in before you can comment on or make changes to this bug.
Description Alexander Kläser univentionstaff 2014-12-17 11:09:53 CET
The solution will be back ported from UCS 4.0 to 3.2.

+++ 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.

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
    return func( *args, **kwargs )
line 118, in _decorated
    ret = func(self, request, *a, **kw)
line 269, in get_computers
    return self._get_all(computer_class, school, request.options.get('filter'),
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
    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
    return klass.from_udm_obj(udm_obj, school, lo)
  File "/usr/lib/pymodules/python2.6/ucsschool/lib/models/computer.py", line 270, in
    netmask = Network.get_netmask(network_dn, school, lo)
  File "/usr/lib/pymodules/python2.6/ucsschool/lib/models/network.py", line 108, in
    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 Florian Best univentionstaff 2015-01-14 16:51:55 CET
The references to the network are now removed when deleting it.

Fix: svn r57320
Package: univention-directory-manager-modules
Version: 9.0.76-36.1275.201501141646
Branch: ucs_3.2-0
Scope: errata3.2-4
YAML: 2015-01-14-univention-directory-manager-modules.yaml
Comment 2 Arvid Requate univentionstaff 2015-01-19 14:38:50 CET
The adjustment works and the advisory is ok.
Comment 3 Moritz Muehlenhoff univentionstaff 2015-01-21 12:24:21 CET