~harlowja/cloud-init/shared-wait-metadata

Viewing all changes in revision 947.

  • Committer: Scott Moser
  • Date: 2014-02-14 05:15:08 UTC
  • mfrom: (941.1.3 sdc-op-script)
  • Revision ID: smoser@ubuntu.com-20140214051508-umgrrondapu2f01d
re-work vendor-data and smartos

This reduces how much cloud-init is explicitly involved in what "vendor-data"
could accomplish.  The goal of vendor-data was to provide the vendor with a
channel to run arbitrary code that accomodate for their specific platform.

Much of those accomodations are currently being done in cloud-init.
However, this now moves some of those things to default "vendor-data", instead
of cloud-init proper.

Basically, now we have an 'sdc:vendor-data' key in the metadata.
If that does not exist, then cloud-init will use the default.

The default, provides a boothook.  That boothook writes a file into
/var/lib/cloud/per-boot/ .  That file will be both written on every boot
and then executed at rc.local time frame (by 'scripts-per-boot').

It will then execute /var/lib/cloud/instance/data/user-script
and /var/lib/cloud/instance/data/operator-script if they exist.

So, the things that cloud-init is now doing outside of the default vendor-data
that I would rather be done in vendor-data is:
 * managing the population of instance/data/user-script and
   instance/data/operator-script.  These could very easily be done
   from the boothook, but doing them in cloud-init removes the necessity
   for having a 'mdata-get' command in the image (or some other way for
   the boothook script to query the datasource).
 * managing the LEGACY things.

expand all expand all

Show diffs side-by-side

added added

removed removed

Lines of Context: