Exposition and discussion of features under consideration for Upstart.

Registered by James Hunt

= Summary =

We have lots of ideas for changes we'd like to make to Upstart this cycle.

This blueprint will outline those features at a relatively high level.

Ideas (highly incomplete list currently):

- Fully segregated SystemV / Upstart system shutdown
- Introduce "setuid" and "setgid" stanzas to allow jobs to run as a different user/group.
- Enable user jobs (a simple change to a dbus config file).

= Desired Outcome =

- A better understanding of those Upstart features you'd like us to work on
- A feel for the relative importance of each feature which we'll factor into our plans to allow us to prioritise the work.

= Ideas List =

https://wiki.ubuntu.com/Upstart/Ideas
(based on paste of http://summit.ubuntu.com/uds-p/meeting/19554/foundations-p-upstart-roadmap/)

= Priority List (resulting from session) =

- Ability to kill "stuck" jobs (bug #406397)
  (see https://blueprints.launchpad.net/ubuntu/+spec/foundations-p-upstart-convert-main-initd-to-jobs)
- Overcome ptrace limitations
- Proper re-exec handling (for upgrading libnih/upstart/libc)
  (Plan is to use JSON syntax to pass state. Consider cjson, etc).

Blueprint information

Status:
Complete
Approver:
Steve Langasek
Priority:
High
Drafter:
James Hunt
Direction:
Approved
Assignee:
James Hunt
Definition:
Obsolete
Series goal:
Accepted for precise
Implementation:
Good progress
Milestone target:
None
Started by
Colin Watson
Completed by
Colin Watson

Whiteboard

Work items:
[jamesodhunt] Provide guidance in cookbook, etc on appropriate tool 'level' to use (service or initctl, etc): TODO
[jamesodhunt] Make community more aware of cookbook: INPROGRESS
[jamesodhunt] Cookbook should recommend start-stop-daemon rather than 'su' / 'sudo': DONE
[jamesodhunt] Document suggestion that daemons should have the ability to drop privs to uid 'u' + gid 'g': DONE
[jamesodhunt] Muster community to become more involved with Upstart development somehow: TODO
[jamesodhunt] Overcome ptrace limitations: Ability to kill "stuck" jobs (bug #406397): TODO
[jamesodhunt] Proper re-exec handling (for upgrading libnih/upstart/libc): POSTPONED
[jamesodhunt] Disabling of jobs: POSTPONED
[jamesodhunt] SysV chkconfig-like script to identify which jobs will start in which runlevels: INPROGRESS
[broder] 'setuid' and 'setgid' to allow system jobs to run as different user/group: DONE

(?)

Work Items