Bug 53954 - Remove iTalc support in UCS@school 5.0
Remove iTalc support in UCS@school 5.0
Status: CLOSED FIXED
Product: UCS@school
Classification: Unclassified
Component: UMC - Computer room administration
UCS@school 5.0
Other Mac OS X 10.1
: P5 normal (vote)
: UCS@school 5.0 v1
Assigned To: Tobias Wenzel
Daniel Tröder
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2021-10-19 12:30 CEST by Ole Schwiegert
Modified: 2021-11-29 17:20 CET (History)
3 users (show)

See Also:
What kind of report is it?: Development Internal
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 Ole Schwiegert univentionstaff 2021-10-19 12:30:36 CEST
We want to remove the support for iTalc in UCS@school 5.0

This means all computer rooms are handled as veyon computer rooms.

- We can remove the school role used to identify veyon rooms
- We can remove italc support from the computer room module
- We might want a diagnose module
- How is the upgrade path?
- How to handle hybrid envs with 5.0 primary and 4.4 replicas (that could still have iTalc installed and running)
Comment 1 Florian Best univentionstaff 2021-10-19 12:58:00 CEST
What is this bug exactly about?

I already removed iTALC from the UCS@school 5.0 code.
Comment 2 Tobias Wenzel univentionstaff 2021-11-05 15:36:05 CET
This bug is fixed in https://git.knut.univention.de/univention/ucsschool/-/issues/434


- We can remove the school role used to identify veyon rooms
-> We decided to keep the role as it plays a vital role in mixed/hybrid environments (ucs@school 5.0 on primary, ucs@school 4.4 on replica)

- We can remove italc support from the computer room module
-> this was already done


- How is the upgrade path?

We want to prevent the upgrade for servers with computerrooms with italc-computerrooms 

twenzel/5.0/53954_prevent_italc_computerrooms 

- How to handle hybrid envs with 5.0 primary and 4.4 replicas (that could still have iTalc installed and running)

I tested a hybrid env, italc computerrooms still worked on the replica which was 4.4. The migration of italc -> veyon will still be possible on the respective 4.4 replica (c.f. docu)

UCS@school 5.0 servers, which - in some way, e.g. skip checks during upgrade - manage to upgrade with italc rooms (or mess them up in any other way) do not show italc computers in the UMC Computerroom & UMC Exams. They still will show up in the room management module (but there will no radiobutton anymore). imho this is should be a rare scenario. But...

Mainly for this

- We might want a diagnose module
-> I did write one, but we might want to discuss this: It's currently only installed on primaries, thus only detects problematic objects in single-server envs and "weird" multi-server-envs which also have schools on their primary.
Even better would be to check all ucsschool-replicas, which are joined against the primary - if you have any advice, I'd be happy. 


(don't be misled by the branch name)

twenzel/5.0/53954_remove_veyon_role


additionally, docu & changelog was added
Comment 3 Tobias Wenzel univentionstaff 2021-11-08 16:41:39 CET
We now decided to prevent the upgrade if any computerrooms are present on single-servers & school replicas. primaries will be able to update.

I modified the diagnostic module to check for non-veyon rooms on school servers with ucs 5.0. It will be needed when the upgrade with computerrooms is enabled, but also to detect mistakes in the room configuration, e.g. when rooms are modified via udm.


UCS@school

[twenzel/5.0/53954_remove_veyon_role] 312bd7800 Bug #53953: add diagnostic module
[twenzel/5.0/53954_remove_veyon_role] 9a528d840 Bug #53953: documentation
[twenzel/5.0/53954_remove_veyon_role] ce51cb2f3 Bug #53954: make veyon default


UCS

[twenzel/5.0/53954_prevent_italc_computerrooms] 863bb956af Bug #53954: upgrading to UCS@school 5.0 with existing computer rooms on single-master & replicas is not yet supported
Comment 4 Tobias Wenzel univentionstaff 2021-11-09 15:38:14 CET
replaced ldap-call with ucr

[twenzel/5.0/53954_prevent_italc_computerrooms] 688fe869de Bug #53954: ucr ldap/hostname
Comment 5 Daniel Tröder univentionstaff 2021-11-10 08:44:51 CET
Unintended behavior: if a italc-room is opened in the room management in 5.0 an saved (even without doing any changes), it is "converted" to a veyon room (role appended)
Comment 6 Tobias Wenzel univentionstaff 2021-11-10 12:53:36 CET
I fixed this & improved the print statement in check.sh as requested.
Comment 7 Daniel Tröder univentionstaff 2021-11-10 16:34:58 CET
All well - please merge your changes in ucs and ucsschool to the main branches and build the packages.

I added one commit to make ucslint happy:
[twenzel/5.0/53954_remove_veyon_role d117a42e2] Bug #53954: fix dependency on transitional package
Comment 8 Tobias Wenzel univentionstaff 2021-11-10 17:15:56 CET
Thanks for the QA

[5.0-0] 511a94ec93 Bug #53954: changelog
[5.0-0] 990897146f Bug #53954: Merge branch 'twenzel/5.0/53954_prevent_italc_computerrooms' into 5.0-0
[5.0-0] 8f66598969 Bug #53954: upgrading to UCS@school 5.0 with existing computer rooms on single-master & replicas is not yet supported

check.sh will be released during the UCS@school release as well as the ucs@school documentation + release notes


[5.0] d28075261 Bug #53954: changelogs
[5.0] 4cb921e79 Bug #53954: fix dependency on transitional package
[5.0] 72024e42c Bug #53954: respect italc backend in computerroom put
[5.0] a46511921 Bug #53954: add diagnostic module
[5.0] d1ae0911e Bug #53954: documentation
[5.0] 7616a057b Bug #53954: make veyon default


Package: ucs-school-umc-diagnostic
Version: 2.0.9A~5.0.0.202111101709
Branch: ucs_5.0-0
Scope: ucs-school-5.0


Package: ucs-school-umc-rooms
Version: 17.0.6A~5.0.0.202111101712
Branch: ucs_5.0-0
Scope: ucs-school-5.0

Package: ucs-school-umc-computerroom
Version: 12.0.7A~5.0.0.202111101714
Branch: ucs_5.0-0
Scope: ucs-school-5.0


hoping everything will pass in jenkins :)



have a nice evening!
Comment 9 Tobias Wenzel univentionstaff 2021-11-11 09:44:40 CET
I test in jenkins showed that the veyon backend option was not set when saving 
an existing room. We have to get the role from ldap instead.


Package: ucs-school-umc-rooms
Version: 17.0.7A~5.0.0.202111110941
Branch: ucs_5.0-0
Scope: ucs-school-5.0
Comment 10 Tobias Wenzel univentionstaff 2021-11-11 09:45:30 CET
(In reply to Tobias Wenzel from comment #9)
> I test in jenkins showed that the veyon backend option was not set when

I test -> A test
Comment 11 Daniel Tröder univentionstaff 2021-11-11 10:46:21 CET
Still works as intended after merge and build.
Awaiting nightly Jenkins run before verifying.
Comment 12 Daniel Tröder univentionstaff 2021-11-15 12:10:27 CET
No Jenkins tests related to the computer room have failed.
Comment 13 Daniel Tröder univentionstaff 2021-11-17 14:33:57 CET
The test `21_computerroom_module_base_checks.py` fails, because *new* rooms created in UCS@school 5.0 do not have the `veyon` flag in `ucsschool_role` attribute.

It worked during QA only, because in the UMC code the flag is added explicitly (line 116: room.veyon_backend = True).

This should be done in the ucsschool.lib.

Idea: in ComputerRoom overwrite create_without_hooks_roles():
super().create_without_hooks_roles()
self.veyon_backend = True
Comment 14 Daniel Tröder univentionstaff 2021-11-17 14:34:30 CET
Verify that in Jenkins 21_computerroom_module_base_checks.py is green.
Comment 15 Tobias Wenzel univentionstaff 2021-11-18 13:27:33 CET
Thanks for reopening the bug.
Comment #13 worked as expected.

Package: ucs-school-lib
Version: 13.0.9A~5.0.0.202111181326
Branch: ucs_5.0-0
Scope: ucs-school-5.0
Comment 16 Daniel Tröder univentionstaff 2021-11-18 14:47:47 CET
super() is not valid in Python2.
Comment 17 Tobias Wenzel univentionstaff 2021-11-19 10:34:17 CET
thanks for the remark!

Package: ucs-school-lib
Version: 13.0.10A~5.0.0.202111191033
Branch: ucs_5.0-0
Scope: ucs-school-5.0
Comment 18 Daniel Tröder univentionstaff 2021-11-19 13:12:37 CET
OK: works in Python 2 + 3
OK: new rooms are yevon rooms (ucsschoolRole=['computer_room:school:$OU',
  'veyon-backend:school:-']
OK: rooms from 4.4 / non-veyon rooms are not "migrated" (ucsschoolRole added) when edited in 5.0

Reopen: Please remove line 116: (room.veyon_backend = True) from schoolrooms/__init__.py. It is not needed anymore.

Then only the Jenkins test tonight is missing for verification.
Comment 19 Tobias Wenzel univentionstaff 2021-11-19 13:22:05 CET
5.0 - Bug #53954: veyon_backend is set in ucsschool.lib    

Package: ucs-school-umc-rooms
Version: 17.0.8A~5.0.0.202111191320
Branch: ucs_5.0-0
Scope: ucs-school-5.0
Comment 20 Daniel Tröder univentionstaff 2021-11-22 11:55:02 CET
All exam / room tests are green.
Comment 21 Jürn Brodersen univentionstaff 2021-11-29 17:20:34 CET
UCS@school 5.0 v1 has been released.

https://docs.software-univention.de/release-notes-ucsschool-5.0v1-de.html

If this error occurs again, please clone this bug.