Automation

Revision 1 as of 2006-11-08 20:21:36

Clear message

Please check the status of this specification in Launchpad before editing it. If it is Approved, contact the Assignee or another knowledgeable person before making changes.

Summary

Partially or fully automated installations using Ubiquity.

Rationale

Use cases

  • Some derivatives of Ubuntu know the answers to certain questions asked by the installer (e.g. the language), and want to set their values and prevent them from being asked.
  • Ubiquity provides a quicker installation than d-i by means of copying the live filesystem rather than installing packages, so, even though it does not provide a network installation at present, some people would like to use it for quickly bringing up individual machines in an automated and consistent fashion.

Scope

Design

Implementation

Code

Data preservation and migration

Unresolved issues

BoF agenda and discussion

Problems with existing preseeding facilities:

  • doesn't skip pages properly if no questions on that page are asked by the backend (visible in Dapper/Edgy on the "Select a disk" page if you only have one disk)
    • can be fixed by only displaying a page at all if a question is asked
    • may be helped by switching to gtk.Assistant (new in PyGTK 2.10) rather than home-grown notebook
  • need to be careful to distinguish questions that have already been asked in this ubiquity run from questions that have been preseeded
    • complicated debconf semantics around the "seen" flag; may be helped by switching to cdebconf
  • if and only if you ask the question once, it should be asked on subsequent runs

... so:

  • no matter what, skip a page if no questions at all are asked on it
  • under normal circumstances, ubiquity ignores the seen flag set by preseeding
  • if --automatic is given on the command line, then the seen flag will be honoured too: specifically, a page will be skipped if no questions without the seen flag set are asked on it
    • this behaves badly if mixed with cancelling ubiquity and re-running it, which is why it cannot be the default

Implementor needs to go through and test that each individual question can be preseeded, and fix any further bugs that arise (they should be minor).

Must create documentation on automatic installations of ubiquity (or else you need a pet debconf expert to work it out for you). Also need installer developer documentation on how this is supposed to work, or else we'll get horribly confused next time round!

Noninteractive frontend:

  • not very useful in the context of ubiquity, since noninteractive frontends mostly help with network installations, and ubiquity doesn't yet support those
  • text/newt frontend has more practical use, but is out of scope here ...


CategorySpec