Bug 40598 - noObject exception when trying to open computer object
noObject exception when trying to open computer object
Status: CLOSED DUPLICATE of bug 41293
Product: UCS@school
Classification: Unclassified
Component: UMC - Wizards
UCS@school 4.1
Other Linux
: P5 normal (vote)
: UCS@school 4.1 R2
Assigned To: Florian Best
Daniel Tröder
:
: 37803 (view as bug list)
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2016-02-08 10:35 CET by Florian Best
Modified: 2016-06-28 18:29 CEST (History)
2 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:


Attachments
patch (962 bytes, patch)
2016-05-29 12:53 CEST, Florian Best
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Florian Best univentionstaff 2016-02-08 10:35:54 CET
We received the following traceback:

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

Traceback (most recent call last):
  File "%PY2.7%/univention/management/console/base.py", line 283, in execute
    function(self, request)
  File "%PY2.7%/ucsschool/lib/schoolldap.py", line 140, in wrapper_func
    return func(*args, **kwargs)
  File "%PY2.7%/univention/management/console/modules/schoolwizards/__init__.py", line 121, in _decorated
    ret = func(self, request, *a, **kw)
  File "%PY2.7%/univention/management/console/modules/schoolwizards/__init__.py", line 180, in _get_obj
    obj = obj.from_dn(obj.old_dn, obj.school, ldap_user_read)
  File "%PY2.7%/ucsschool/lib/models/base.py", line 748, 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 "%PY2.7%/univention/admin/modules.py", line 804, in lookup
    tmpres=module.lookup(co, lo, filter, base=base, superordinate=superordinate, scope=scope, unique=unique, required=required, timeout=timeout, sizelimit=sizelimit)
  File "%PY2.7%/univention/admin/handlers/computers/computer.py", line 175, in lookup
    res.extend( computer.lookup(co, lo, filter_s, base, superordinate, scope, unique, required, timeout, sizelimit) )
  File "%PY2.7%/univention/admin/handlers/computers/ipmanagedclient.py", line 335, in lookup
    for dn, attrs in lo.search(unicode(filter), base, scope, [], unique, required, timeout, sizelimit):
  File "%PY2.7%/univention/admin/uldap.py", line 351, in search
    raise univention.admin.uexceptions.noObject(_err2str(msg))
noObject: No such object


Remark:
Ansicht eines Rechnerobjektes (egal welches) via "Rechner (Schulen)" in UCS@school (aktuelle Version)

Zusatzanmerkung: Es ist auch nicht möglich, Rechner über die @school-Funktionen zu erstellen: Fehlermeldung "LDAP-Fehler: no such object"

Ein Hinzufügen von Rechnern zu einem Computerraum ist ebenfalls nicht möglich, da die Auswahlliste komplett leer ist.

Rechnerobjekte können ausschließlich über die regulären Funktionen erstellt werden. Ein Hinzufügen zu den Raumgruppen ist auch nur über die regulären (also nicht @school)
Gruppenoptionen möglich.

Version:
4.1-0 errata100 (Vahr)
Comment 1 Sönke Schwardt-Krummrich univentionstaff 2016-02-09 09:27:46 CET
I am suspecting that cn=computers,ou=XXX,$BASEDN does not exist.
Comment 2 Florian Best univentionstaff 2016-02-12 16:31:10 CET
(In reply to Sönke Schwardt-Krummrich from comment #1)
> I am suspecting that cn=computers,ou=XXX,$BASEDN does not exist.
Hmm, really? How is it possible then that there are computers underneath of it shown?
Or is just the container not allowed to read but all subentries via LDAP ACLs (if that is even possible)?
Comment 3 Florian Best univentionstaff 2016-02-18 17:02:59 CET
*** Bug 37803 has been marked as a duplicate of this bug. ***
Comment 4 Florian Best univentionstaff 2016-05-29 12:53:07 CEST
Created attachment 7696 [details]
patch

Reported again, 4.1-2 errata185 (Vahr)

We finally got the information which helps to understand the problem:

Remark: Dieses Problem tritt auf, wenn in UCS-School im Modul Rechner (Schulen) ein Rechnerkonto aufgerufen wird, welcher sich nicht in folgendem Pfad befindet: "cn=computers,ou=<SCHULE>,dc=abc,dc=efg"

Wird dieser Rechner dorthin verschoben, ist alles OK! Die Rechner befinden sich bei uns in Untercontainern, wodurch dieses Problem auftritt. (z.B. "cn=Trakt1,cn=computers,ou=<SCHULE>,dc=abc,dc=efg")
Ist dies ein Bug oder müssen sich die Rechner aus irgendwelchen anderen Gründen zwingend direkt in "cn=computers,ou=..." befinden?

I attached a (untested) patch which probably fix this problem. Afaics the automatically generated DN is send to the frontend instead of the original DN of the object.
Comment 5 Florian Best univentionstaff 2016-06-13 12:07:53 CEST
This was fixed by Bug #41293.

*** This bug has been marked as a duplicate of bug 41293 ***
Comment 6 Daniel Tröder univentionstaff 2016-06-17 12:07:46 CEST
OK: duplicate of Bug #41293.
OK: Issue is solved (tested manually): computer objects can now be in subtrees below cn=computers,ou=<school>,$BASEDN.
Comment 7 Florian Best univentionstaff 2016-06-28 18:29:30 CEST
UCS@school 4.1 R2 has been released:
http://docs.software-univention.de/release-notes-ucsschool-4.1R2v1-de.pdf

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