Problem: The ucs@school configuration wizard causes a traceback

Problem:

After installing the ucschool app on a school slave you get the following traceback

Traceback (most recent call last):  
  File "/usr/lib/pymodules/python2.7/univention/management/console/base.py", line 253, in execute  
    function.__func__(self, request, *args, **kwargs)
  File "/usr/lib/pymodules/python2.7/univention/management/console/modules/decorators.py", line 192, in _response  
    return function(self, request)  
  File "/usr/lib/pymodules/python2.7/univention/management/console/modules/decorators.py", line 318, in _response
    result = _multi_response(self, request)
  File "/usr/lib/pymodules/python2.7/univention/management/console/modules/decorators.py", line 192, in _response
    return function(self, request)
  File "/usr/lib/pymodules/python2.7/univention/management/console/modules/decorators.py", line 440, in _response
    return list(function(self, iterator, *nones))
  File "/usr/lib/pymodules/python2.7/univention/management/console/modules/decorators.py", line 286, in _fake_func
    yield function(self, *args)
  File "/usr/lib/pymodules/python2.7/univention/management/console/modules/schoolinstaller/__init__.py", line 436, in get_schoolinfo_master
    educational_slaves = [SchoolDCSlave.from_dn(dn, None, lo).name for dn in school.educational_servers]
  File "/usr/lib/pymodules/python2.7/ucsschool/lib/models/base.py", line 912, in from_dn
    raise WrongObjectType(dn, cls)
WrongObjectType: Wrong objectClass: 'cn=member-02,cn=server,cn=computers,ou=sun,dc=schein,dc=me' is not a 'SchoolDCSlave'.", "location": "https://master.schein.me/univention/command"}
  • Addional information:
    There are already school-slaves and and school-memberservers in the environment.

Investigation:

The memberserver member-02 seems to be recognized in “school groups” where he is not expected.
Find edu-groups:

udm computers/memberserver list --filter=cn=member-02 | grep "DC-Eduka" | sed -nre 's/  groups: /  groups=/p'

Solution:

Remove these groups:

udm computers/memberserver modify --dn cn=member-02,cn=server,cn=computers,ou=sun,dc=schein,dc=me $(udm computers/memberserver list --filter=cn=member-02 | grep "DC-Eduka" | sed -nre 's/  groups: (.*)/ --remove groups="\1"/p' | tr '\n' ' ')

And restart the configuration wizard

Mastodon