Bug 651354 - service 3proxy condrestart only does 'reload' under systemd
Summary: service 3proxy condrestart only does 'reload' under systemd
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: systemd
Version: 14
Hardware: Unspecified
OS: Unspecified
low
medium
Target Milestone: ---
Assignee: Lennart Poettering
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-11-09 11:28 UTC by pankaj pandey
Modified: 2011-03-08 01:35 UTC (History)
7 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2011-03-08 01:35:33 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description pankaj pandey 2010-11-09 11:28:01 UTC
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

Comment 1 pankaj pandey 2010-11-10 11:33:29 UTC
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

Comment 2 Pavel Alexeev 2010-11-11 07:34:25 UTC
Firstly thank you very much for the bugreport.

Indeed, it seams systemd just do not restart service as requested. Reassigning.

Comment 3 Lennart Poettering 2011-03-08 01:35:33 UTC
"systemctl condrestart" has been changed a while back to actually mean a restart and never accidentaly trigger a reload instead. Closing.


Note You need to log in before you can comment on or make changes to this bug.