~raharper/cloud-init:ubuntu/devel/newupstream-20180427

Last commit made on 2018-04-27
Get this branch:
git clone -b ubuntu/devel/newupstream-20180427 https://git.launchpad.net/~raharper/cloud-init
Only Ryan Harper can upload to this branch. If you are Ryan Harper please log in for upload directions.

Branch merges

Branch information

Name:
ubuntu/devel/newupstream-20180427
Repository:
lp:~raharper/cloud-init

Recent commits

36841d7... by Ryan Harper

releasing cloud-init version 18.2-27-g6ef92c98-0ubuntu1~18.04.1

1a1a2f0... by Ryan Harper

update changelog (New upstream snapshot 18.2-27-g6ef92c98).

0e36641... by Ryan Harper

merge from upstream/master at 18.2-27-g6ef92c98

03bbb6f... by Scott Moser

update changelog

6ef92c9... by Scott Moser

IBMCloud: recognize provisioning environment during debug boots.

When images are deployed from template in a production environment
the artifacts of the provisioning stage (provisioningConfiguration.cfg)
that cloud-init referenced are cleaned up. However, when provisioned
in "debug" mode (internal to IBM) the artifacts are left.

This changes the 'is_ibm_provisioning' implementations in both
ds-identify and in the IBM datasource to identify the provisioning
stage more correctly. The change is to consider provisioning only
if the provisioing file existed and there was no log file or
the log file was older than this boot.

LP: #1767166

4731c8d... by Ryan Harper

net: detect unstable network names and trigger a settle if needed

The cloud-init-local.service expects that any network device name changes
have already been completed by the kernel or udev daemon.

In some situations we've found that the renaming of interfaces from kernel
names (eth0, eth1, etc) to their persistent names (eno1, ens3, enp0s1,
etc) may happen after cloud-init-local has started where it reads values
from sysfs about what network devices are present, and which device to use
as a fallback nic.

Subsequently, cloud-init-local would write out network configuration for a
kernel device name which would no longer be present by the time that
networking services start to bring up the devices. The result is that the
instance does not get networking configured. Prior to use of
systemd-networkd, the Ubuntu 'networking.service' unit included a call to
udevadm settle which is why this race is not seen on a Xenial system.

This change adds the ability to detect if an interface has a stable name,
if if we find one without stable names and stable names have not been
disabled (net.ifnames=0 in /proc/cmdline), then cloud-init will invoke
udevadm settle.

LP: #1766287

b73559e... by Scott Moser

IBMCloud: improve documentation in datasource.

This adds information to the IBMCloud datasource describing the
6 different scenarios that it is expected to handle.

a57928d... by Vitaly Kuznetsov

sysconfig: dhcp6 subnet type should not imply dhcpv4

BOOTPROTO=dhcp in sysconfig enables DHCPv4 and we should not do this
implicitly when 'dhcp6' subnet is specified. In case both dhcpv4 and
dhcpv6 are needed users should specify both:
    subnets:
      - type: dhcp6
      - type: dhcp

Fix the current code and add a dhcpv6 only test.

Signed-off-by: Vitaly Kuznetsov <email address hidden>

b12e781... by Scott Moser

debian/control: add missing dependency on iproute2.

Ubuntu minimal images do not have iproute2, so correctly identify
our dependency on it.

LP: #1766711

85ff391... by Scott Moser

debian/control: add missing dependency on isc-dhcp-client.

Replace Build-Depends with Depends. The Build-Depends was incorrectly
added under bug 1759307.

LP: #1766714