Description of problem: When running the system under the systemd init, doing # service 3proxy condrestart only results in reloading of the service and not restarting as expected. This results in problems with the dispatcher script '/etc/NetworkManager/dispatcher.d/40-3proxy', which expects the service to restart for 3proxy to work properly under changing network. Version-Release number of selected component (if applicable): 3proxy-0.6.1-10.fc14.x86_64 How reproducible: always under systemd Steps to Reproduce: 1. set and configure network proxy to 3proxy, and boot under systemd 2. disconnect network (eth0) and restart 3proxy so that it is in nonworking state 3. now connect the network 4. service 3proxy condrestart is called from the dispatcher script but 3proxy does not work, since systemd does reload of the service instead of restart Actual results: internet does not work behind 3proxy unless a manual call to 'service 3proxy restart' is made Expected results: internet should work behind 3proxy, (3proxy should be restarted instead of just reloading) Additional info: This bug probably falls under systemd, so you may reassign if that is the case. The following output led me to believe systemd is converting condrestart calls to condreload: [root@pankajlaptop ~]# service 3proxy status 3proxy.service - LSB: 3proxy Proxy Server Loaded: loaded (/etc/rc.d/init.d/3proxy) Active: active (running) since [Tue, 09 Nov 2010 15:52:11 +0530; 8min ago] Process: 24793 (/etc/rc.d/init.d/3proxy stop, code=exited, status=0/SUCCESS) Process: 24740 (/etc/rc.d/init.d/3proxy reload, code=exited, status=0/SUCCESS) Process: 24805 (/etc/rc.d/init.d/3proxy start, code=exited, status=0/SUCCESS) CGroup: name=systemd:/systemd-1/3proxy.service └ 24810 /usr/bin/3proxy /etc/3proxy.cfg [root@pankajlaptop ~]# service 3proxy restart Restarting 3proxy (via systemctl): [ OK ] [root@pankajlaptop ~]# service 3proxy status 3proxy.service - LSB: 3proxy Proxy Server Loaded: loaded (/etc/rc.d/init.d/3proxy) Active: active (running) since [Tue, 09 Nov 2010 16:01:36 +0530; 1s ago] Process: 25361 (/etc/rc.d/init.d/3proxy stop, code=exited, status=0/SUCCESS) Process: 24740 (/etc/rc.d/init.d/3proxy reload, code=exited, status=0/SUCCESS) Process: 25374 (/etc/rc.d/init.d/3proxy start, code=exited, status=0/SUCCESS) CGroup: name=systemd:/systemd-1/3proxy.service └ 25379 /usr/bin/3proxy /etc/3proxy.cfg [root@pankajlaptop ~]# service 3proxy condrestart Restarting 3proxy (via systemctl): [ OK ] [root@pankajlaptop ~]# service 3proxy status 3proxy.service - LSB: 3proxy Proxy Server Loaded: loaded (/etc/rc.d/init.d/3proxy) Active: active (running) since [Tue, 09 Nov 2010 16:01:36 +0530; 14s ago] Process: 25361 (/etc/rc.d/init.d/3proxy stop, code=exited, status=0/SUCCESS) Process: 25429 (/etc/rc.d/init.d/3proxy reload, code=exited, status=0/SUCCESS) Process: 25374 (/etc/rc.d/init.d/3proxy start, code=exited, status=0/SUCCESS) CGroup: name=systemd:/systemd-1/3proxy.service └ 25379 /usr/bin/3proxy /etc/3proxy.cfg
As a workaround i've replaced /etc/NetworkManager/dispatcher.d/40-3proxy file with following content: #!/bin/sh if [ "$2" = "up" ]; then if /sbin/service 3proxy status; then # reload doesn't work for 3proxy # condrestart doesn't work for systemd-10-2 /sbin/service 3proxy stop /sbin/service 3proxy start fi fi
Firstly thank you very much for the bugreport. Indeed, it seams systemd just do not restart service as requested. Reassigning.
"systemctl condrestart" has been changed a while back to actually mean a restart and never accidentaly trigger a reload instead. Closing.