~larsks/cloud-init:bug/1769952

Last commit made on 2018-05-08
Get this branch:
git clone -b bug/1769952 https://git.launchpad.net/~larsks/cloud-init
Only Lars Kellogg-Stedman can upload to this branch. If you are Lars Kellogg-Stedman please log in for upload directions.

Branch merges

Branch information

Name:
bug/1769952
Repository:
lp:~larsks/cloud-init

Recent commits

fbb5c77... by Lars Kellogg-Stedman

do not rely on host /proc/cmdline in test_net.py

this makes test_net.TestGenerateFallbackConfig.test_unstable_names
mock the value of /proc/cmdline in the same way as the existing
test_unstable_names_disabled test.

LP: #1769952

80dfb3b... by Chad Smith

pycodestyle: Fix deprecated string literals, move away from flake8.

Fix remaining pycodesytle warnings related to invalid string literals
introduced in more recent pycodeflakes versions
https://bugs.python.org/issue27364 .

Also stop using flake8 in tox as it is incompatible with newer versions of
pyflakes. Instead we now add tox environments for pycodestyle and pyflakes
individually.

Set the versions in both pycodestyle and pyflakes to the currently
available versions.

aae494c... by Joshua Chan

azure: Add reported ready marker file.

This change is for Azure VM Preprovisioning. A bug was found when after
azure VMs report ready the first time, during the time when VM is polling
indefinitely for the new ovf-env.xml from Instance Metadata Service
(IMDS), if a reboot happens, we send another report ready signal to the
fabric, which deletes the reprovisioning data on the node.

This marker file is used to fix this issue so that we will only send a
report ready signal to the fabric when no marker file is present. Then,
create a marker file so that when a reboot does occur, we check if a
marker file has been created and decide whether we would like to send the
repot ready signal.

LP: #1765214

d24057a... by Scott Moser

tools: Support adding a release suffix through packages/bddeb.

bddeb already supported passing in a '--release' and that would get
into the changelog line.

If you used bddeb to build packages for a PPA, and built multiple
releases, then you would get the same version for each release, and
launchpad would reject your upload.

The change here means we get a ~16.04.1 (for xenial) suffix on the
dpkg version. If the distro-info-data package is not installed,
or the release is not known (such as the default "UNRELEASED"),
then you get no suffix.

fed07fc... by Harm Weites

FreeBSD: Invoke growfs on ufs filesystems such that it does not prompt.

By default, FreeBSD's growfs runs interactively asking a question
which can be mitigated using the '-y' command line option. The fix
here is simply to pass -y to growfs to avoid the prompt.

LP: #1404745

26fbb1a... by Scott Moser

tools: Re-use the orig tarball in packages/bddeb if it is around.

If you built packages with 'bddeb', each time it would create a new
tarball with make-tarball. If you then tried to upload two different
tarballs to launchpad (to a PPA), it would reject the second as the
orig tarball already existed.

This just supports looking in some places for a orig tarball and
re-using if it is found.

14cb492... by Scott Moser

netinfo: fix netdev_pformat when a nic does not have an address assigned.

The last set of changes to netdev_pformat ended up dropping the output
of devices that were not up. This adds back the 'down' interfaces to the
rendered output.

LP: #1766302

9f5907e... by Scott Moser

collect-logs: add -v flag, write to stderr, limit journal to single boot.

With no output at all from collect-logs, users have been confused
on where the output is. By default now, write to stderr what that
file is.

Also
 * add '-v' to increase verbosity. With a single -v flag, mention
   what file/info is being collected.
 * limit the 'journalctl' collection to this boot (--boot=0).
   collecting entire journal seems unnecessary and can be huge.
 * do not fail when collecting files or directories that are not there.

LP: #1766335

1117292... by Scott Moser

IBMCloud: Disable config-drive and nocloud only if IBMCloud is enabled.

Ubuntu images on IBMCloud for 16.04 have some seed data in
/var/lib/cloud/data/seed/nocloud-net. In order to have systems with
IBMCloud enabled, we modified ds-identify detection to skip that seed
if the system was on IBMCloud. That change did not consider the
fact that IBMCloud might not be in the datasource list.

There was similar logic in the ConfigDrive datasource in ds-identify
and the datasource itself.

Config drive is now updated to only check and avoid IBMCloud if IBMCloud
is enabled. The check in ds-identify for nocloud was dropped. If a
user provides a nocloud seed on IBMCloud, then that can be used.

This means that systems running Xenial will continue to get their
old datasources.

LP: #1766401

4bd5870... by Ryan Harper

Add reporting events and log_time around early source of blocking time

In looking at some boot time for Xenial, Artful and Bionic, we noticed
some long amounts of time that appeared to be part of the DataSource but
we related to resolving URLs. In Artful and Bionic, there was an issue
(bug: #1739672) that resulted in slow getaddrinfo() calls when
systemd-resolved was in use. This patch adds two events that track time
for datasource.setup_datasource() and datasource.activate_datasource()
Additionally use log_time() to wrapper util.is_resolvable_url() which
leaves info in cloud-init.log about how much time was spent.