OemConfigServer
Launchpad Entry: https://blueprints.launchpad.net/oem-config/+spec/oem-config-server
Created: NicolasBarcet
Contributors:
Packages affected: oem-config
Summary
OEM willing to ship server with Ubuntu pre-installed are blocked by the fact that oem-config currently only provides a graphical user interface. We need to develop a text based (curses?) front-end for oem-config. In parallel, people building virtual appliances need a way to offer their users to perform the base configuration of their appliance upon first login.
Release Note
oem-config can now be used by hardware vendors to ship their servers with Ubuntu pre-installed, thanks to a text-based interface that is now available at first boot. Additionally, oem-config can now also be used by virtual appliances to define base parameters of the appliance during the user's first login.
Rationale
Use Cases
- OEM want to ship his server with Ubuntu Server Edition pre-installed but still let the end user specify the last part of the installation.
- Joe buys a server with Ubuntu pre-installed, the first time he boots it, he is requested to specify
- account information and password
- Timezone
- server name
- ip configuration
- Tasks to install (same list as the one offered on the server installer)
- ISV ships a whatever server virtual appliance and need the end user to configure the last part of the install after the user has logged in for the first time. ISV needs to be able to modify the questions in a reasonable way without having to recompile the tool.
- The Ubuntu team needs to have a way for the user to initialize base configuration option when first starting a base image provided on some cloud (such as EC2)
Assumptions
- oem-config is already designed to have multiple front-ends (gtk, qt). This would mainly add a text-based front end.
- oem-config can be modified to be called as part of a first login script
- oem-config can be modified to handle variable question list based on some configuration file
Design
This should basically keep the same design oem-config uses on the desktop if this can be done with the above assumptions
Implementation
- Add a tasksel option to oem-config
Add a curses front end to the existing ones in oem-config [done, oem-config 1.54.2]
Fix bug 28890 so that any timezone can be selected even with a plain debconf frontend [done, tzsetup 1:0.24ubuntu1]
- ...
UI Changes
- add a tasksel
- add ip configuration option
- add ability to define runtime options
Code Changes
Code changes should include an overview of what needs to change, and in some cases even the specific details.
Test/Demo Plan
Outstanding Issues
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.