Bug 56269 - univention.admin.uexceptions.noSuperordinate: Die angegebenen Informationen reichen nicht aus: Kein übergeordnetes Objekt angegeben./univention/command/schoolrooms/put:
univention.admin.uexceptions.noSuperordinate: Die angegebenen Informationen r...
Status: NEW
Product: UCS@school
Classification: Unclassified
Component: UMC - Computer room
UCS@school 5.0
Other Windows NT
: P5 normal (vote)
: ---
Assigned To: UCS@school maintainers
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2023-07-06 14:00 CEST by Maximilian Janßen
Modified: 2023-10-06 10:58 CEST (History)
3 users (show)

See Also:
What kind of report is it?: Bug Report
What type of bug is this?: 3: Simply Wrong: The implementation doesn't match the docu
Who will be affected by this bug?: 3: Will affect average number of installed domains
How will those affected feel about the bug?: 2: A Pain – users won’t like this once they notice it
User Pain: 0.103
Enterprise Customer affected?:
School Customer affected?: Yes
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number: 2023070421000335, 2023073021000107, 2023091221000638, 2023091921000161, 2023091921000143
Bug group (optional): External feedback
Max CVSS v3 score:


Attachments
Script to reproduce (439 bytes, text/x-python)
2023-10-04 22:39 CEST, Jürn Brodersen
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Maximilian Janßen univentionstaff 2023-07-06 14:00:04 CEST
Version: 5.0-4 errata721 - UCS@school 5.0 v3

Error:
Interner Server-Fehler in "/univention/command/schoolrooms/put".
Request: /univention/command/schoolrooms/put

Traceback (most recent call last):
  File "%PY3%/univention/management/console/base.py", line 383, 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 281, in execute
    function.__func__(self, request, *args, **kwargs)
  File "%PY3%/univention/management/console/modules/decorators.py", line 186, in _response
    return function(self, request)
  File "%PY3%/ucsschool/lib/school_umc_ldap_connection.py", line 156, in wrapper_func
    return func(*args, **kwargs)
  File "%PY3%/univention/management/console/modules/schoolrooms/__init__.py", line 151, in put
    ldap_user_write,
  File "%PY3%/univention/management/console/modules/schoolrooms/__init__.py", line 205, in _set_teacher_computers
    computer.modify(ldap_user_write)
  File "%PY3%/ucsschool/lib/models/base.py", line 619, in modify
    success = self.modify_without_hooks(lo, validate, move_if_necessary)
  File "%PY3%/ucsschool/lib/models/computer.py", line 308, in modify_without_hooks
    self.create_network(lo)
  File "%PY3%/ucsschool/lib/models/computer.py", line 342, in create_network
    network.create(lo)
  File "%PY3%/ucsschool/lib/models/base.py", line 552, in create
    success = self.create_without_hooks(lo, validate)
  File "%PY3%/ucsschool/lib/models/network.py", line 79, in create_without_hooks
    dhcp_subnet.create(lo)
  File "%PY3%/ucsschool/lib/models/base.py", line 552, in create
    success = self.create_without_hooks(lo, validate)
  File "%PY3%/ucsschool/lib/models/base.py", line 582, in create_without_hooks
    self.do_create(udm_obj, lo)
  File "%PY3%/ucsschool/lib/models/base.py", line 607, in do_create
    udm_obj.create()
  File "%PY3%/univention/admin/handlers/__init__.py", line 555, in create
    self.ready()
  File "%PY3%/univention/admin/handlers/dhcp/__common.py", line 194, in ready
    super(DHCPBaseSubnet, self).ready()
  File "%PY3%/univention/admin/handlers/__init__.py", line 334, in ready
    self._validate_superordinate(True)
  File "%PY3%/univention/admin/handlers/__init__.py", line 1037, in _validate_superordinate
    raise univention.admin.uexceptions.noSuperordinate(_('No superordinate object given'))
univention.admin.uexceptions.noSuperordinate: Die angegebenen Informationen reichen nicht aus: Kein übergeordnetes Objekt angegeben.

Role: domaincontroller_master
Comment 1 Mika Westphal univentionstaff 2023-09-18 11:42:05 CEST
5.0-4 errata801 - UCS@school 5.0 v4

Interner Server-Fehler in "schoolrooms/put".
Request: schoolrooms/put

Traceback (most recent call last):
  File "%PY3%/univention/management/console/base.py", line 387, 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 285, in execute
    function.__func__(self, request, *args, **kwargs)
  File "%PY3%/univention/management/console/modules/decorators.py", line 189, in _response
    return function(self, request)
  File "%PY3%/ucsschool/lib/school_umc_ldap_connection.py", line 156, in wrapper_func
    return func(*args, **kwargs)
  File "%PY3%/univention/management/console/modules/schoolrooms/__init__.py", line 151, in put
    ldap_user_write,
  File "%PY3%/univention/management/console/modules/schoolrooms/__init__.py", line 194, in _set_teacher_computers
    computer.modify(ldap_user_write)
  File "%PY3%/ucsschool/lib/models/base.py", line 619, in modify
    success = self.modify_without_hooks(lo, validate, move_if_necessary)
  File "%PY3%/ucsschool/lib/models/computer.py", line 308, in modify_without_hooks
    self.create_network(lo)
  File "%PY3%/ucsschool/lib/models/computer.py", line 342, in create_network
    network.create(lo)
  File "%PY3%/ucsschool/lib/models/base.py", line 552, in create
    success = self.create_without_hooks(lo, validate)
  File "%PY3%/ucsschool/lib/models/network.py", line 79, in create_without_hooks
    dhcp_subnet.create(lo)
  File "%PY3%/ucsschool/lib/models/base.py", line 552, in create
    success = self.create_without_hooks(lo, validate)
  File "%PY3%/ucsschool/lib/models/base.py", line 582, in create_without_hooks
    self.do_create(udm_obj, lo)
  File "%PY3%/ucsschool/lib/models/base.py", line 607, in do_create
    udm_obj.create()
  File "%PY3%/univention/admin/handlers/__init__.py", line 555, in create
    self.ready()
  File "%PY3%/univention/admin/handlers/dhcp/__common.py", line 194, in ready
    super(DHCPBaseSubnet, self).ready()
  File "%PY3%/univention/admin/handlers/__init__.py", line 334, in ready
    self._validate_superordinate(True)
  File "%PY3%/univention/admin/handlers/__init__.py", line 1037, in _validate_superordinate
    raise univention.admin.uexceptions.noSuperordinate(_('No superordinate object given'))
univention.admin.uexceptions.noSuperordinate: Die angegebenen Informationen reichen nicht aus: Kein übergeordnetes Objekt angegeben.
Comment 2 Christina Scheinig univentionstaff 2023-09-19 13:07:39 CEST
UCS: 5.0-5 errata804 ucsschool=5.0 v4
A customer reported this via Ticket 2023091921000161
Comment 3 Mika Westphal univentionstaff 2023-09-26 13:15:51 CEST
5.0-5 errata804 - UCS@school 5.0 v4

Interner Server-Fehler in "schoolrooms/add".
Request: schoolrooms/add

Traceback (most recent call last):
  File "%PY3%/univention/management/console/base.py", line 387, 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 285, in execute
    function.__func__(self, request, *args, **kwargs)
  File "%PY3%/univention/management/console/modules/decorators.py", line 189, in _response
    return function(self, request)
  File "%PY3%/ucsschool/lib/school_umc_ldap_connection.py", line 156, in wrapper_func
    return func(*args, **kwargs)
  File "%PY3%/univention/management/console/modules/schoolrooms/__init__.py", line 126, in add
    ldap_user_write,
  File "%PY3%/univention/management/console/modules/schoolrooms/__init__.py", line 194, in _set_teacher_computers
    computer.modify(ldap_user_write)
  File "%PY3%/ucsschool/lib/models/base.py", line 619, in modify
    success = self.modify_without_hooks(lo, validate, move_if_necessary)
  File "%PY3%/ucsschool/lib/models/computer.py", line 308, in modify_without_hooks
    self.create_network(lo)
  File "%PY3%/ucsschool/lib/models/computer.py", line 342, in create_network
    network.create(lo)
  File "%PY3%/ucsschool/lib/models/base.py", line 552, in create
    success = self.create_without_hooks(lo, validate)
  File "%PY3%/ucsschool/lib/models/network.py", line 79, in create_without_hooks
    dhcp_subnet.create(lo)
  File "%PY3%/ucsschool/lib/models/base.py", line 552, in create
    success = self.create_without_hooks(lo, validate)
  File "%PY3%/ucsschool/lib/models/base.py", line 582, in create_without_hooks
    self.do_create(udm_obj, lo)
  File "%PY3%/ucsschool/lib/models/base.py", line 607, in do_create
    udm_obj.create()
  File "%PY3%/univention/admin/handlers/__init__.py", line 555, in create
    self.ready()
  File "%PY3%/univention/admin/handlers/dhcp/__common.py", line 194, in ready
    super(DHCPBaseSubnet, self).ready()
  File "%PY3%/univention/admin/handlers/__init__.py", line 334, in ready
    self._validate_superordinate(True)
  File "%PY3%/univention/admin/handlers/__init__.py", line 1037, in _validate_superordinate
    raise univention.admin.uexceptions.noSuperordinate(_('No superordinate object given'))
univention.admin.uexceptions.noSuperordinate: Die angegebenen Informationen reichen nicht aus: Kein übergeordnetes Objekt angegeben.
Comment 4 Jürn Brodersen univentionstaff 2023-10-04 22:39:09 CEST
Created attachment 11134 [details]
Script to reproduce

This happens if you delete the dhcp server object under the school. E.g. "cn=school1,cn=dhcp,ou=school1,dc=school,dc=test"

Workaround: recreate it
```
udm dhcp/service create --position cn=dhcp,ou=school1,dc=school,dc=test --set name=school1
```

How to reproduce:
```
udm dhcp/service remove --dn cn=school1,cn=dhcp,ou=school1,dc=school,dc=test
python3 network_test.py  # See Attachment
```