[ec2] RFC: server-lucid-ec2-config: user-data configuration file

Eric Hammond esh at ubuntu.com
Mon Dec 21 23:41:13 GMT 2009


[repost of my response on ubuntu-cloud@ in case others care to offer
feedback on my feedback]

Regarding this snippet in the sample config file:

  # Update apt database on first boot
  # (ie run apt-get update)
  # Default: true
  apt_update: false

I am concerned about the implication that apt-get update might be run
automatically on first boot even when the old style user-data script is
provided or when users are configuring through automated ssh on startup.

I understand and support the desire to make things easy for new users,
but would suggest that it is also important to let advanced users
configure their new instances quickly and not get in their way.

Here's a sample scenario:

  user-data script changes apt sources to a different repository,
  includes multiverse, and/or adds a PPA.  user-data script then
  runs apt-get update itself and starts installing software.

If apt-get update is run automatically before this starts, then the
user-data script has to figure out how to wait for the (useless) update
to complete, making the code more complex and delaying the startup of
the instance.  This also places a startup dependency on the existing apt
mirrors which I sometimes do not wish to have in my instances.

If the apt-get update were to default to false, then the new config file
approach can easily switch it to true, not breaking the way that it
currently works.

Eric Hammond

Mathias Gug wrote:
> Hi,
> I'd like to request your feedback on the configuration file syntax and features
> used by UEC/EC2 instances during their first boot.
> As part of the Boot-time configuration for UEC/EC2 images specification [1] a
> configuration file can be passed to instances as user-data to customize some
> part of the instance without writing and maintaining custom scripts.
> [1]: https://blueprints.launchpad.net/ubuntu/+spec/server-lucid-ec2-config
> The goal is to support most common operations done on instance boot as well as
> supporting bootstrapping the instance to be part of an existing configuration
> management infrastructure.
> It currently supports:
>  * apt configuration
>  * package installation
> Other requested features are:
>  * runurl support - http://alestic.com/2009/08/runurl
>  * ssh host keys setup
> Should these be included as well?
> I've attached an example of configuration file and would like to get feedback
> on the format as well as ideas for other features, either on the wiki page [2]
> or in this thread.
> [2]: https://wiki.ubuntu.com/ServerLucidCloudConfig
> Thanks,

More information about the Ubuntu-ec2 mailing list