Univention Bugzilla – Bug 54098
computerroom/exam/finish: AttributeError: invalid key 'Administrator'
Last modified: 2023-07-06 13:45:11 CEST
Version: 4.4-8 errata1091 (Blumenthal) - UCS@school 4.4 v9 Error: Interner Server-Fehler in "computerroom/exam/finish". Request: computerroom/exam/finish Traceback (most recent call last): File "%PY2.7%/univention/management/console/base.py", line 359, in __error_handling six.reraise(etype, exc, etraceback) File "%PY2.7%/univention/management/console/base.py", line 262, in execute function.__func__(self, request, *args, **kwargs) File "%PY2.7%/univention/management/console/modules/computerroom/__init__.py", line 209, in _decorated return func(self, *args, **kwargs) File "%PY2.7%/univention/management/console/modules/decorators.py", line 321, in _response result = _multi_response(self, request) File "%PY2.7%/univention/management/console/modules/decorators.py", line 181, in _response return function(self, request) File "%PY2.7%/univention/management/console/modules/decorators.py", line 443, in _response return list(function(self, iterator, *nones)) File "%PY2.7%/univention/management/console/modules/decorators.py", line 289, in _fake_func yield function(self, *args) File "%PY2.7%/univention/management/console/modules/computerroom/__init__.py", line 748, in finish_exam self._settings_set(printMode="default", internetRule="none", shareMode="all", customRule="") File "%PY2.7%/univention/management/console/modules/computerroom/__init__.py", line 209, in _decorated return func(self, *args, **kwargs) File "%PY2.7%/univention/management/console/modules/computerroom/__init__.py", line 817, in _settings_set self.reset_smb_connections() File "%PY2.7%/univention/management/console/modules/computerroom/__init__.py", line 951, in reset_smb_connections italc_users = [x.lower() for x in self._italc.users if x] File "%PY2.7%/univention/management/console/modules/computerroom/room_management.py", line 784, in users if x.user.current and x.connected() File "%PY2.7%/univention/management/console/modules/computerroom/room_management.py", line 118, in __getitem__ self._read_user(user) File "%PY2.7%/ucsschool/lib/school_umc_ldap_connection.py", line 145, in wrapper_func return func(*args, **kwargs) File "%PY2.7%/univention/management/console/modules/computerroom/room_management.py", line 132, in _read_user username = self.validate_userstr(userstr) File "%PY2.7%/univention/management/console/modules/computerroom/room_management.py", line 124, in validate_userstr raise AttributeError("invalid key {!r}".format(userstr)) AttributeError: invalid key 'Administrator'
This also occurs in a customer environment, when a teacher sets the internet rules. The rukes get applied but also the traceback pops up: 29.11.21 10:01:00.345 MAIN ( ERROR ) : Interner Server-Fehler in "computerroom/settings/set". Request: computerroom/settings/set Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/univention/management/console/base.py", line 359, in __error_handling six.reraise(etype, exc, etraceback) File "/usr/lib/python2.7/dist-packages/univention/management/console/base.py", line 262, in execute function.__func__(self, request, *args, **kwargs) File "/usr/lib/python2.7/dist-packages/univention/management/console/modules/decorators.py", line 181, in _response return function(self, request) File "/usr/lib/python2.7/dist-packages/univention/management/console/modules/decorators.py", line 321, in _response result = _multi_response(self, request) File "/usr/lib/python2.7/dist-packages/univention/management/console/modules/decorators.py", line 181, in _response return function(self, request) File "/usr/lib/python2.7/dist-packages/univention/management/console/modules/decorators.py", line 443, in _response return list(function(self, iterator, *nones)) File "/usr/lib/python2.7/dist-packages/univention/management/console/modules/decorators.py", line 289, in _fake_func yield function(self, *args) File "/usr/lib/python2.7/dist-packages/univention/management/console/modules/computerroom/__init__.py", line 784, in settings_set return self._settings_set(printMode, internetRule, shareMode, period, customRule) File "/usr/lib/python2.7/dist-packages/univention/management/console/modules/computerroom/__init__.py", line 209, in _decorated return func(self, *args, **kwargs) File "/usr/lib/python2.7/dist-packages/univention/management/console/modules/computerroom/__init__.py", line 940, in _settings_set self.reset_smb_connections() File "/usr/lib/python2.7/dist-packages/univention/management/console/modules/computerroom/__init__.py", line 951, in reset_smb_connections italc_users = [x.lower() for x in self._italc.users if x] File "/usr/lib/python2.7/dist-packages/univention/management/console/modules/computerroom/room_management.py", line 784, in users if x.user.current and x.connected() File "/usr/lib/python2.7/dist-packages/univention/management/console/modules/computerroom/room_management.py", line 118, in __getitem__ self._read_user(user) File "/usr/lib/python2.7/dist-packages/ucsschool/lib/school_umc_ldap_connection.py", line 145, in wrapper_func return func(*args, **kwargs) File "/usr/lib/python2.7/dist-packages/univention/management/console/modules/computerroom/room_management.py", line 132, in _read_user username = self.validate_userstr(userstr) File "/usr/lib/python2.7/dist-packages/univention/management/console/modules/computerroom/room_management.py", line 124, in validate_userstr raise AttributeError("invalid key {!r}".format(userstr)) AttributeError: invalid key 'chrneuma'
Same environment, but this traceback. The customerr wants to know, where this come from. Interner Server-Fehler in "computerroom/exam/finish". Request: computerroom/exam/finish Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/univention/management/console/base.py", line 359, in __error_handling six.reraise(etype, exc, etraceback) File "/usr/lib/python2.7/dist-packages/univention/management/console/base.py", line 262, in execute function.__func__(self, request, *args, **kwargs) File "/usr/lib/python2.7/dist-packages/univention/management/console/modules/computerroom/__init__.py", line 209, in _decorated return func(self, *args, **kwargs) File "/usr/lib/python2.7/dist-packages/univention/management/console/modules/decorators.py", line 321, in _response result = _multi_response(self, request) File "/usr/lib/python2.7/dist-packages/univention/management/console/modules/decorators.py", line 181, in _response return function(self, request) File "/usr/lib/python2.7/dist-packages/univention/management/console/modules/decorators.py", line 443, in _response return list(function(self, iterator, *nones)) File "/usr/lib/python2.7/dist-packages/univention/management/console/modules/decorators.py", line 289, in _fake_func yield function(self, *args) File "/usr/lib/python2.7/dist-packages/univention/management/console/modules/computerroom/__init__.py", line 748, in finish_exam self._settings_set(printMode="default", internetRule="none", shareMode="all", customRule="") File "/usr/lib/python2.7/dist-packages/univention/management/console/modules/computerroom/__init__.py", line 209, in _decorated return func(self, *args, **kwargs) File "/usr/lib/python2.7/dist-packages/univention/management/console/modules/computerroom/__init__.py", line 817, in _settings_set self.reset_smb_connections() File "/usr/lib/python2.7/dist-packages/univention/management/console/modules/computerroom/__init__.py", line 951, in reset_smb_connections italc_users = [x.lower() for x in self._italc.users if x] File "/usr/lib/python2.7/dist-packages/univention/management/console/modules/computerroom/room_management.py", line 784, in users if x.user.current and x.connected() File "/usr/lib/python2.7/dist-packages/univention/management/console/modules/computerroom/room_management.py", line 118, in __getitem__ self._read_user(user) File "/usr/lib/python2.7/dist-packages/ucsschool/lib/school_umc_ldap_connection.py", line 145, in wrapper_func return func(*args, **kwargs) File "/usr/lib/python2.7/dist-packages/univention/management/console/modules/computerroom/room_management.py", line 132, in _read_user username = self.validate_userstr(userstr) File "/usr/lib/python2.7/dist-packages/univention/management/console/modules/computerroom/room_management.py", line 124, in validate_userstr raise AttributeError("invalid key {!r}".format(userstr)) AttributeError: invalid key 'exam-nadhepp'
AttributeError: invalid key 'Administrator' AttributeError: invalid key 'chrneuma' -> This looks like this is a local user, who is logged in on a computer which is part of the computer room. AttributeError: invalid key 'exam-nadhepp' -> This looks like an exam-user, which is still logged from an exam before. When starting an exam, there is an option to reboot the clients. => try to logout all remaining users in the computer room before running UMC computer room operations I think we need to have more comprehensive responses from the UMC computer room, e.g. a popup which says: there is a non-ldap-user logged in on a client in the computer room you are using. please log this person out while running UMC computer room operations.
*** Bug 52567 has been marked as a duplicate of this bug. ***
This can happen if the computer running italc could not connect to the domain controller. italc asks the dc for the first and last name to create the formatted username string. If the dc does not answer only the username without the brackets is returned and the "ITALC_USER_REGEX" regex in room_management.py doesn't work anymore. How to reproduce: - Login in to the italc pc - Stop samba - Stop any running computerroom umc modules - Restart italk through the management console (to clean any caches) - Open the computerroom module - Only the username and not the first/last name should be shown as the pc user - Editing the room setting (e.g. disable internet access) should now throw this error Notes: I suspect similar problems with veyon, but I have not tested it. Relevant italc code: lib/src/LocalSystem.cpp: void User::lookupFullName() lib/include/LocalSystem.h: const QString &fullName()
Version: 4.4-8 errata1204 (Blumenthal) - UCS@school 4.4 v9 Remark: Nach einer paedml Neuinstallation. erfolgt die Fehlermeldung, wenn auf einen PC irgendeine Aktion angewandt werden soll (Drucker Verbieten, Freigabeeinschränkung, Internetbeschränkung). Error: Interner Server-Fehler in "computerroom/settings/set". Request: computerroom/settings/set Traceback (most recent call last): File "%PY2.7%/univention/management/console/base.py", line 359, in __error_handling six.reraise(etype, exc, etraceback) File "%PY2.7%/univention/management/console/base.py", line 262, in execute function.__func__(self, request, *args, **kwargs) File "%PY2.7%/univention/management/console/modules/decorators.py", line 181, in _response return function(self, request) File "%PY2.7%/univention/management/console/modules/decorators.py", line 321, in _response result = _multi_response(self, request) File "%PY2.7%/univention/management/console/modules/decorators.py", line 181, in _response return function(self, request) File "%PY2.7%/univention/management/console/modules/decorators.py", line 443, in _response return list(function(self, iterator, *nones)) File "%PY2.7%/univention/management/console/modules/decorators.py", line 289, in _fake_func yield function(self, *args) File "%PY2.7%/univention/management/console/modules/computerroom/__init__.py", line 784, in settings_set return self._settings_set(printMode, internetRule, shareMode, period, customRule) File "%PY2.7%/univention/management/console/modules/computerroom/__init__.py", line 209, in _decorated return func(self, *args, **kwargs) File "%PY2.7%/univention/management/console/modules/computerroom/__init__.py", line 940, in _settings_set self.reset_smb_connections() File "%PY2.7%/univention/management/console/modules/computerroom/__init__.py", line 951, in reset_smb_connections italc_users = [x.lower() for x in self._italc.users if x] File "%PY2.7%/univention/management/console/modules/computerroom/room_management.py", line 784, in users if x.user.current and x.connected() File "%PY2.7%/univention/management/console/modules/computerroom/room_management.py", line 118, in __getitem__ self._read_user(user) File "%PY2.7%/ucsschool/lib/school_umc_ldap_connection.py", line 145, in wrapper_func return func(*args, **kwargs) File "%PY2.7%/univention/management/console/modules/computerroom/room_management.py", line 132, in _read_user username = self.validate_userstr(userstr) File "%PY2.7%/univention/management/console/modules/computerroom/room_management.py", line 124, in validate_userstr raise AttributeError("invalid key {!r}".format(userstr)) AttributeError: invalid key 'Administrator' Role: domaincontroller_master
Remark: Ich kann die aktivierte Klassenaebeit nicht löschen. Hier kommt immer, dass wegen eines Fehlers nicht beendetwerden kann.