~gilles-dartiguelongue/cloud-init:master

Last commit made on 2018-11-13
Get this branch:
git clone -b master https://git.launchpad.net/~gilles-dartiguelongue/cloud-init
Only Gilles Dartiguelongue can upload to this branch. If you are Gilles Dartiguelongue please log in for upload directions.

Branch merges

Branch information

Name:
master
Repository:
lp:~gilles-dartiguelongue/cloud-init

Recent commits

6062595... by Chad Smith on 2018-11-13

azure: retry imds polling on requests.Timeout

There is an infrequent race when the booting instance can hit the IMDS
service before it is fully available. This results in a
requests.ConnectTimeout being raised.
Azure's retry_callback logic now retries on either 404s or Timeouts.

LP:1800223

6f95120... by Jason Zions <email address hidden> on 2018-11-12

azure: Accept variation in error msg from mount for ntfs volumes

If Azure detects an ntfs filesystem type during mount attempt, it should
still report the resource device as reformattable. There are slight
differences in error message format on RedHat and SuSE. This patch
simplifies the expected error match to work on both distributions.

LP: #1799338

d910ecd... by Aswin Rajamannar on 2018-11-12

azure: fix regression introduced when persisting ephemeral dhcp lease

In commitish 9073951 azure datasource tried to leverage stale DHCP
information obtained from EphemeralDHCPv4 context manager to report
updated provisioning status to the fabric earlier in the boot process.

Unfortunately the stale ephemeral network configuration had already been
torn down in preparation to bring up IMDS network config so the report
attempt failed on timeout.

This branch introduces obtain_lease and clean_network public methods on
EphemeralDHCPv4 to allow for setup and teardown of ephemeral network
configuration without using a context manager. Azure datasource now uses
this to persist ephemeral network configuration across multiple contexts
during provisioning to avoid multiple DHCP roundtrips.

3b332c9... by Chad Smith on 2018-11-08

azure: add udev rules to create cloud-init Gen2 disk name symlinks

Cloud-init delivers udev rules on Azure to create the following symlinks:
- /dev/disk/cloud/azure_root
- /dev/disk/cloud/azure_root-part#
- /dev/disk/cloud/azure_resource
- /dev/disk/cloud/azure_resource-part#

Cloud-init cc_disk_setup expects presence of these dev links in order to
setup the mounted ephemeral disks. Gen1 instances udev rules match based
only a DEVICE_ID attribute that no longer exists on Gen2 instances.
Supplement existing Gen1 rules with matches on specitic SCSI target/lun
path 0:0:0 and 0:0:1 and generate links for azure_root and azure_resource
respectively.

LP: #1797480

093f968... by Chad Smith on 2018-11-08

tests: ec2 mock missing httpretty user-data and instance-identity routes

58476e7... by Chad Smith on 2018-11-01

azure: remove /etc/netplan/90-hotplug-azure.yaml when net from IMDS

There was a typo in the seeded filename s/azure-hotplug/hotplug-azure/.

9073951... by Aswin Rajamannar on 2018-10-31

azure: report ready to fabric after reprovision and reduce logging

When reusing a preprovisioned VM, report ready to Azure fabric as soon as
we get the reprovision data and the goal state so that we are not delayed
by the cloud-init stage switch, saving 2-3 seconds. Also reduce logging
when polling IMDS for reprovision data.

LP: #1799594

d74d3f0... by Chad Smith on 2018-10-30

query: better error when missing read permission on instance-data

Emit a permissions error instead of "Missing instance-data.json" when
non-root user doesn't have read-permission on
/run/cloud-init/instance-data.json

dc0be9c... by Chad Smith on 2018-10-26

instance-data: fallback to instance-data.json if sensitive is absent.

On cloud-init upgrade path from 18.3 to 18.4 cloud-init changed how
instance-data is written. Cloud-init changes instance-data.json from root
read-only to redacted world-readable content, and provided a separate
unredacted instance-data-sensitive.json which is read-only root.
Since instance-data is only rewritten from cache on
reboot, the query and render tools needed fallback to use the 'old'
instance-data.json if the new sensitive file isn't yet present.

This avoids error messages from tools about an absebt
/run/instance-data-sensitive.json file.

LP: #1798189

532ff0f... by Tomer Cohen on 2018-10-25

docs: remove colon from network v1 config example.

The docs for network v1 config contained a errant ':'. Simply drop it.