RFC: Upstart stateful-reexec feature

James Hunt james.hunt at ubuntu.com
Wed Nov 7 15:04:47 UTC 2012


= Summary =

* Added stateful re-exec support such that when Upstart is asked
  to restart itself using 'telinit u', the new instance of PID 1
  will retain knowledge of all system jobs and running instances.

See also:
https://wiki.ubuntu.com/FoundationsTeam/Specs/QuantalUpstartStatefulReexec


= Code =

https://code.launchpad.net/~upstart-devel/upstart/stateful-reexec


= Limitations =

Known limitations that may impact users:

- D-Bus connections

  Not currently retained across the re-exec.

  Impact: Affects the bridges - they will be respawned, but there is a
  small window where events could be lost.

  Plan:
  - We have a patch for D-Bus to overcome this limitation which will
    be upstreamed to the D-Bus mailing list for discussion.
  - Modify the bridges to auto-reconnect themselves when Upstart
    re-execs.

- Upstart sessions (user jobs and chroots) are not currently handled
  and are ignored on re-exec.

  Impact: User jobs and chroot sessions will not be managed
  post-re-exec.

  Plan: Serialise ConfSource objects (not required for system jobs).

Complete details can be found in 'init/state.h'.


= Diff Stats =

48 files changed, 11038 insertions(+), 1156 deletions(-)


= Thanks =

Thanks to Steve Langasek and Colin Watson for their contributions.


Kind regards,

James.
--
James Hunt
____________________________________
http://upstart.ubuntu.com/cookbook
http://upstart.ubuntu.com/cookbook/upstart_cookbook.pdf



More information about the upstart-devel mailing list