Bug 52463 - automatically install veyon proxy app on UCS@school schoolserver
automatically install veyon proxy app on UCS@school schoolserver
Product: UCS@school
Classification: Unclassified
Component: Join - Hook
UCS@school 4.4
Other Linux
: P5 normal (vote)
: UCS@school 4.4 v9
Assigned To: Daniel Tröder
Ole Schwiegert
Depends on:
  Show dependency treegraph
Reported: 2020-12-07 11:47 CET by Daniel Tröder
Modified: 2021-07-05 18:39 CEST (History)
3 users (show)

See Also:
What kind of report is it?: Feature Request
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:


Note You need to log in before you can comment on or make changes to this bug.
Description Daniel Tröder univentionstaff 2020-12-07 11:47:57 CET
The Veyon proxy app should automatically be install on UCS@school singlemaster and schoolserver systems.
Comment 1 Daniel Tröder univentionstaff 2020-12-07 16:25:25 CET
The installation of the Veyon proxy app on a UCS@school singlemaster will be handled in Bug 52465.
Comment 2 Daniel Tröder univentionstaff 2020-12-08 13:37:11 CET
From UCS@school 4.4 v9 on, the ucsschool pre-joinscripts hook now installs the "ucsschool-veyon-proxy" app on school servers.

The VERSIONs of the multimaster and singlemaster join scripts was raised. For the singlemaster too, so the hook is installed everywhere in the same version.

Code commited to branch "dtroeder/52463_install_veyon_in_multiserver_env":

18902ae20 Bug #52463: refactor subprocess calling code
3c113af64 Bug #52463: log installed ucsschool version
502676793 Bug #52463: pre-joinscripts hook installs ucsschool-veyon-proxy app on school servers
8bd64cf90 Bug #52463: unit test for veyon-proxy app installation function

QA: Currently the "ucsschool-veyon-proxy" app fails to install. This is a problem in the app, not in the scope of this bug.
To test the hook, on the master edit /usr/share/ucs-school-metapackage/ucsschool-join-hook.py and set VEYON_APP_ID to "ox-connector" (line 59).
Then run "univention-run-join-scripts --run-scripts --force 62ucs-school-master.inst" to install the modified hook in LDAP.
Afterwards run "univention-run-join-scripts" on the school server and finally read "/var/log/univention/join.log".
This should install the "ox-connector" app on the school server. It is also a Docker based app.
Repeated runs of "univention-run-join-scripts" should not try to install it again. If the app is uninstalled, the hook should reinstall it.
Comment 3 Daniel Tröder univentionstaff 2020-12-08 15:04:55 CET
Merge request: https://git.knut.univention.de/univention/ucsschool/-/merge_requests/5
Comment 4 Daniel Tröder univentionstaff 2020-12-09 16:06:12 CET
The join script does not abort anymore, when the 'UCS@school Veyon Proxy' app cannot be installed.

850ab6077 fixup! Bug #52463: unit test for veyon-proxy app installation function
eec5f87b6 fixup! Bug #52463: refactor subprocess calling code
951ba689a fixup! Bug #52463: pre-joinscripts hook installs ucsschool-veyon-proxy app on school servers
Comment 5 Ole Schwiegert univentionstaff 2020-12-14 14:25:20 CET
Currently the Unittests fail when building on my test VM please fix.

I deactivated the Unittests for testing purposes.

Veyon App installation fails during pre-join -> log message and join proceeds properly

Veyon App gets installed during pre-join and join proceeds properly.

If the Unittests pass then squash/fixup, merge the request and build.
Comment 6 Daniel Tröder univentionstaff 2020-12-14 16:42:17 CET
Tests succeed now.
Commits have been squashed.
Branch was merged.
Packages built and advisories written.

[4.4] f5b123efe Bug #52463: pre-joinscripts hook installs ucsschool-veyon-proxy app on school servers
[4.4] ecb499076 Bug #52463: diagnostic module to check veyon proxy app installation
[4.4] de5cfc44e Bug #52463: Merge branch 'dtroeder/52463_install_veyon_in_multiserver_env' into 4.4
[4.4] 8cdcabf15 Bug #52463: changelogs and advisories
[4.4] 9e1040de5 Bug #52463: advisory updates

ucs-school-metapackage (12.0.4-3)
ucs-school-umc-diagnostic (1.0.0-15)
Comment 7 Ole Schwiegert univentionstaff 2020-12-15 11:27:49 CET
Advisory&Changelog: OK
Jenkins: OK
Final manual tests: OK
Comment 8 Daniel Tröder univentionstaff 2021-01-18 12:19:00 CET
The package was rebuild with the code from before bugs 52463, 52525 and 52523:

[4.4] 46169f8dd Bug #52519: advisory for package build from branch 'dtroeder/52519_prior_to_f5b123efe' (f5b123efe plus 10cb26b49, no changes from 52463|52525|52523)

The package was rebuild with the current code:

[4.4] 0ec11a422 Bug #52463, Bug #52523, Bug #52525: bump for build from 4.4
[4.4] 12a446a0c Bug #52463, Bug #52523, Bug #52525: advisory update

New code was added in the hope to make installation in multi server scenarios on replication nodes more robust. We'll see in the Jenkins tests...:

[4.4] a85a26783 Bug #52463: make ucsschool installation in pre-join hook more robust
[4.4] f754a3af6 Bug #52463: update advisory

ucs-school-metapackage (12.0.4-9)
Comment 9 Ole Schwiegert univentionstaff 2021-03-18 09:20:47 CET
QAed via product tests
Changelog&Advisory: OK
Comment 10 Tobias Wenzel univentionstaff 2021-03-24 14:09:44 CET
UCS@school 4.4 v9 has been released.


If this error occurs again, please clone this bug.
Comment 11 Florian Best univentionstaff 2021-07-05 18:39:34 CEST
What was the rationale to use python-appcenter directly in the diagnose script 910_ucsschool_veyon_app_installed.py instead of subprocess with univention-app CLI calls?