touch-packages team mailing list archive
-
touch-packages team
-
Mailing list archive
-
Message #25263
[Bug 1337407] Comment bridged from LTC Bugzilla
------- Comment From vcd0a5@xxxxxxxxxx 2014-10-09 17:08 EDT-------
(In reply to comment #7)
> do you need to have scripts being fixed for you?
Yes, need to fix/enhance Upstart for me and other customers who accidentally type in and run a job at command line, or start the job from crontab, because once that was done (i.e. the job was started from outside of the Upstart), Upstart will be unable to stop/restart the job.
> are daemons missing permissions to execute properly and retrieve infos ?
No, the Upstart daemon has all the permission to do the expected things (stop/restart a job). It simply just can not function as what I expect.
Perhaps some people just think not Upstart's business to handle
(stop/restart) the process which it did not ever run?
I believe the problem was clearly described at the defect opening.
--
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to upstart in Ubuntu.
https://bugs.launchpad.net/bugs/1337407
Title:
Upstart can NOT handle service/job started by others
Status in “upstart” package in Ubuntu:
New
Bug description:
-- 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.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/upstart/+bug/1337407/+subscriptions