Automation
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.
Launchpad entry: [https://features.launchpad.net/distros/ubuntu/+spec/ubiquity-automation ubiquity-automation]
Packages affected: ubiquity
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 ...