##(see the SpecSpec for an explanation) * '''Launchpad Entry''': UbuntuSpec:foundations-karmic-server-installer-improvements * '''Created''': ColinWatson * '''Contributors''': NickBarcet, others * '''Packages affected''': `partman-lvm`, `partman-md`, `partman-crypto`, `cdebconf`, `installation-guide` == Summary == Add support for: RAID+LVM installer targets via automatic partitioner, encrypted partition installer targets, and help text for the installer process. == Release Notes == The processes of setting up RAID, LVM, and encryption in the installer's partitioner have been streamlined. The installer now has a general facility for online help text, and some modules now have better online help as a result. == Rationale == The partitioner allows people to do everything they want, but is not intuitive, particularly where complex block devices (RAID and LVM) are concerned. The lack of sensible online help with a consistent interface is just faintly embarrassing. == Design == === Partitioning === RAID and LVM are common server partitioning use cases. Right now, configuring either requires setting up the required set of physical volumes as substrates (furthermore, each must be set up independently, requiring several keypresses and processing pauses per physical volume), and then the user must select "Configure software RAID" or "Configure the Logical Volume Manager" to assemble them. This is cumbersome in excelsis. The same applies to encrypted block devices. A relatively simple modification would be to allow the user to select "Configure software RAID", "Configure the Logical Volume Manager", or "Configure encrypted volumes" ''first'', and ''then'' offer a full multiselect list of partitions (including a brief description of the current contents of each). Any selected items would implicitly be marked to be used as physical volumes for the appropriate type of complex block device. There is no reason to make the current workflow impossible, but it will no longer be recommended. Note that this will cause the "Configure ..." items to show up for everyone, rather than just for those who have started the process of configuring the relevant types of block devices. We think this is in fact desirable, but it will be worth keeping an eye on user responses. === Online help === [[http://lists.debian.org/debian-boot/2009/06/msg00650.html|Proposal sent to debian-boot]] == Implementation == === Code Changes === ==== Partitioning ==== Change `partman-lvm/choose_partition/lvm/choices`, `partman-md/choose_partition/md/choices`, and `partman-crypto/choose_partition/choices` to offer their configuration choices even if no PVs are available. Change `partman-lvm/choose_partition/lvm/do_option`, `mdcfg/mdcfg.sh`, and `partman-crypto/lib/crypto-base.sh` to offer all existing partitions wherever they currently offer lists of their own physical volumes. Partitions must be displayed together with their size and current contents, to avoid confusion. `partman-crypto` will additionally need to display a message to the effect that this will cause partitions to be set up with default encryption parameters, and offer an escape mechanism to control this in finer detail (as it stands, encryption parameters are set up when creating physical volumes for encryption). ==== Online help ==== See the proposal sent to debian-boot, linked above. This amounts to relatively simple changes in `cdebconf`, and additions to whatever other installer packages we feel could benefit from help text. === Migration === Change `using-d-i/modules/partman-lvm.xml`, `using-d-i/modules/mdcfg.xml`, and `using-d-i/modules/partman-crypto.xml` in `installation-guide` to document the new recommended approach. == Test/Demo Plan == 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. == BoF agenda and discussion == Work on the graphical installer was discussed, but deferred per Mark. Most of the graphical installer work to date has happened in Debian, and we'll continue to build what they produce; there is no need to rip out what already works. As of late in the Jaunty cycle the graphical installer builds and boots successfully on Ubuntu, although it isn't terribly pretty, so interested parties can feel free to hack on it by way of the provided netboot images. (Some other items: RAID by default, cloud installation - were discussed but split off into separate sessions and specifications.) ---- CategorySpec