Bug 40902 - Computerroom unexpectedly removes exam status
Computerroom unexpectedly removes exam status
Status: CLOSED DUPLICATE of bug 40901
Product: UCS@school
Classification: Unclassified
Component: UMC - Exam mode
UCS@school 4.1
Other Linux
: P5 normal (vote)
: UCS@school 4.1 R2 vXXX
Assigned To: Florian Best
Sönke Schwardt-Krummrich
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2016-03-15 12:38 CET by Sönke Schwardt-Krummrich
Modified: 2016-12-08 13:45 CET (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):
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Sönke Schwardt-Krummrich univentionstaff 2016-03-15 12:38:28 CET
+++ This bug was initially created as a clone of Bug #40901 +++

A customer reported that a teacher started an exam and did some changes to the room settings and afterwards the exam was no longer shown in computerroom module. But all computers were still member of the special exam group and also all exam users did still exist. For the teacher there is no chance to stop the running exam.

In UCS@school 4.1 it was reproducible via:
1) open the computerroom and open a room
2) start a new exam via the exam wizard for the room, previously selected in 
   computerroom module
2a) use the "jump to computerroom" button
3) the computerroom still shows the room but does not show that there is an 
   running exam. The view looks like a "normal room".
4) edit room settings (reset all settings to default) and then save
   → internal status is now broken

By performing step 2a) the computerroom module does not reload the current status of the computerroom and is therefore unaware of the exam.
When changing the computerroom setting, the UMCP command "computerroom/settings/set" is called and removes the status from roomInfo file. See log file /var/log/univention/management-console-module-computerroom.log:

15.03.16 11:43:14.715  PARSER      ( INFO    ) : UMCP REQUEST 145803859467386-34144 parsed successfully
15.03.16 11:43:14.715  MODULE      ( INFO    ) : Received request 145803859467386-34144
15.03.16 11:43:14.715  PROTOCOL    ( INFO    ) : Received UMCP COMMAND REQUEST 145803859467386-34144
15.03.16 11:43:14.715  MODULE      ( INFO    ) : Executing ['computerroom/settings/set']
15.03.16 11:43:14.731  MODULE      ( INFO    ) : unsetting room settings for exam (test3): /usr/share/ucs-school-umc-computerroom/ucs-school-deactivate-rules -r samba/sharemode/room/Raum1 -r proxy/filter/room/Raum1/rule -e samba/othershar
es/hosts/deny -e samba/share/Marktplatz/hosts/deny -e proxy/filter/room/Raum1/ip 10.200.18.10
15.03.16 11:43:21.522  MODULE      ( INFO    ) : iTALC users:
15.03.16 11:43:21.522  MODULE      ( INFO    ) : Reloading cups
15.03.16 11:43:22.515  MODULE      ( INFO    ) : updating room info/lock file...
15.03.16 11:43:22.516  MODULE      ( INFO    ) : Writing info file for room "cn=gsmitte-Raum1,cn=raeume,cn=groups,ou=gsmitte,dc=nstx,dc=local": {'examDescription': None, 'exam': None, 'room': 'cn=gsmitte-Raum1,cn=raeume,cn=groups,ou=gsmit
te,dc=nstx,dc=local', 'examEndTime': None, 'cmd': None, 'pid': 26298, 'user': 'uid=Administrator,cn=users,dc=nstx,dc=local'}
15.03.16 11:43:22.516  PROTOCOL    ( INFO    ) : Sending UMCP RESPONSE 145803859467386-34144

The room info file now contains no trace of a running exam:

root@master63:/var/cache/ucs-school-umc-computerroom# cat gsmitte-Raum1
examDescription=test3
exam=test3
room=cn=gsmitte-Raum1,cn=raeume,cn=groups,ou=gsmitte,dc=nstx,dc=local
examEndTime=11:25
cmd=/usr/share/ucs-school-umc-computerroom/ucs-school-deactivate-rules -r samba/sharemode/room/Raum1 -r proxy/filter/room/Raum1/rule -e samba/othershares/hosts/deny -e samba/share/Marktplatz/hosts/deny -e proxy/filter/room/Raum1/ip 10.200.18.10
pid=26298
user=uid=Administrator,cn=users,dc=nstx,dc=local
root@master63:/var/cache/ucs-school-umc-computerroom# cat gsmitte-Raum1
room=cn=gsmitte-Raum1,cn=raeume,cn=groups,ou=gsmitte,dc=nstx,dc=local
pid=26298
user=uid=Administrator,cn=users,dc=nstx,dc=local
root@master63:/var/cache/ucs-school-umc-computerroom#

In ucs-school-umc-computerroom/umc/python/computerroom/__init__.py the function settings_set(self, request) uses the room info file for removing the room setting but then uses the "exam" argument provided by the UMCP request for writing a new room info file. Since the frontend uses outdated information, the exam status gets lost.
Comment 1 Sönke Schwardt-Krummrich univentionstaff 2016-03-15 12:39:03 CET
Has to be fixed in UCS@school 4.1, too.
Comment 2 Florian Best univentionstaff 2016-07-05 13:20:44 CEST

*** This bug has been marked as a duplicate of bug 40901 ***