Ubuntu logo

Developer Summit

Convert SystemV services to Upstart jobs in "main" (take 2)

2011-11-01 11:00..11:55 in Bonaire 1

= Problem Statement =


At present, there are 101 SystemV services in the Precise main archive that have not yet been converted to Upstart jobs(*). This needs to be recified.


= Important services that need conversion =


This is a selected list, but the following are important services that we could start with:



  • rabbitmq

  • open-iscsi

  • bind9

  • apache

  • postfix

  • puppet

  • postgresql

  • tomcat6

  • memcached


= Rationale for Change =



  • Upstart is our init system of choice (SystemV is considered legacy).

  • Although Upstart does handle SystemV jobs, undesirable behaviour can and does result when there exist relationships between SystemV and Upstart jobs.

  • Upstart jobs are easier to maintain than SystemV jobs.

  • Upstart jobs are simpler than SystemV jobs.

  • Upstart jobs place the burden of managing certain repeated tasks on Upstart, rather than requiring each SystemV service to re-invent the wheel (often badly).

  • We wish to segregate SystemV jobs from Upstart jobs to optimize system shutdown.

  • See http://upstart.ubuntu.com/cookbook/#critique-of-the-system-v-init-system

  • To allow Upstart to be fully integrated into Debian, SysV services scripts and Upstart job files need to exist for a package.


= Proposal =



  • Muster Community interest in an effort to port the remaining SystemV jobs to Upstart: It's a great way to learn Upstart!

  • Consider having an online sprint to concentrate on this activity for a few days(?)

  • Identify individuals who can help out when questions arise (jamesodhunt, spamaps, vorlon, etc?)

  • Leverage the work done in Fedora to migrate away from SystemV.

  • Concentrate on the most popular services first.

  • Review all Upstart jobs.

  • Thorough testing required.


= Questions =



  • Aside from time, what is slowing down the conversion activity?:
      - lack of examples? (We can blog and provide wiki examples)
      - lack of familiarity with upstart job syntax? (We can hold education sessions)
      - lack of ability to test the Upstart job versus the SysV service? (QA may be able to help here?)
      - concerns over migration to "alternative init systems"? (there are no plans to switch)
      - other?


= See Also =


https://blueprints.launchpad.net/ubuntu/+spec/foundations-o-upstart-convert-main-initd-to-jobs


(*) - this number has fallen from the 122 SysV services in natty, so the number is falling slowly :)