Univention Bugzilla – Bug 50578
Disabling of DEMOSCHOOL creation has no effect if another system joins
Last modified: 2020-03-25 16:09:26 CET
I encountered this bug while installing a fresh UCS environment. Situation: - an empty environment without UCS systems Reproduction: - the UCS master was installed - UCS@School was not yet installed - the UCR variable ucsschool/join/create_demo got set to 'no' - UCS@School was installed and configured - The DEMOSCHOOL was not created as expected - The UCS Backup was installed and during the installation process joined - after the install was finished the DEMOSCHOOL was created Conclusion: - UCS@school gets installed during the join of the UCS backup. - Since the UCSV ucsschool/join/create_demo is not set, on the backup, a DEMOSCHOOL is created. Expected Behaviour: - the DEMOSCHOOL is not created during a join process.
Happend again: https://help.univention.com/t/ucs-school-einrichten-von-demoschool/14152/
I think the problem originates from my believe that 62ucs-school-master.inst would be run on masters only and not masters and backup. Hence he following code section should also include a check for the server role "master" if is_ucr_true "ucsschool/join/create_demo"; then [ -d /etc/ucsschool ] || mkdir -p /etc/ucsschool touch /etc/ucsschool/demoschool.secret chmod 640 /etc/ucsschool/demoschool.secret makepasswd --chars 16 > /etc/ucsschool/demoschool.secret python /usr/share/ucs-school-metapackage/scripts/create_demoportal.py univention-config-registry set ucsschool/join/create_demo=no fi
The specific code part of the join script that creates a demo school should only be run on a DC master.
I added the suggested check in 62ucs-school-master.inst. After (re-)running the join-script, no demoschool was created. The scenario can be reproduced by: - installing ucsschool on master and set ucrv ucsschool/join/create_demo -> check if demoschool was not created. - install ucs on backup without joining the domain after installation - set ucrv to no and join -> check if demoschool was not created. - unset ucrv and alter script - rerun altered script $ univention-run-join-scripts --force --run-scripts 62ucs-school-master.inst -> check if demoschool was not created. The check was done by: $ univention-ldapsearch -LLL -b "ou=DEMOSCHOOL,$(ucr get ldap/base)" dn [4.4] 66bf63dcf Bug #50578: Don't create the demoschool while joining a backup if UCRV create_demo is set to 'no' on master. Package: ucs-school-metapackage Version: 12.0.2-7A~4.4.0.202002201333 Branch: ucs_4.4-0 Scope: ucs-school-4.4
Changelog: OK Advisory: OK Package installs: OK Changes work as intended: OK -- Tested with Single&Multiserver Env. Joining Backup after setting UCRV to "no". DEMOSCHOOL was not installed as intended, but is installed if set to yes on master.
UCS@school 4.4 v5 has been released. https://docs.software-univention.de/changelog-ucsschool-4.4v5-de.html If this error occurs again, please clone this bug.