Last commit made on 2018-08-17
Get this branch:
git clone -b topic-pengpengs-vmware-support https://git.launchpad.net/~pengpengs/cloud-init
Only Pengpeng Sun can upload to this branch. If you are Pengpeng Sun please log in for upload directions.

Branch merges

Branch information


Recent commits

351f3da... by Pengpeng Sun

Fix an issue that VMware customize a VM fails with a customization
spec contains Static IP but gateway.
If v4.gateways is None, it should not add route.

f624927... by Wesley Gao

docs: Fix example cloud-init analyze command to match output.

Fix a typo in in documentation that showed 'analyze blame' but
intended to show 'analyze dump'.

41f508d... by Scott Moser

netplan: Correctly render macaddress on a bonds and bridges when provided.

When converting network config v1 to netplan, we were not correctly
rendering the 'macaddress' key on a bond. Not that the difference
in spelling between v1 'mac_address' and v2 'macaddress' is intentional.
Also fixed here is rendering of the macaddress for bridges.

LP: #1784699

a6f95c7... by Scott Moser

tools: Add 'net-convert' subcommand command to 'cloud-init devel'.

Move the tools/net-convert.py to be exposed as part of 'cloud-init devel'
It can now be called like:
  $ cloud-init devel net-convert
Or, if you just have checked out source (and no cli executable):

  $ python3 -m cloudinit.cmd.devel.net_convert
  $ python3 -m cloudinit.cmd.main devel net-convert

e218c59... by Scott Moser

redhat: remove ssh keys on new instance.

This changes redhat's default behavior to remove the ssh keys on
new instance (ssh_deletekeys will now be at its default true value).

On redhat systems, cloud-init.service has both:

Which is why 'ssh_genkeytypes' is set to None
(yaml '~' == yaml null == python none).

I've changed that to be null as it seems more clear and we do not
use the tilda anywhere else in configs.

LP: #1781094
rhbz: https://bugzilla.redhat.com/show_bug.cgi?id=1598832

538af8e... by Scott Moser

Use typeset or local in profile.d scripts.

Bash and most other "bourne-like" shells allow declaring function
local variables via 'local'. ksh does not. Instead of using 'local'
always, use 'typeset' when the KSH_VERSION variable is present in

LP: #1784713

01cfa71... by Akihiko Ota

OpenNebula: Fix null gateway6

The OpenNebula data source generates an invalid netplan yaml file
if the IPv6 gateway is not defined in context.sh.

LP: #1768547

3cee0bf... by Chad Smith

oracle: fix detect_openstack to report True on OracleCloud.com DMI data

The OpenStack datasource in 18.3 changed to detect data in the
init-local stage instead of init-network and attempted to redetect
OpenStackLocal datasource on Oracle across reboots. The function
detect_openstack was added to quickly detect whether a platform is
OpenStack based on dmi product_name or chassis_asset_tag and it was
a bit too strict for Oracle in checking for 'OpenStack Nova'/'Compute'
DMI product_name.

Oracle's DMI product_name reports 'SAtandard PC (i440FX + PIIX, 1996)'
and DMI chassis_asset_tag is 'OracleCloud.com'.

detect_openstack function now adds 'OracleCloud.com' as a supported value
'OracleCloud.com' to valid chassis-asset-tags for the OpenStack

LP: #1784685

361ae34... by Scott Moser

tests: improve LXDInstance trying to workaround or catch bug.

Described in bug 1783198 we have seen some transient failures when
using pylxd -> lxd api.
This does:
 * adds a str() representation of LXDInstance
 * checks the value of the pylxd_container object on instantion
 * sets pylxd_container object to None on deletion.
 * adds retry logic to shutdown()

3146c96... by Mike Gerdts

update_metadata re-config on every boot comments and tests not quite right

The comment in update_metadata() that explains how a datasource should
enable network reconfig on every boot presumes that
EventType.BOOT_NEW_INSTANCE is a subset of EventType.BOOT. That's not
the case, and as such a datasource that needs to configure networking
when it is a new instance and every boot needs to include both event

To make the situation above easier to debug, update_metadata() now
logs when it returns false.

To make it so that datasources do not need to test before appending to
the update_events['network'], it is changed from a list to a set.

test_update_metadata_only_acts_on_supported_update_events is updated
to allow datasources to support EventType.BOOT.

Author: Mike Gerdts <email address hidden>