ServerPreInstallation

Differences between revisions 1 and 14 (spanning 13 versions)
Revision 1 as of 2008-11-23 14:23:31
Size: 3779
Editor: mx
Comment:
Revision 14 as of 2009-02-13 11:02:10
Size: 4633
Editor: 82-69-40-219
Comment:
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 10: Line 11:
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 13: Line 16:
 * Try the Debian installation system to see if this is better
 * Select and integrate if it this is the right answer (Foundations Team)
 * Ensure that QA can add this to their testing matrix
 * Change the documentation to reflect the new install process
Line 21: 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.)'' TBD
Line 25: Line 23:
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.

The overall look and the usability of the installation process are very important when convincing users to try out Ubuntu. It's often their first experience of the operating system, and is a highly stressed situation. The current server installation is curses based and doesn't look fanstastic when compared to the desktop installation or the installation system from our competitors. We want to make our installation look fantastic as long as we don't damage the underlying power for large deployments. Integrating the current Debian installer might be the right step.

== 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 35: Line 27:
You can have subsections that better describe specific parts of the issue. A number of specific changes were identified to streamline the installation process.
Line 37: Line 29:
== Implementation == === Reducing number of questions ===
Line 39: Line 31:
This section should describe a plan of action (the "how") to implement the changes discussed. Could include subsections like: 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]'''
Line 41: Line 33:
=== UI Changes === 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.
Line 43: Line 35:
Should cover changes required to the UI, or specific UI that is required to implement this We may [[https://bugs.launchpad.net/bugs/34523|try to auto-detect the timezone]] ([[http://www.linuxjournal.com/article/7856|LinuxJournal article]], although this is low-priority.
Line 45: Line 37:
=== Code Changes === === Partman problems ===
Line 47: Line 39:
Code changes should include an overview of what needs to change, and in some cases even the specific details. 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. '''[done, partman-auto-lvm 32ubuntu2]'''
Line 49: Line 41:
=== Migration === === Miscellaneous changes ===
Line 51: Line 43:
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.
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.

We will [[http://bugs.debian.org/364526|offer an indication of password strength]]; it should be sufficient to complain about weak passwords rather than going to the effort of implementing an as-you-type check. (Kees and Colin need to discuss the backend implementation of this, cracklib vs. PAM vs. something else.)

We will attempt to offer the GTK frontend for d-i. Note, however, that since the directfb GDK backend is poorly maintained upstream and badly broken in Jaunty, this is '''at risk'''.

== See also ==

UbuntuSpec:server-installer-partitioning
Line 58: Line 57:
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. TBD
Line 60: Line 59:
This need not be added or completed until the specification is nearing beta. == Future work ==
Line 62: Line 61:
== Unresolved issues == Better tools (web based) to generate preseed / kickstart files.
Line 64: Line 63:
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.
Use of 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

TBD

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 (LinuxJournal article, 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. [done, partman-auto-lvm 32ubuntu2]

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.

We will offer an indication of password strength; it should be sufficient to complain about weak passwords rather than going to the effort of implementing an as-you-type check. (Kees and Colin need to discuss the backend implementation of this, cracklib vs. PAM vs. something else.)

We will attempt to offer the GTK frontend for d-i. Note, however, that since the directfb GDK backend is poorly maintained upstream and badly broken in Jaunty, this is at risk.

See also

server-installer-partitioning

Test/Demo Plan

TBD

Future work

Better tools (web based) to generate preseed / kickstart files.

Use of 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)