KarmicKickstart

Revision 5 as of 2009-07-02 11:56:21

Clear message

Summary

Ensure that we are fully compatible with Kickstart for the most common requirements and everything that is used through our installer, including RAID+LVM, encrypted partitions, and RHEL 5 Kickstart file compatibility.

Release Note

Kickstart compatibility in the installer has been updated with reference to RHEL 5.

Rationale

Our Kickstart compatibility implementation was created with reference to Red Hat Linux 9, and has not been updated to cover additions in more recent Red Hat releases. Several of the new commands are useful to administrators deploying Ubuntu.

There are some high-priority commands which were in RHL 9 but for which compatibility was never implemented in Ubuntu; we should clear these up, as they are frequently requested.

Design

Reference documentation

Ubuntu Kickstart documentation: https://help.ubuntu.com/9.04/installation-guide/i386/automatic-install.html

Existing implementation: RHL 9 - http://www.redhat.com/docs/manuals/linux/RHL-9-Manual/custom-guide/part-install-info.html

Desired implementation: RHEL 5 - http://www.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/5/html/Installation_Guide/ch-kickstart2.html

New commands

  • ignoredisk - skip specified disks in the partitioner
  • firstboot - control whether "Setup Agent" is started after reboot
  • iscsi - IP/target/port/user/password options for iSCSI installation
  • logging - syslog handling
  • mediacheck - equivalent to cdrom-checker
  • multipath
  • halt, poweroff - halt or switch off the power at end of installation rather than rebooting
  • repo - configure additional package sources
  • selinux
  • services - modify default set of services to run under default runlevel (probably not a good idea to try this until Upstart jobs settle)
  • vnc
    • This would need to be added to network-console (currently SSH only) - only really useful for graphical mode, which is not a priority for us

New options

  • 'install harddrive --biospart=BIOSID', 'part --onbiosdisk=BIOSID' (e.g. 82) - apparently with EDD
    • From git://git.fedorahosted.org/anaconda.git
  • wireless support options in 'network' command

Plan of action

We will (as usual) try to implement as much as we can of the new facilities, and document anything missing in the installation guide. However, since there are quite a few items here, many of which are not very important for us, it seems best to have some priorities.

RAID is the clear top priority. In fact, this was already one of our missing items from RHL 9, and is not getting any less important. LVM-on-RAID, in particular, is also important. This is also probably the hardest item here, as it seems likely to require a reformulation of the partman recipe formats in order to support better configuration of nested block devices. We will work on this in conjunction with Debian. See Debian bug #484421.

iSCSI is a relatively new entrant, and is the next most important item here. We will only be able to do this once foundations-karmic-iscsi-installer-support is implemented.

There are several pieces of low-hanging fruit which would be sufficiently straightforward to implement that they should be done early on despite their lower importance. These are:

  • repo
  • mediacheck
  • halt, poweroff

We will update the configuration UI (system-config-kickstart) to the newest available version to support these changes.

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.

Future work

A web interface for Kickstart file generation would be useful; some third-party services have attempted this kind of thing. However, this is rather blue-sky at the moment.


CategorySpec