[Bug 1337407] [NEW] Upstart can NOT handle service/job started by others

Launchpad Bug Tracker 1337407 at bugs.launchpad.net
Thu Jul 3 17:50:34 UTC 2014


You have been subscribed to a public bug:

-- Problem Description --
Upstart can not see a service/job/process that has been started and running by someone else. Old style init.d/systemd fully/partially handle start/stop correctly (on other Linux systems without Upstart), no matter who started the process.

Our PMLinux collecting agent "daemon_PMLnx" was designed to start/run by
root with any means, such as crontab, inittab, service, or even command
line at a terminal. The program itself will quit immediately at the
beginning if finds the process already running.

Generally, we prefer to organize PMLinux as a service, plus create a
start hook in the crontab to run "daemon_PMLnx" at 3am every day, in
order to guarantee a restart won't be forgot if someone ever stopped the
job.

Here are some command outputs from Ubuntu/Upstart:

# uname -a
Linux ubuntu 3.13.0-24-generic #46-Ubuntu SMP Thu Apr 10 19:09:21 UTC 2014 ppc64le ppc64le ppc64le GNU/Linux

# dpkg -l upstart
Name         Version          Architecture  Description
-===========-================-=============-========================
ii  upstart  1.12.1-0ubuntu4  ppc64el       event-based init daemon

# ps -ef | grep -e PMLnx$ -e CRON$
root     10263   771  0 17:59 ?        00:00:00 CRON
root     10264 10263  0 17:59 ?        00:00:00 /bin/sh -c /var/perf/pm/bin/daemon_PMLnx (bug!)  
root     10265 10264  0 17:59 ?        00:00:00 /var/perf/pm/bin/daemon_PMLnx

# start PMLinux
PMLinux stop/waiting           <--- bad!

# status PMLinux
PMLinux stop/waiting           <--- bad!

# stop PMLinux
stop: Unknown instance:           <--- bad!

# kill -2 10265

# start PMLinux
PMLinux start/running, process 10562

# ps -ef | grep -e PMLnx$
root     10562     1  0 19:49 ?        00:00:00 /var/perf/pm/bin/daemon_PMLnx

# start PMLinux
start: Job is already running: PMLinux

# stop PMLinux
PMLinux stop/waiting

# stop PMLinux
stop: Unknown instance:

# cat /etc/init/PMLinux.conf
# daemon_PMLnx - Collecting Agent of IBM Performance Management for Power Linux (PMLinux)
#
# daemon_PMLnx collects PMLinux data at periodic scheduled times
# working HOME directory - /var/perf/pm

description     "IBM PMLinux collecting daemon"
author "IBM PMLinux Team, Rochester, USA"

start on runlevel [2345]
stop on runlevel [!2345]

# console output                                                                        # not works as expected: output to the working terminal (instead of system console)
pre-start script
        unset myErrMSG
        if [ ! -x /var/perf/pm/bin/daemon_PMLnx ]; then
                export myErrMSG='Daemon programs disappeared; please re-install ibmPMLinux'
#       elif ps -C daemon_PMLnx >/dev/null; then
#               export myErrMSG='PMLinux collecting daemon is already running!'
        elif [ ! -L /var/adm/perfmgr ] || [ ! -d /var/adm/perfmgr ]; then
                export myErrMSG='PMLinux was NOT enabled; Please run "config.PMLnx" to activate'
        fi
        if [ -n "$myErrMSG" ]; then
                echo -n "`date +'%D %T'` ";                      stop;
                echo    "`date +'%D %T'` $myErrMSG"; exit 0
        fi
end script

post-start script
        if ps -C daemon_PMLnx >/dev/null; then
                echo "`date +'%D %T'` PMLinux collecting daemon running..."
        else
                echo "`date +'%D %T'` FAILED: Could NOT start PMLinux collecting daemon!!!"
        fi
end script

post-stop script
        echo "`date +'%D %T'` PMLinux collecting daemon stopped."
end script

exec /var/perf/pm/bin/daemon_PMLnx

The attachment is a screenshot to demonstrate an old init under a
different distro 1 that can find/stop PMLinux daemon started from user
terminal.

** Affects: upstart (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: architecture-ppc64le bot-comment bugnameltc-112942 severity-major
-- 
Upstart can NOT handle service/job started by others
https://bugs.launchpad.net/bugs/1337407
You received this bug notification because you are a member of Ubuntu Foundations Bugs, which is subscribed to upstart in Ubuntu.



More information about the foundations-bugs mailing list