~sbright/cloud-init:master

Last commit made on 2016-11-18
Get this branch:
git clone -b master https://git.launchpad.net/~sbright/cloud-init
Only Sean Bright can upload to this branch. If you are Sean Bright please log in for upload directions.

Branch merges

Branch information

Name:
master
Repository:
lp:~sbright/cloud-init

Recent commits

9e904bb... by Scott Moser

Add activate_datasource, for datasource specific code paths.

This adds a call to 'activate_datasource'. That will be called
during init stage (or init-local in the event of a 'local' dsmode).
It is present so that the datasource can do platform specific operations
that may be necessary. It is passed the fully rendered cloud-config
and whether or not the instance is a new instance.

The Azure datasource uses this to address formatting of the ephemeral
devices. It does so by
 a.) waiting for the device to come online
 b.) removing the marker files for the disk_setup and mounts modules
     if it finds that the ephemeral device has been reset.

LP: #1611074

9d826b8... by Scott Moser

systemd: cloud-init-local use RequiresMountsFor=/var/lib/cloud

While cloud-init writes its data to /var/lib/cloud, we
previously lazily added RequiresMountsFor=/var/lib . It is more correct
to list the more complete path.

LP: #1642062

b6561a1... by Scott Moser

systemd: cloud-init remove After=systemd-networkd-wait-online

cloud-init.service cannot currently run
  After=systemd-networkd-wait-online.service
as systemd-networkd.service is After dbus.service, but
cloud-init.service is:
  Before=sysinit.target
and sysinit.target is before dbus.service.

The result is that we are temporarily preferring for cases
where there is systemd-networkd in place to have cloud-init.service run
without networking properly configured.

See bug 1636912 for more information.

d0e293e... by Scott Moser

systemd: cloud-init-local change Before basic to sysinit

sysinit.target happens earlier in boot than basic.target.
cloud-init-local.service had:
  Before=basic.target
but cloud-init.service had:
  After=cloud-init-local.service
  Before=sysinit.target

The result was that cloud-init-local.service was indirectly
Before sysinit.target anyway, so this change is just to more
specifically state that.

584b843... by Scott Moser

pep8: fix style errors reported by pycodestyle 2.1.0

pycodestyle 2.1.0 is in Ubuntu zesty, and complained about the
changes made here. Simple style changes. This makes 'make pep8'
pass again when built in a zesty build system with proposed enabled.

bf4010a... by Scott Moser

systemd: drop both Wants and After local-fs.target

Drop mention of local-fs.target from both cloud-init-local.service
and cloud-init.service. This could actually could cause a loop in
ordering due to cc_mounts writing mount points with:
  x-systemd.requires=cloud-init.service

Rather, we specifically list /var/lib/ and systemd-remount-fs.service
in cloud-init-local.service. cloud-init.service will run after
cloud-init-local and thus will have these satisfied.

f7d6bfa... by Scott Moser

systemd: networking service adjustments.

Here we drop the Requires=networking.service but keep the
After=networking.service. The change there is that we no longer
force networking.service to run, as the system may not have it or
be configured to use it.

Second, we add After=systemd-networkd-wait-online.service.
That causes us to run after systemd-networkd has brought networking
up.

The end result is that we now run after both ifupdown or
systemd-networkd (if they were going to run) but do not force either
to run.

One other change is that by dropping Requires=networking.service
cloud-init will now run even if networking failed to come up.

LP: #1636912

e568aec... by Scott Moser

systemd: replace Before=basic.target, dbus.target with sysinit.target

Per discussion on bug 1636912 and subsequent feedback on bug 1629797,
using:
  Before=sysinit.target
is a simpler solution than what we had implemented:
  Before=basic.target
  Before=dbus.target

LP: #1629797

134a6f5... by Scott Moser

doc: Add documentation on stages of boot.

This adds long overdue documentation on stages that cloud-init
runs during boot.

127f0f5... by Scott Moser

doc: make the RST files consistently formated and other improvements.

The biggest things here are:
 * move doc/sources/*/README.rst to doc/rtd/topics/datasources
   This gives each datasource a page in the rtd docs, which make
   it easier to read.
 * consistently use the same header style throughout.
   As suggested at
   http://thomas-cokelaer.info/tutorials/sphinx/rest_syntax.html
   use:
     # with overline, for parts
     * with overline, for chapters
     =, for sections
     -, for subsections
     ^, for subsubsections
     “, for paragraphs

Also, move and re-format vendor-data documentation to rtd.