Features/Upstart

= Upstart Service Manager =

Summary
Upstart is a replacement for SysVinit that allows service management and event-driven initialization.

Owner

 * Name: CaseyDahlin

Current status

 * Targeted release:  Fedora 9
 * Last updated: 2008-04-09
 * Percentage of completion: 100%

Things we need fixed:
 * Still reliant on inittab for runlevel settings - Won't fix
 * telinit u doesn't do anything - Fixed
 * serial console gettys start too early - Fixed
 * No documentation for job file format - Fixed

Things we'd prefer fixed:
 * No logging
 * No chkconfig equivalent for upstart jobs

Detailed Description
Upstart is a new init daemon that allows services to be started in response to events rather than in bulk runlevels. It also has support for monitoring services and restarting them when they go awry. It has the potential to expand to provide cron support as well, and to manage session-level as well as system-level services.

While much of this would require massive restructuring to accomplish, Upstart is also very capable of emulating a SysV style init system and can be placed into Fedora right now without any changes to the init scripts.

Benefit to Fedora
Fedora in particular has a very bloated set of bash scripts used to load its services. Upstarts more sophisticated notion of services and how to trigger them is a good step toward streamlining many of those services. The more sophisticated view of the system can also allow a more powerful set of administration tools, and a more robust and stable system.

While these features are going to have to be gently pushed in over time, getting Upstart itself in place now, even though it will only be functioning as SysV does now, will allow us to begin a smooth transition toward this model.

Scope
Requires building packages for Upstart, and splitting out a couple of miscellaneous utilities from SysVinit so they can continue to be used in the present init scripts.

Test Plan
1. Boot the system, make sure all services come up. 1. Move between runlevels, ensure the propper starts and stops take place. 1. Check the various admin tools such as /sbin/service, system-config-services, chkconfig, etc.

User Experience
For this iteration, the less the user notices, the better.

Dependencies

 * upstart-0.3.9
 * event-compat-sysv-0.39 (upstream name example-jobs)
 * Successful Fedora Package review and addition to rawhide

Contingency Plan

 * Continue to ship the current SysVinit package

Documentation

 * Old sysadmin practices for dealing with the scripts in /etc/init.d will still apply
 * App specifications at http://upstart.ubuntu.com/wiki/

Release Notes
Mentioning Upstart's presence in F9 might score us technical points, even if it isn't doing anything that interesting just yet.