~chad.smith/cloud-init:add-cloudinit-pkg-to-all-targets

Last commit made on 2017-09-20
Get this branch:
git clone -b add-cloudinit-pkg-to-all-targets https://git.launchpad.net/~chad.smith/cloud-init
Only Chad Smith can upload to this branch. If you are Chad Smith please log in for upload directions.

Branch merges

Branch information

Name:
add-cloudinit-pkg-to-all-targets
Repository:
lp:~chad.smith/cloud-init

Recent commits

dfb0628... by Chad Smith

tests: Add cloudinit package to all test targets

The package cloudinit was sparsely added to only the makefile's unittest
target and tox's py3 target. This branch adds cloudinit package to
'make unittest3' and all tox environments. It tweaks one cloudinit unit
test to use mocked_object.call_count instead of
mocked_object.assert_called_once which is not defined in some python
unittest versions.

7eb3460... by Chad Smith

ec2: Fix maybe_perform_dhcp_discovery to use /var/tmp as a tmpdir

/run/cloud-init/tmp is on a filesystem mounted noexec, so running
dchlient in Ec2Local during discovery breaks with 'Permission denied'.
This branch allows us to run from a different tmp dir so we have exec
rights.

LP: #1717627

eaadf52... by Paul Meyer

Azure: wait longer for SSH pub keys to arrive.

Currently the Azure data source waits up to 60 seconds. This has proven
not to be sufficient to provide resiliency to unrelated transient failures
in other parts of the infrastructure. Azure already has logic outside of
the VM to abort hung provisioning. This changes lengthens the time out to
15 minutes.

LP: #1717611

10f067d... by Scott Moser

GCE: Fix usage of user-data.

This regressed in the rework of GCE datasource to have a main.
The fix really just stores the user-data that was read in
self.userdata_raw, rather than self.userdata. That is consistent
with other datasources and ulitimately how it was before the refactor.

The main is updated to address the fact that user-data is binary data
and may not be able to be printed.

LP: #1717598

e626966... by Chad Smith

cmdline: add collect-logs subcommand.

Add a new collect-logs sub command to the cloud-init CLI. This script
will collect all logs pertinent to a cloud-init run and store them in a
compressed tar-gzipped file. This tarfile can be attached to any
cloud-init bug filed in order to aid in bug triage and resolution.

A cloudinit.apport module is also added that allows apport interaction.
Here is an example bug filed via ubuntu-bug cloud-init: LP: #1716975.

Once the apport launcher is packaged in cloud-init, bugs can be filed
against cloud-init with the following command:
  ubuntu-bug cloud-init

LP: #1607345

da1db79... by Scott Moser

CloudStack: consider dhclient lease files named with a hyphen.

A regression in 'get_latest_lease' made it ignore files starting with
'dhclient-' rather than just 'dhclient.'. The fix here is to allow those
files to be considered.

There is a lot more we could do here to better ensure that we pick the
most recent lease, but this change fixes the regression.

LP: #1717147

024ecc1... by Chad Smith

resizefs: Drop check for read-only device file, do not warn on overlayroot.

As root user, os.access(<path>, os.W_OK) will always return True so that
path will never get executed. Also avoid a warning if the root is
overlayroot, which is the common case on a MAAS booted 'ephemeral' system.

a2f8ce9... by Balint Reczey

Do not provide systemd-fsck drop-in which could cause ordering cycles.

Revert "centos: do not package systemd-fsck drop-in."
Revert "systemd: make systemd-fsck run after cloud-init.service"

The systemd-fsck drop-in caused regressions by introducing ordering
The change reverts the original commit that added systemd-fsck drop-in
and another commit that had removed that from the centos packaging:
   1f5489c258a26f4e26261c40786537951d67df1e
   8a5296c41db45be3a172862f324ad44e732a2250

The result is to no longer provide the systemd-fsck drop-in.

LP: #1717477

376168e... by Joshua Powers

tests: Enable the NoCloud KVM platform

The NoCloud KVM platform includes:

  * Downloads daily Ubuntu images using streams and store in
    /srv/images
  * Image customization, if required, is done using
    mount-image-callback otherwise image is untouched
  * Launches KVM via the xkvm script, a wrapper around
    qemu-system, and sets custom port for SSH
  * Generation and inject an SSH (RSA 4096) key pair to use for
    communication with the guest to collect test artifacts
  * Add method to produce safe shell strings by base64 encoding
    the command

Additional Changes:

  * Set default backend to use LXD
  * Verify not running script as root in order to prevent images
    from becoming owned by root
  * Removed extra quotes around that were added when collecting
    the cloud-init version from the image
  * Added info about each release as previously the lxd backend
    was able to query that information from pylxd image info,
    however, other backends will not be able to obtain the same
    information as easily

29a9296... by Dusty Mabe

resizefs: pass mount point to xfs_growfs

Supposedly it was never a feature to be able to pass a path to a block
device to xfs_growfs and have it grow the filesystem. The behavior changed
upstream recently. It is only supported to pass the mount point of a mounted
XFS filesystem. This causes breakages in cloud-init.

Upstream xfs change was commit b97815a0321072a7154ecab63e297af84066fc78.
 https://git.kernel.org/pub/scm/fs/xfs/xfsprogs-dev.git/commit/?id=b97815a0321

rhbz: rhbz: https://bugzilla.redhat.com/show_bug.cgi?id=1490505

Signed-off-by: Dusty Mabe <email address hidden>