Server boot experience
Review of the Ubuntu Server boot experience, looking at what we do now and what we should change to provide a better experience to meet the needs of our userbase, i.e. option for detailed messaging, upstart improvements, etc.
Blueprint information
- Status:
- Complete
- Approver:
- Robbie Williamson
- Priority:
- High
- Drafter:
- Clint Byrum
- Direction:
- Approved
- Assignee:
- Ubuntu Server
- Definition:
- Approved
- Series goal:
- Accepted for oneiric
- Implementation:
-
Implemented
- Milestone target:
-
oneiric-alpha-3
- Started by
- Dave Walker
- Completed by
- Clint Byrum
Related branches
Whiteboard
Status: progress on some work items. https:/
Work Items:
[cjwatson] turn off quiet for server: DONE
[jamesodhunt] allow upstart visualization tool to filter out jobs/events that aren't in existence: POSTPONED
[clint-fewbar] define/document a simple job/alias/event for "networking up", for generic network services (event: static-network-up): DONE
define/document a simple job/alias/event for "system has booted", for /etc/rc.local type behavior (note that 'stopped rc' is usable but not well documented): POSTPONED
improve start on for cron and other services (start when all user info available) (cron should probably start on stopped rc): POSTPONED
update Upstart Cookbook with "abstract jobs" and full exposition of how to define optimal "start on" and "stop on" for a new job: POSTPONED
[clint-fewbar] file bugs on services that don't respect single user mode appropriately: bug tag 'runlevel1' used for 21 bugs filed: DONE
[clint-fewbar] automated testing for single to multiuser: POSTPONED
[clint-fewbar] add init-checkconf rule to lintian for upstart jobs (may be infeasible as emits lines aren't always available to validate start/stop on conditions): POSTPONED
need to measure boot speed difference between sourcing /etc/default files, and not: POSTPONED
N/A work:
define/document a simple job/alias/event for "local filesystems are up", for local services -- already exists, local-filesystems
define/document a simple job/alias/event for "network filesystems are up", for network filesystem services - already exists, remote-filesystems
Ideas
* Serialize for debugging
* Logging of job output (ideas also in upstart bug list)
* Fencing (well defined sync points for boot)
http://
* as late as possible -- grub common one example for init.d
* Generic Jobs (network-services, etc)
* Document best practice in /usr/share/
* Delay until all network interfaces are up
* Default to always showing plymouth upstart bridge output
* runlevel 1 and back to 2 doesn't work right
* useful for emergency maintenance recovery
* consider adding call to init-checkconf to lintian rule to ensure job config syntactically valid
* clean-up behaviour of single-user mode
* /etc/default/* -> what to do
Actions:
Work Items
Dependency tree

* Blueprints in grey have been implemented.