Upstart Roadmap for 14.04 LTS release

Registered by James Hunt

Blueprint information

Status:
Not started
Approver:
Steve Langasek
Priority:
Undefined
Drafter:
James Hunt
Direction:
Needs approval
Assignee:
James Hunt
Definition:
Review
Series goal:
Accepted for trusty
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

Ideas for future development: https://wiki.ubuntu.com/Upstart/Ideas
* two main features worked on this cycle
 * refining ptrace handling for upstart for service readiness
 * cgroup support
* nice-to-haves:
 * time bridge
 * upstart user sessions on terminal logins
= cgroup support =
 * cgroup manager should be started early in boot
  * apw points out that it could be started directly from upstart before any job parsing (treating it as internal to upstart); this is an option but probably not necessary
 * deal gracefully with the kernel not having cgroup support
 * cgroup support needs to be both a build-time and runtime option; if enabled, missing cgroups should be fatal for the job
   * if cgroups are not disabled, jobs specifying the 'cgroup' stanza will block until the cgroup manager has started.
 * cgroups should be applied to all job processes (pre-start, exec, etc)
   * document carefully.
* should we support the case where multiple job instances share the same group?
   possible syntax: 'cgroup <controller> <cgroup-name|auto> [key=value]'

 * we want cgroup support for user jobs
  * one cgroup per user per controller

(?)

Work Items

Work items:
[stgraber] work out the syntax of the cgroups stanzas for upstart: DONE
[stgraber] write spec: DONE
[jamesodhunt] implement cgroup support within upstart (talking to the cgroup manager): POSTPONED
[jamesodhunt] Write unit tests for cgroup support: POSTPONED
[jamesodhunt] Extend DEP-8 tests for cgroup support: POSTPONED
[jamesodhunt] get dbus upstream to support restoring connections from a socket on re-exec: POSTPONED
[jamesodhunt] Re-enable Upstart D-Bus activation (bug 1238514): POSTPONED
[jamesodhunt] Investigate making child handling fully async to ensure cgmanager cannot block PID 1: POSTPONED
[jamesodhunt] Implement IPv6 support for socket bridge (bug 942955): DONE
[jamesodhunt] Implement UDP support for socket bridge (bug 1265014): POSTPONED
[jamesodhunt] upstart should support systemd-style socket activation (debian bug 732179): POSTPONED