Univention Bugzilla – Bug 38473
Mail quota policy should be installed by univention-mail-cyrus
Last modified: 2015-07-20 10:02:01 CEST
Dovecot will use extended attributes of user accounts and not a policy, so the policy must be installed only by univention-mail-cyrus.
Commit 61136 The policy installation has been moved from the univention-directory-manager-modules package to the univention-mail-cyrus package.
From 81univention-mail-cyrus.inst: > ucs_registerLDAPExtension "$@" --udm_module /usr/share/pyshared/univention/admin/handlers/policies/mailquota.py || die The mailquota.py file should not be installed directly under /usr/share/pyshared/. ucs_registerLDAPExtension takes the file, stores it in LDAP, and the listener modules install the module in the same path as mentioned above. It would be better if the file is installed in /usr/share/univention-mail-cyrus/.... → REOPEN QA missing: - master + slave environment; univention-mail-cyrus installed on master; update to latest dovecot scope → problems on dc slave due to double UDM module? - functional test for cyrus - update of existing OX environment
Commit 61766 installs the mail quota policy module outside /usr/share/pyshared/, and lets ucs_registerLDAPExtension copy it there.
> Commit 61766 installs the mail quota policy module outside > /usr/share/pyshared/, and lets ucs_registerLDAPExtension copy it there. → OK > QA missing: > - master + slave environment; univention-mail-cyrus installed on master; > update to latest dovecot scope → problems on dc slave due to double UDM > module? There is no double UDM module since mailquota.py from the package is overwritten by the LDAP version. BUT... If the package python-univention-directory-manager is updated, mailquota.py is removed because it is no longer part of that package. Though the LDAP version is not rerewritten to disk, so the UDM module is missing on all non-mailserver systems in Domain. Workaround: - in preinst: make a backup copy if md5sum of mailquota.py does not match md5sum of package list - in postinst: if exists, restore backup copy
(In reply to Sönke Schwardt-Krummrich from comment #4) > Workaround: > - in preinst: make a backup copy if md5sum of mailquota.py does not match > md5sum of package list > - in postinst: if exists, restore backup copy This has now been implemented. → switching assignee and QA person r61892 | Bug #38473: fixed logic for mailquota.py backup r61879 | Bug #38473: comment update r61877 | Bug #38473: handle corner case during update > - functional test for cyrus → OK > - update of existing OX environment → basic test was successful, complete test via Bug #38463
(In reply to Sönke Schwardt-Krummrich from comment #5) > (In reply to Sönke Schwardt-Krummrich from comment #4) > > Workaround: > > - in preinst: make a backup copy if md5sum of mailquota.py does not match > > md5sum of package list > > - in postinst: if exists, restore backup copy > > This has now been implemented. > → switching assignee and QA person In a test scenario a master with a cyrus installation was updated. Then a slave without Cyrus was updated. The quota policy file (replicated from the master) remained, but the policy was deactivated. → OK. Then on the slave univention-mail-cyrus was installed, but the quota policy was not activated. All files seem to be in place, except for the symlink to the python policy file. → reopend.
a) second part of workaround was placed in univention-directory-manager-tools.postinst which is obviously wrong → moved code to python-univention-directory-manager.postinst b) added following call in postinst, to restore missing symlinks: update-python-modules -v \ /usr/share/python-support/univentionUDMModule_policies_mailquota.public r61963 | Bug #38473: moved workaround between postinst files / call update-python-modules after restoring mailquota.py univention-directory-manager-modules has been rebuilt in errata4.0-2
(In reply to Sönke Schwardt-Krummrich from comment #7) > a) second part of workaround was placed in > univention-directory-manager-tools.postinst which is obviously wrong → > moved > code to python-univention-directory-manager.postinst > b) added following call in postinst, to restore missing symlinks: > update-python-modules -v \ > > /usr/share/python-support/univentionUDMModule_policies_mailquota.public > > r61963 | Bug #38473: moved workaround between postinst files / call > update-python-modules after restoring mailquota.py > > univention-directory-manager-modules has been rebuilt in errata4.0-2 Quota policy module is installed and activated on slave. → OK.
<http://errata.univention.de/ucs/4.0/235.html>
<http://errata.univention.de/ucs/4.0/236.html>