Finish Upstart
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:
- natty-alpha-3
- Started by
- Robbie Williamson
- Completed by
- Colin Watson
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:/
https:/
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