Boot-time configuration for UEC/EC2 images

Registered by Scott Moser

The current method by which users can configure UEC/EC2 images is via 'user-data'. user-data that begins with #! is executed by the appropriate interpreter at S99 runlevel. This is a very effect method for customization but one that requires a fair amount of expertise to utilize.

It would be nice to provide a config file like syntax that would allow:
- what mirrors to use / what additional repos to add
- whether or not updates are installed on first boot
- ssh private keys to use (allowing user to dictate them, rather than polling for random keys from ec2-console)
- extra packages to install

Note: this differs from server-lucid-ec2-boothooks [1] as this would provide only for specific/static function. [1] would provide a hook into the images that could allow for building this blueprint.

Blueprint information

Jos Boumans
Scott Moser
Scott Moser
Series goal:
Accepted for lucid
Milestone target:
milestone icon lucid-alpha-3
Started by
Thierry Carrez
Completed by
Steve Langasek



Secondary Engineer: mathiaz

ttx review (2009-11-27): Spec/Design doesn't mention the pregenerated SSH keys support. Otherwise looks good, could use a little more detail in implementation choices.
 | spec did not mention pregenerated ssh key support because its not "simple". where "simple" means something that a human could type. I've added it explicitly to boothooks spec
mdz review 2009-11-30: Ordinarily, things like the config syntax should be part of the spec, so that the design choices can be reviewed. I've gone ahead and approved this so that you can start work on it, but please add this to the specification document itself and request a review from Thierry when you get there.


Work items for lucid-alpha-2:
[mathiaz] document plans for config parser syntax: DONE
[mathiaz] document plans for plugins: DONE
[mathiaz] finalize/document config syntax and how to plugin: DONE
[zulcss] config - apt-update and apt-upgrade : DONE
[zulcss] config - add repos: DONE
[zulcss] config - ssh pre-generated keys: DONE
[zulcss] config - EBS mounts: DONE
[zulcss] config - ephemeral storage RAID or mount points: DONE
[zulcss] config - runurl: DONE
[zulcss] test - Test functionality of config syntax: DONE

Work items for lucid-alpha-3:
[smoser] - hook config parser into boothooks: DONE
[smoser] - test integration with ec2-boothooks: DONE


Work Items