Bug 782805 - stop on event not stopping service when initctl emit used
Summary: stop on event not stopping service when initctl emit used
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: upstart
Version: 6.4
Hardware: x86_64
OS: Linux
unspecified
medium
Target Milestone: rc
: ---
Assignee: Lukáš Nykrýn
QA Contact: qe-baseos-daemons
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-01-18 14:58 UTC by Ted X Toth
Modified: 2012-01-25 15:22 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2012-01-24 14:18:11 UTC
Target Upstream Version:


Attachments (Terms of Use)

Description Ted X Toth 2012-01-18 14:58:03 UTC
Description of problem:
using initctl emit to stop a server does work

Version-Release number of selected component (if applicable):
0.6.5-10

How reproducible:
Use openssl s_server as a test service. Create a cert and key for the test service:

openssl req -newkey rsa:1024 -x509 -nodes -keyout server_key.pem -new -out server_cert.pem

Create /etc/init/bounce.conf and insert the following text

start on BounceOn
stop on BounceOff
stop on runlevel [0126]
console none
respawn
respawn limit 5 5
pre-stop exec echo "pre-stop"
pre-start exec echo "pre-start"
post-start exec echo "post-start"
exec openssl s_server -cert /root/server_cert.pem -key /root/server_key.pem

Run:
initctl emit BounceOn

Verify that openssl is running:
ps -ef | grep openssl

Try and stop the service:
initctl emit BounceOff

Verify whether the service stopped:
ps -ef | grep openssl

Steps to Reproduce:
1.
2.
3.
  
Actual results:
service not stopped

Expected results:
service stopped

Additional info:

Comment 2 Ted X Toth 2012-01-18 16:22:55 UTC
Joe Nall pointed me at this statement:
Only one event expression is permitted for each of start on and stop on,
repeating the stanza will override the previously defined expression

So I removed:
stop on runlevel [0126]

from the config file and tried to emit the BounceOff event but again the
service didn't stop. I then rebooted the box and retried the experiment and it
worked. My original test config file probably should have had:

stop on BounceOff or on runlevel [S0126]

This bug can be closed as it's not a bug but the man page should be altered to
clarify how event expressions work. Also it's not clear why I had to reboot to
affect the change when init monitors the config files.

Comment 3 Lukáš Nykrýn 2012-01-20 08:21:56 UTC
Was the service running when you altered the configuration file? Upstart does not change "settings" for a service if it is running.

Comment 4 Ted X Toth 2012-01-20 13:07:12 UTC
So I'd need to stop the service, edit the config and then restart it for the config changes to take affect?

Comment 5 Lukáš Nykrýn 2012-01-20 13:32:55 UTC
If the job you have configured was running, the configuration will take affect after all instances of the job stops.


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