Finish Upstart

Registered by Duncan McGreggor

Upstart's design is too simple. The goal of the next version is to fix problems based on deployment experience while retaining the "Upstartishness", and reach an elegant, simple design that we don't need to change again: i.e. 1.0.

Blueprint information

Status:
Complete
Approver:
Colin Watson
Priority:
Essential
Drafter:
Scott James Remnant (Canonical)
Direction:
Approved
Assignee:
James Hunt
Definition:
Approved
Series goal:
Accepted for natty
Implementation:
Implemented
Milestone target:
milestone icon natty-alpha-3
Started by
Robbie Williamson
Completed by
Colin Watson

Related branches

Sprints

Whiteboard

Work items:
[jamesodhunt] debug stanza: DONE
[jamesodhunt] manual stanza: DONE
[jamesodhunt] override files (lp:~jamesodhunt/upstart/override-support): DONE
[jamesodhunt] add bash completion to contrib directory: DONE
[jamesodhunt] update vim syntax in contrib directory: DONE
[jamesodhunt] install completion and syntax files in package: DONE
[scott] start_on and stop_on properties: DONE
[jamesodhunt] visualisation of jobs (lp:~jamesodhunt/upstart/upstart-job-visualisation): DONE
[scott] socket activation (lp:~canonical-scott/upstart/bridges): DONE
[scott] D-Bus activation: DONE
[scott] session support (lp:~canonical-scott/upstart/session-support): DONE
[scott] chroot session (lp:~canonical-scott/upstart/session-support): DONE
[scott] user session (lp:~canonical-scott/upstart/session-support): DONE
[cjwatson] goal and state change properties: DONE
[cjwatson] plymouth bridge: DONE

Notes from UDS Natty Session:

Last UDS (recap): Stable version of Upstart in Ubuntu now for a few releases, working out reasonably well, but there are a number of things we need to fix (the fact that mountall is needed, user services, etc.). Used last UDS to get a sense of what complaints were from various people and groups, and made sure that appropriate bugs were filed.

Upstart's design is too simple. The goal of the next version is to fix problems based on deployment experience while retaining the "Upstartishness", and reach an elegant, simple design that we don't need to change again: i.e. 1.0.

https://bugs.launchpad.net/upstart/+bugs
https://bugs.launchpad.net/upstart/+bug/447654

Proposed Changes:

add the concepts of states which are based on events and persist beyond the event, which jobs can depend on
child tracking should use proc connector
events should be queued against jobs when the job is transitioning
overrides to local configuration of jobs without editing them
new hook on starting * to allow tracking of job dependencies
upstart will know about chroots and make itself available in there if it is going to start jobs automatically; and use the root directory for local start within a chroot to start the right jobs

Need to get buy in for these features

(?)

Work Items