For some reason, on a systemd box, updating dovecot via yum makes imap clients unhappy. With the traditional init system this operation was transparent # yum update Running Transaction Updating : 1:dovecot-2.0.3-1.fc14.x86_64 7/26 warning: /etc/dovecot/conf.d/15-lda.conf created as /etc/dovecot/conf.d/15-lda.conf.rpmnew Cleanup : 1:dovecot-2.0.2-1.fc14.x86_64 17/26 Updated: dovecot.x86_64 1:2.0.3-1.fc14 Complete! → Looking at the service after the yum update: # service dovecot status dovecot.service - LSB: start and stop Dovecot Imap server Loaded: loaded (/etc/rc.d/init.d/dovecot) Active: active (running) since [Sat, 18 Sep 2010 03:18:38 +0200; 2 days ago] Process: 29489 (/etc/rc.d/init.d/dovecot reload, code=exited, status=0/SUCCESS) CGroup: name=systemd:/systemd-1/dovecot.service ├ 1503 /usr/sbin/dovecot ├ 1505 dovecot/anvil ├ 1506 dovecot/log ├ 5769 dovecot/auth ├ 5770 dovecot/ssl-params └ 5801 dovecot/auth -w → active since two days!!! but the binary has just been replaced and should have been reloaded # service dovecot restart Restarting dovecot (via systemctl): [ OK ] → and now everything works again # service dovecot status dovecot.service - LSB: start and stop Dovecot Imap server Loaded: loaded (/etc/rc.d/init.d/dovecot) Active: active (running) since [Mon, 20 Sep 2010 19:05:48 +0200; 5s ago] Process: 29730 (/etc/rc.d/init.d/dovecot stop, code=exited, status=0/SUCCESS) Process: 29489 (/etc/rc.d/init.d/dovecot reload, code=exited, status=0/SUCCESS) Process: 29743 (/etc/rc.d/init.d/dovecot start, code=exited, status=0/SUCCESS) CGroup: name=systemd:/systemd-1/dovecot.service ├ 29750 /usr/sbin/dovecot ├ 29753 dovecot/anvil ├ 29754 dovecot/log ├ 29755 dovecot/ssl-params ├ 29756 dovecot/imap-login ├ 29757 dovecot/config ├ 29765 dovecot/auth ├ 29772 dovecot/auth -w └ 29776 dovecot/imap Version-Release number of selected component (if applicable): systemd-units-10-1.fc14.x86_64 systemd-gtk-10-1.fc14.x86_64 systemd-sysvinit-10-1.fc14.x86_64 systemd-10-1.fc14.x86_64
Does simply running 'service dovecot condrestart' provoke the same issue?
It does here. The bug seems to be in src/systemctl.c where "condrestart" is interpreted as as request for "ReloadOrTryRestartUnit". Fedora Packaging Guidelines require that "condrestart" must be equivalent to "try-restart". See http://fedoraproject.org/wiki/Packaging:SysVInitScript#condrestart_and_try-restart So "condrestart" should be translated to "TryRestartUnit".
posted a patch: http://lists.freedesktop.org/archives/systemd-devel/2010-September/000387.html
Would this also fix bug 632620 and bug 633774?
I don't think so.
Moving systemd bugs to f15, since the systemd feature got delayed.
*** Bug 655116 has been marked as a duplicate of this bug. ***
Also, how does this bug relate to the fact, that dovecot never gets started automatically on reboot even though it is chkconfiged on? (will have to reboot to obtain good error message)
See also bug 651354 ... condrestart should lead eventually to restart not reload.
*** Bug 680074 has been marked as a duplicate of this bug. ***
"condrestart" has now been synomymous to "try-restart" for a while, and with current git we no longer generate an error if condrestart is used on a service that isn't running. This should resolve this issue.