ServerPreInstallation

Differences between revisions 2 and 10 (spanning 8 versions)
Revision 2 as of 2008-11-25 12:38:18
Size: 2943
Editor: mx
Comment:
Revision 10 as of 2009-01-21 13:29:44
Size: 4387
Editor: 82-69-40-219
Comment: refactor partman section to my best guess of what this means
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
## page was renamed from server-pre-installation
Line 5: Line 6:
 * '''Contributors''': NickBarcet  * '''Contributors''': NickBarcet, EvanDandrea, ColinWatson
Line 9: Line 10:

We should look at the current installation design and remove any questions we can, add anything that we think is missing and have a firm grasp on our overall status.
Line 16: Line 19:
''This section should include a paragraph describing the end-user impact of this change. It is meant to be included in the release notes of the first release in which it is implemented. (Not all of these will actually be included in the release notes, at the release manager's discretion; but writing them is a useful exercise.)''
Line 20: Line 22:
We know that the speed and simplicity of the installation process is key to providing a "Just Works" experience. We want to offer the best default configuration we can, and offer the ability to set-up optional pieces (tasks), so we must balance these two areas. We firmly do not want a second stage after the installer has run. We should look at the current installation design and remove any questions we can, add anything that we think is missing and have a firm grasp on our overall status.

== Use Cases ==

== Assumptions ==
We know that the speed and simplicity of the installation process is key to providing a "Just Works" experience. We want to offer the best default configuration we can, and offer the ability to set up optional pieces (tasks), so we must balance these two areas. We firmly do not want a second stage after the installer has run. We should look at the current installation design and remove any questions we can, add anything that we think is missing and have a firm grasp on our overall status.
Line 28: Line 26:
You can have subsections that better describe specific parts of the issue. A number of specific changes were identified to streamline the installation process.

=== Reducing number of questions ===

Default the keyboard detection question to "no": if you inadvertently hit "yes" (the current default), you have to go through dozens of key presses. '''[done, console-setup 1.28ubuntu2]'''

Try to auto-detect the proxy details (remove question if not needed) ([[https://bugs.launchpad.net/bugs/209691|bug 209691]]). APT's timeout is rather long, and inconvenient in environments where a proxy is required.

We may [[http://www.linuxjournal.com/article/7856|try to auto-detect the timezone]], although this is low-priority.

=== Partman problems ===

At the moment, guided LVM partitioning always consumes almost the whole disk for /, which loses much of the flexibility of LVM; it is possible to control this, but only by using manual partitioning which is rather fiddly for LVM. As a middle ground, we will adjust the guided LVM partitioning mode to offer a straightforward way to select the amount of the volume group that should be allocated to logical volumes, indicating that this can easily be increased later.

=== Miscellaneous changes ===

We will [[https://bugs.launchpad.net/bugs/21570|allow manual package selection]], probably by fixing tasksel's "manual package selection" option (currently deactivated in Ubuntu) to work when tasksel is being run under cdebconf. This will probably require a cdebconf plugin in order to wrest control of the console from newt.

We will implement a facility for help text in the installer. This will require a debconf protocol modification (or at least a cdebconf plugin), and will need to be proposed upstream in Debian.

 * Check password strength
  * cracklib vs pam
  * Kees and Colin should discuss
 * GTK front-end for d-i
Line 32: Line 53:
This section should describe a plan of action (the "how") to implement the changes discussed. Could include subsections like:
Line 35: Line 54:

Should cover changes required to the UI, or specific UI that is required to implement this
Line 40: Line 57:
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.
Line 50: Line 58:

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.

This need not be added or completed until the specification is nearing beta.
Line 57: Line 61:
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.
Line 61: Line 63:
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. Want to be able to do a tree selection in tasksel, but that's not possible.

= Proposal for 9.04 =

See also:

 * UbuntuSpec:server-installer-partitioning

Possible idea to consider separately: better tools (web based) to generate preseed / kickstart files.

== Can we use ubiquity? ==

 * serial port support
 * preseeding?
 * easier beautification?
 * no LVM or RAID support
 * Jaunty+1 at the *earliest*
 * Evan thinks it's feasible, but Colin would know if there's any reason why we absolutely cannot.
   * Would need LVM support, RAID support, etc.
   * Would need to fall back to d-i if we cannot start a graphical session. We don't want a text frontend to ubiquity because that would create unnecessary layers.
 * Surely the core problems are that Ubiquity has absolutely no idea how to install a system by building it up from .deb packages, but only by copying a live filesystem; and that Ubiquity requires a live filesystem with an Ubuntu desktop in order to work, which is unlikely to fit on the server CD. --ColinWatson

Summary

We should look at the current installation design and remove any questions we can, add anything that we think is missing and have a firm grasp on our overall status.

  • Compare our installation to the current ones by Red Hat and Novell SUSE (Microsoft Windows?)
  • Examine whether our installation meets the common use cases (means specifying them in a specification)
  • Change the installation to meet anything that we are currently missing or over-complicating

Release Note

Rationale

We know that the speed and simplicity of the installation process is key to providing a "Just Works" experience. We want to offer the best default configuration we can, and offer the ability to set up optional pieces (tasks), so we must balance these two areas. We firmly do not want a second stage after the installer has run. We should look at the current installation design and remove any questions we can, add anything that we think is missing and have a firm grasp on our overall status.

Design

A number of specific changes were identified to streamline the installation process.

Reducing number of questions

Default the keyboard detection question to "no": if you inadvertently hit "yes" (the current default), you have to go through dozens of key presses. [done, console-setup 1.28ubuntu2]

Try to auto-detect the proxy details (remove question if not needed) (bug 209691). APT's timeout is rather long, and inconvenient in environments where a proxy is required.

We may try to auto-detect the timezone, although this is low-priority.

Partman problems

At the moment, guided LVM partitioning always consumes almost the whole disk for /, which loses much of the flexibility of LVM; it is possible to control this, but only by using manual partitioning which is rather fiddly for LVM. As a middle ground, we will adjust the guided LVM partitioning mode to offer a straightforward way to select the amount of the volume group that should be allocated to logical volumes, indicating that this can easily be increased later.

Miscellaneous changes

We will allow manual package selection, probably by fixing tasksel's "manual package selection" option (currently deactivated in Ubuntu) to work when tasksel is being run under cdebconf. This will probably require a cdebconf plugin in order to wrest control of the console from newt.

We will implement a facility for help text in the installer. This will require a debconf protocol modification (or at least a cdebconf plugin), and will need to be proposed upstream in Debian.

  • Check password strength
    • cracklib vs pam
    • Kees and Colin should discuss
  • GTK front-end for d-i

Implementation

UI Changes

Code Changes

Test/Demo Plan

Unresolved issues

BoF agenda and discussion

Want to be able to do a tree selection in tasksel, but that's not possible.

Proposal for 9.04

See also:

Possible idea to consider separately: better tools (web based) to generate preseed / kickstart files.

Can we use ubiquity?

  • serial port support
  • preseeding?
  • easier beautification?
  • no LVM or RAID support
  • Jaunty+1 at the *earliest*
  • Evan thinks it's feasible, but Colin would know if there's any reason why we absolutely cannot.
    • Would need LVM support, RAID support, etc.
    • Would need to fall back to d-i if we cannot start a graphical session. We don't want a text frontend to ubiquity because that would create unnecessary layers.
  • Surely the core problems are that Ubiquity has absolutely no idea how to install a system by building it up from .deb packages, but only by copying a live filesystem; and that Ubiquity requires a live filesystem with an Ubuntu desktop in order to work, which is unlikely to fit on the server CD. --ColinWatson


CategorySpec

ServerPreInstallation (last edited 2009-02-19 16:01:08 by 82-69-40-219)