~dustin-miller/cloud-init:azure-exec-flips

Last commit made on 2019-08-06
Get this branch:
git clone -b azure-exec-flips https://git.launchpad.net/~dustin-miller/cloud-init
Only Lab can upload to this branch. If you are Lab please log in for upload directions.

Branch merges

Branch information

Name:
azure-exec-flips
Repository:
lp:~dustin-miller/cloud-init

Recent commits

11e6f60... by dustinmiller1337 <email address hidden>

Change Azure ds-helper to non executable

11fec87... by dustinmiller1337 <email address hidden>

Change Azure data source to non executable

496aaa9... by Dan Watkins

net/cmdline: split interfaces_by_mac and init network config determination

Previously "cmdline" network configuration could be either
user-specified network-config=... configuration data, or
initramfs-provided configuration data. Before data sources could modify
the order in which network config sources were considered, this
conflation didn't matter (and, indeed, in the default data source
configuration it will continue to not matter).

However, it _is_ desirable for a data source to be able to specify that
its network configuration should be preferred over the
initramfs-provided network configuration but still allow explicit
network-config=... configuration passed to the kernel cmdline to
continue to override both of those sources.

(This also modifies the Oracle data source to use read_initramfs_config
directly, which is effectively what it was using
read_kernel_cmdline_config for previously.)

1dbede6... by Dan Watkins

stages: allow data sources to override network config source order

Currently, if a platform provides any network configuration via the
"cmdline" method (i.e. network-data=... on the kernel command line,
ip=... on the kernel command line, or iBFT config via /run/net-*.conf),
the value of the data source's network_config property is completely
ignored.

This means that on platforms that use iSCSI boot (such as Oracle Compute
Infrastructure), there is no way for the data source to configure any
network interfaces other than those that have already been configured by
the initramfs.

This change allows data sources to specify the order in which network
configuration sources are considered. Data sources that opt to use this
mechanism will be expected to consume the command line network data and
integrate it themselves.

(The generic merging of network configuration sources was considered,
but we concluded that the single use case we have presently (a) didn't
warrant the increased complexity, and (b) didn't give us a broad enough
view to be sure that our generic implementation would be sufficiently
generic. This change in no way precludes a merging strategy in future.)

a02c0c9... by Ryan Harper

cloud_tests: updates and fixes

- Update paramiko and cryptography module versions (2.4.2) to
  address issues with algo and deprecation warnings.
- Modify ssh keypair generation to work with updated paramiko
- tools/xkvm sync with newer version from curtin
- Update NoCloudKvm instance.py to work with updated xkvm
  - pass -name to instance, useful for debugging on shared host
  - Add cache_mode platform config; default to cache=none,aio=native
- Switch to yaml.safe_load() in platforms.py

5498107... by Scott Moser

Fix bug rendering MTU on bond or vlan when input was netplan.

If input to network_state.parse_net_config_data was netplan (v2 yaml)
then the network state would lose the mtu information on bond or vlan.

LP: #1836949

b3a87fc... by Ryan Harper

net: update net sequence, include wait on netdevs, opensuse netrules path

On systems with many interfaces, processing udev events may take a while.
Cloud-init expects devices included in a provided network-configuration
to be present when attempting to configure them. This patch adds a step
in net configuration where it will check for devices provided in the
configuration and if not found, issue udevadm settle commands to wait
for them to appear.

Additionally, the default path for udev persistent network rules
70-persistent-net.rules may also be written to systems which include
the 75-net-generator.rules. During boot, cloud-init and the
generator may race and interleave values causing issues. OpenSUSE
will now use a newer file, 85-persistent-net-cloud-init.rules which
will take precedence over values created by 75-net-generator and
avoid collisions on the same file.

LP: #1817368

060b1a1... by Ryan Harper

Release 19.2

Bump the version in cloudinit/version.py to be 19.2 and update ChangeLog.

LP: #1836921

07b1723... by Ryan Harper

net: add rfc3442 (classless static routes) to EphemeralDHCP

The EphemeralDHCP context manager did not parse or handle
rfc3442 classless static routes which prevented reading
datasource metadata in some clouds. This branch adds support
for extracting the field from the leases output, parsing the
format and then adding the required iproute2 ip commands to
apply (and teardown) the static routes.

LP: #1821102

1404817... by Ryan Harper

templates/ntp.conf.debian.tmpl: fix missing newline for pools

The debian ntp.conf template did not contain a newline for the
comment used to mark the rendered ntp pools configured. This
resulted in an invalid line:

'# poolspool 0.int.pool.ntp.org iburst'

rather than:

'# pools
 pool 0.int.pool.ntp.org iburst'

This patch fixes the template and updates the unittest to
verify that the rendered templates puts servers and pools
at the beginning of a line.

LP: #1836598