service <service> restart does not use an updated job configuration
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
upstart |
Won't Fix
|
Undecided
|
Unassigned | ||
upstart (Ubuntu) |
Fix Released
|
Medium
|
Unassigned |
Bug Description
Binary package hint: upstart
start a system using upstart. "ps axf" gives for one service converted to upstart:
862 ? Sl 0:00 /usr/sbin/libvirtd -d
now change /etc/init/
# service libvirt-bin restart
libvirt-bin start/running, process 895
# ps axf | grep libvirtd
895 ? Sl 0:00 /usr/sbin/libvirtd -d
You'll have to stop, then start libvirt-bin, to have the change made have any effect:
# service libvirt-bin stop
libvirt-bin stop/waiting
# service libvirt-bin start
# service libvirt-bin start
libvirt-bin start/running, process 928
# ps axf | grep libvirt
928 ? Sl 0:00 /usr/sbin/libvirtd -d --listen
ProblemType: Bug
DistroRelease: Ubuntu 10.10
Package: upstart 0.6.6-3
Uname: Linux 2.6.36.3 x86_64
Architecture: amd64
Date: Tue Jan 25 16:26:04 2011
ProcEnviron:
PATH=(custom, user)
LANG=de_DE.utf8
SHELL=/bin/bash
SourcePackage: upstart
Related branches
- Kees Cook: Approve
-
Diff: 54 lines (+22/-4)2 files modifieddebian/changelog (+8/-0)
debian/upstart-job (+14/-4)
- Clint Byrum (community): Approve
-
Diff: 4753 lines (+842/-700)38 files modifiedChangeLog (+62/-0)
NEWS (+21/-0)
configure.ac (+1/-1)
debian/changelog (+28/-0)
debian/upstart-job (+14/-4)
init/Makefile.am (+4/-2)
init/conf.c (+18/-12)
init/conf.h (+1/-1)
init/control.c (+5/-1)
init/job.c (+8/-2)
init/job_class.c (+34/-14)
init/job_process.c (+59/-0)
init/job_process.h (+3/-1)
init/main.c (+8/-0)
init/man/init.5 (+0/-38)
init/man/init.8 (+11/-7)
init/parse_job.c (+2/-2)
init/session.c (+21/-8)
init/session.h (+27/-2)
init/tests/test_blocked.c (+4/-6)
init/tests/test_conf.c (+15/-22)
init/tests/test_control.c (+11/-12)
init/tests/test_environ.c (+3/-0)
init/tests/test_event.c (+28/-40)
init/tests/test_event_operator.c (+3/-0)
init/tests/test_job.c (+70/-148)
init/tests/test_job_class.c (+54/-145)
init/tests/test_job_process.c (+34/-59)
init/tests/test_parse_conf.c (+3/-0)
init/tests/test_parse_job.c (+3/-0)
init/tests/test_process.c (+3/-0)
init/tests/test_system.c (+3/-0)
po/upstart.pot (+152/-136)
scripts/init-checkconf.sh (+34/-10)
scripts/man/init-checkconf.8 (+22/-10)
util/initctl.c (+16/-5)
util/man/initctl.8 (+3/-1)
util/tests/test_initctl.c (+54/-11)
Changed in upstart (Ubuntu): | |
status: | Triaged → Fix Committed |
Thomas, I have confirmed this on natty:
upstart: us.archive. ubuntu. com/ubuntu/ natty/main amd64 Packages dpkg/status
Installed: 0.6.7-5
Candidate: 0.6.7-6
Version table:
0.6.7-6 0
500 http://
*** 0.6.7-5 0
100 /var/lib/
I believe this happens because of the way restart happens in a single event which changes the job's goal from stop, to start. At no point is a new job object created, so the newly parsed configuration is not present. This also probably has a lot to do with bug #703800 which causes restart to not work if there is a pre-stop. I imagine they will have the same fix, but are not the same bug.