UpstartJobAdministration

Differences between revisions 6 and 13 (spanning 7 versions)
Revision 6 as of 2008-12-04 11:47:42
Size: 3019
Editor: static-101-137-235-87
Comment:
Revision 13 as of 2010-05-30 15:50:54
Size: 3981
Editor: pool-96-230-20-221
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
## page was copied from SpecTemplate
Line 3: Line 4:
 * '''Launchpad Entry''': UbuntuSpec:qa-ldtp-checkbox-integration
 * '''Created''': AraPulido
 * '''Contributors''':
 * '''Packages affected''': checkbox, ubuntu-desktop-testing
 * '''Launchpad Entry''': UbuntuSpec:todo
 * '''Created''': 2010-05-24
 * '''Contributors''': [[JacobPeddicord|Jacob Peddicord]]
 * '''Packages affected''': [[https://launchpad.net/jobsadmin|jobs-admin]], [[https://launchpad.net/jobservice|jobservice]]
Line 10: Line 11:
This should provide an overview of the issue/functionality/change proposed here. Focus here on what will actually be DONE, summarising that so that other people don't have to read the whole spec. See also CategorySpec for examples. ''This is a Google Summer of Code 2010 project.''

This spec consists of two main components:
 * A service administration and configuration UI (jobs-admin)
 * Configuration backend (jobservice)

jobs-admin, in short, is a replacement for services-admin in gnome-system-tools but written with Upstart in mind. jobservice is a generic dbus backend for jobs-admin which talks to Upstart and manages service-level settings.

Key features of jobs-admin and jobservice include:
 * Upstart 0.6, Upstart 0.10, and SysV compatability
 * Service-level settings: ability to easily set a setting for a specific service; ex. a document-root for apache2. This includes the proposed Upstart 0.10 overrides.
 * Start/stop/enable/disable services
Line 14: Line 26:
When these changes are implemented tests written for LDTP and, specifically, for Ubuntu Desktop Testing, Checkbox will be used to run desktop tests and reporting will be consistent. jobs-admin is a new application intended to replace the lost functionality of services-admin during the Upstart transition. It provides an user-friendly way to enable, disable, and change settings of services and jobs. It is available at System > Administration > System Jobs.
Line 18: Line 30:
We want to have a consistent test harness for the majority of our tests. Checkbox, formerly hwtest, it is a tool to run tests. It is flexible enough to be used to run all kind of tests, including desktop tests. services-admin, a part of gnome-system-tools, exists for the purpose of simple service management. It uses system-tools-backends to handle the work of enabling and disabling services, and is able to use multiple backends. However, these backends are assumed to conform to a certain model that uses runlevels as a primary concept. Upstart does not depend on runlevels and so does not fit into this model very well. Attempts to implement Upstart support in system-tools-backends were unsuccessful or required strange workarounds.

After discussions with the maintainer of gnome-system-tools, we will create a new set of utilities to manage services, keeping Upstart in mind from the beginning.

== User stories ==

 * Jack wants to install a media server, but wants to be able to easily turn it on and off without using the terminal.
 * Sally wants to administer basic aspects of her home web server: she wants to be able to control when it's active and change the port that it runs on without trying to edit configuration files.
 * Fred needs to disable ureadahead, but isn't sure how. He should be able to turn it off with a few clicks.

== Assumptions ==

The current target systems are Maverick and Lucid (the latter via PPA). We can assume that both will have some version of Upstart available and that both may still use some System V scripts.
Line 22: Line 46:
=== Permissions ===
We need Checkbox to be able to run as a normal user, rather than running always as root. This need changes from both Checkbox and Ubuntu Desktop Testing

 * Checkbox can be run as non-root:
{{{
./bin/checkbox-cli --config="checkbox/plugins/blacklist=permission_prompt"
}}}
 * Suites and scripts are written on installation under /usr/share/checkbox, with root-only permissions. It would be better to have a .checkbox folder in the user's home folder to store this kind of information.
 * Results are stored by default in /var/lib/checkbox, and this is only writable by root.
 * Ubuntu Desktop Testing package installs scripts in /usr/share/ubuntu-desktop-tests only readable by root.

=== Test results ===
You can have subsections that better describe specific parts of the issue.
Line 56: Line 69:
It's important that we are able to test new features, and demonstrate them to users. Use this section to describe a short plan that anybody can follow that demonstrates the feature is working. This can then be used during testing, and to show off after release. Please add an entry to http://testcases.qa.ubuntu.com/Coverage/NewFeatures for tracking test coverage.

This need not be added or completed until the specification is nearing beta.
Tests are planned via PPAs once ready.
Line 66: Line 77:
Use this section to take notes during the BoF; if you keep it in the approved spec, use it for summarising what was discussed and note any options that were rejected.

Summary

This is a Google Summer of Code 2010 project.

This spec consists of two main components:

  • A service administration and configuration UI (jobs-admin)
  • Configuration backend (jobservice)

jobs-admin, in short, is a replacement for services-admin in gnome-system-tools but written with Upstart in mind. jobservice is a generic dbus backend for jobs-admin which talks to Upstart and manages service-level settings.

Key features of jobs-admin and jobservice include:

  • Upstart 0.6, Upstart 0.10, and SysV compatability
  • Service-level settings: ability to easily set a setting for a specific service; ex. a document-root for apache2. This includes the proposed Upstart 0.10 overrides.
  • Start/stop/enable/disable services

Release Note

jobs-admin is a new application intended to replace the lost functionality of services-admin during the Upstart transition. It provides an user-friendly way to enable, disable, and change settings of services and jobs. It is available at System > Administration > System Jobs.

Rationale

services-admin, a part of gnome-system-tools, exists for the purpose of simple service management. It uses system-tools-backends to handle the work of enabling and disabling services, and is able to use multiple backends. However, these backends are assumed to conform to a certain model that uses runlevels as a primary concept. Upstart does not depend on runlevels and so does not fit into this model very well. Attempts to implement Upstart support in system-tools-backends were unsuccessful or required strange workarounds.

After discussions with the maintainer of gnome-system-tools, we will create a new set of utilities to manage services, keeping Upstart in mind from the beginning.

User stories

  • Jack wants to install a media server, but wants to be able to easily turn it on and off without using the terminal.
  • Sally wants to administer basic aspects of her home web server: she wants to be able to control when it's active and change the port that it runs on without trying to edit configuration files.
  • Fred needs to disable ureadahead, but isn't sure how. He should be able to turn it off with a few clicks.

Assumptions

The current target systems are Maverick and Lucid (the latter via PPA). We can assume that both will have some version of Upstart available and that both may still use some System V scripts.

Design

You can have subsections that better describe specific parts of the issue.

Implementation

This section should describe a plan of action (the "how") to implement the changes discussed. Could include subsections like:

UI Changes

Should cover changes required to the UI, or specific UI that is required to implement this

Code Changes

Code changes should include an overview of what needs to change, and in some cases even the specific details.

Migration

Include:

  • data migration, if any
  • redirects from old URLs to new ones, if any
  • how users will be pointed to the new way of doing things, if necessary.

Test/Demo Plan

Tests are planned via PPAs once ready.

Unresolved issues

This should highlight any issues that should be addressed in further specifications, and not problems with the specification itself; since any specification with problems cannot be approved.

BoF agenda and discussion

Use this section to take notes during the BoF; if you keep it in the approved spec, use it for summarising what was discussed and note any options that were rejected.


CategorySpec

DesktopTeam/Specs/Maverick/UpstartJobAdministration (last edited 2010-05-30 16:47:43 by pool-96-230-20-221)