~vtqanh/cloud-init:ImproveHyperVKvpReporter

Last commit made on 2019-04-23
Get this branch:
git clone -b ImproveHyperVKvpReporter https://git.launchpad.net/~vtqanh/cloud-init
Only Anh Vo (MSFT) can upload to this branch. If you are Anh Vo (MSFT) please log in for upload directions.

Branch merges

Branch information

Name:
ImproveHyperVKvpReporter
Repository:
lp:~vtqanh/cloud-init

Recent commits

6311bab... by Anh Vo (MSFT)

Changes to the Hyper-V KVP reporter:
  + Truncate KVP Pool file to prevent stale entries from being processed by the Hyper-V KVP reporter.
  + Drop filtering of KVPs as it is no longer needed.
  + Batch appending of existing KVP entries to reduce performance impact

9e465c3... by Anh Vo (MSFT)

Changes to the Hyper-V KVP reporter:
 + Truncate KVP Pool file to prevent stale entries from being processed by the Hyper-V KVP reporter.
 + No longer update previous entries in the KVP pool as this is not desirable and potentially has negative impact to performance.
 + Batch appending of existing KVP entries to reduce performance impact

20c6fc4... by Anh Vo (MSFT)

Revert "Merged PR 1574275: truncate pool file at init time; no longer update previous kvp entries; coalesce appending to improve perf"

This reverts commit 0e6fb2bd196123d56ce4ba8735b6040850231eb5.

0e6fb2b... by Anh Vo (MSFT)

Merged PR 1574275: truncate pool file at init time; no longer update previous kvp entries; coalesce appending to improve perf

truncate pool file at init time; no longer update previous kvp entries

6322c2d... by Dan Watkins

Revert "DataSource: move update_events from a class to an instance..."

Moving update_events from a class attribute to an instance attribute
means that it doesn't exist on DataSource objects that are unpickled,
causing tracebacks on cloud-init upgrade.

As this change is only required for cloud-init installations which don't
utilise ds-identify, we're backing it out to be reintroduced once the
upgrade path bug has been addressed.

This reverts commit f2fd6eac4407e60d0e98826ab03847dda4cde138.

b76714c... by Risto Oikarinen <email address hidden>

Change DataSourceNoCloud to ignore file system label's case.

NoCloud data source now accepts both 'cidata' and 'CIDATA'
as filesystem labels. This is similar to DataSourceConfigDrive's
support for 'config-2' and 'CONFIG-2'.

bdd9c0a... by Antonio Romito

cmd:main.py: Fix missing 'modules-init' key in modes dict

Cloud-init's main.py will fail when presented with a new
stage name 'modules-init' if upgrading an older cloud-init.
Fix this by initializing unknown stage names before accessing.

LP: #1815109

f247dd2... by Chad Smith

ubuntu_advantage: rewrite cloud-config module

ubuntu-advantage-tools version 19 has a different command line
interface. Update cloud-init's config module to accept new
ubuntu_advantage configuration settings.

* Underscores better than hyphens: deprecate 'ubuntu-advantage'
  cloud-config key in favor of 'ubuntu_advantage'
* Attach machines with either sso credentials of UA user_token
* Services are enabled by name though an 'enable' list
* Raise warnings if deprecated ubuntu-advantage config keys are
  present, or errors if its config we cannott adapt to

Ubuntu Advantage support can now be configured via #cloud-config
with the following yaml:

ubuntu_advantage:
  token: 'thisismyubuntuadvantagetoken'
  enable: [esm, fips, livepatch]

Co-Authored-By: Daniel Watkins <email address hidden>

5283668... by "Jason Zions (MSFT)" <email address hidden>

Azure: Treat _unset network configuration as if it were absent

When the Azure datasource persists all of its metadata to the
instance directory, it deliberately sets the self.network_config
value to be the sources.UNSET value. The goal is to ensure that
each time the system boots, fresh network configuration data is
fetched from the cloud platform so that any control plane changes
will take effect. When a VM is first created, there's no pickled
instance to restore, so self._network_config is None, resulting
in self.network_config() properly building a new config. Azure
suffered from LP: #1801364 which prevented ds from being stored
in obj.pkl in the instance directory, so subsequent reboots always
regenerated their network configuration.

Commit 0dc3a77f41f4544e4cb5a41637af7693410d4cdf introduced a
new bug in which self.network_config() assumed the
self._network_config value was either None or trustable; when
the config was unpickled, that value was _unset, thus breaking
the assumption.

LP: #1823084

0d8c883... by Anh Vo (MSFT)

DatasourceAzure: add additional logging for azure datasource

Create an Azure logging decorator and use additional ReportEventStack
context managers to provide additional logging details.