ServerRelease11.10

  • Launchpad Entry: server-o-arm-server

  • Created: Michael Casadevall

  • Contributors:

  • Packages affected: ubuntu-cdimage, debian-installer, all server seed packages

Summary

For the 11.10 cycle, Ubuntu will support ARM server images for all available platforms.

Release Note

Ubuntu now supports server images on the ARM architecture

Rationale

With the low power/high performance devices becoming available based around the ARM architecture, making Ubuntu the leading ARM Server Distribution.

User stories

  • Alpha want to build a low power/low temperature cluster out of cheaply available ARM boxes
  • Beta wants to build a home server appliance that is silent, and small
  • Delta is an ARM server vendor and wishes to ship Ubuntu on their platform

Assumptions

  • Serial-by-default is acceptable for these images
  • hd-install will be implemented for 12.04 cycle
  • live-helper/livecd-rootfs must be extended to create a pool on the image on image creation for pre-installed images

Design

As ARM has unique image types, and greatly varied hardware, work is required across the board to implement server images, insure proper QA, benchmarking, and confirming that security features for present for i386/amd64 are also present for ARM.

Implementation

For full implementation, this spec depends on several other specs to be fully implemented, a dependency tree of said specs is available on server-o-arm-server

Targets

For the 11.10 cycle, the following sub-architectures will be targeted for server implementation

  • armel+omap
    • Image types: netboot, headless, preinstall server.
    • Product Manager: Michael Casadevall
  • armel+omap4
    • Image types: netboot, headless, preinstall server.
    • Product Manager: Michael Casadevall
  • armel+mx5
    • Image types: headless
    • Product Manager: Scott Kitterman

UI Changes

Due to the implementation of the pool-on-disk required for server images, a new installer question is required to ask the user if they wish to delete the pool, and handle the users responses appropriately. This is covered in detail in the other-o-arm-preinstall-pool spec.

Code Changes

live-helper will require extension to implement pool-on-disk support (Covered by other-o-arm-preinstall-pool]), and a new ubuntu-server target. This ubuntu-server target will consist of the current ubuntu-headless image + a pool-on-disk of the ubuntu-server ship-seed, with oem-config guiding the user through initial setup and installation steps.

For netboot style-images, required by most deployment tools, debian-installer will have to be extended to create SD-writable images.

Migration

No migration, new development.

Test/Demo Plan

Specific testing and QA of server images is covered in the server-o-arm-image-qa and UbuntuSpec: server-o-arm-image-validation blueprints.

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.

We have two images we regularly build:

OMAP3
OMAP4

We currently have two images per architecture:

Headless
Netbook

Live Image
Alternate Image for ARM (had Dove, and i.MX51)

Headless is everything you would have in a server image, minus tasksel items for server.
We don't have a ship seed.  
If the server is not on a network, won't install because there is no shipping seed
Could add shipping seed to the headless image

Look at plug devices?

make a router-server combination
make memcached freedom-box

Use OpenStack for ARM + LXC

Action Item:
Don't want to run a server off an SD card
OEM-config runs on the serial console, needs a switch to appear on serial AND/OR console
Select platform for ARM server release
OMAP3 beagleboard XM
OMAP4 pandaboard 
Look at ARM Versatile Express
Preseed, vs unpack and boot (which format)
Have a proper debian installer 
Need to have both netboot + preinstall (headless) + bootfloppy
'bootfloppy' has different definition based on platform
JAVA - dependencies on openJDK, getting java working better on ARM
ARM java VM's are optimized for client, need to be optimised for enterprise/server
IST project has ARM support
Landscape has issues on ARM, Smart has issues - NCommander to handle

Network filesystems for diskless boot must be tested and supported - NFS (with and without RAMdisK), iSCSI, NDB, AFS(?), CEPH, GFS2, PVFS, RAID, LVM

Deployment tools that need to be tested
Deployment Tools
Preseeds

Bonding and bridging networking (TUN/TAP/802.1q/VLAN/VPN/IPv6/IPsec)

Interpreted languages, compiled languages that have Server dependencies:
Erlang
python
Ruby (Rails?)

Automated testing on ARM platforms needs to be done.
Server team test cases need to be looked at.

LAMP stack testing

libtbb2

Crypto acceleration in kernel
  * urandom, random, random number 
  * entropy keys

32 vs 64 bit

gnuTLS, SSL, etc need to be validated

AppArmor on ARM, it's not validated yet on ARM
toolchain, check that hardening is being called (Case)
memory randomization
selinux (test once)
PAX is don't care

toolchain, 64 bit atomics are missing in GCC 4.5

Check exploits are fixed on ARM!   When there is a stack exploit, CV's, make sure the patch works on ARM.

System Management Tools!!
---------------------------------------------
Sysstat, IPMI, WOL, watchdog, tripit, rkhunter, tiger, monit, denyhosts

apport will be important for servicing

freedombox on ARM

-----------------------

Net install works on OMAP3, OMAP4 needs work 
Calxeda will provide a PXE boot patch for u-boot
LXC containers on ARM?
Servers and Cloud


CategorySpec

Specs/ARM/ServerRelease11.10 (last edited 2011-05-17 21:53:50 by 076-076-148-180)