~smoser/cloud-init:fix/disable-lxd-cosmic-tests-1795036

Last commit made on 2018-09-28
Get this branch:
git clone -b fix/disable-lxd-cosmic-tests-1795036 https://git.launchpad.net/~smoser/cloud-init
Only Scott Moser can upload to this branch. If you are Scott Moser please log in for upload directions.

Branch merges

Branch information

Name:
fix/disable-lxd-cosmic-tests-1795036
Repository:
lp:~smoser/cloud-init

Recent commits

61c22bb... by Scott Moser

tests: disable lxd tests on cosmic

Skip lxd tests on cosmic for two reasons:
a.) LP: #1795036 - 'lxd init' fails on cosmic kernel.
b.) apt install lxd installs via snap which can be slow
    as that will download core snap and lxd.

fb5015f... by Chad Smith

cii-tests: use unittest2.SkipTest in ntp_chrony due to new deps

Git commitish fc4b966ba928b30b1c586407e752e0b51b1031e8 changed integration
test dependencies from unittest to unittest2. Use unittest2.SkipTest in
test_chrony to avoid causing tracebacks.

facb92c... by Scott Moser

lxd: adjust to snap installed lxd.

Relax expectation on path to lxc and lxd. The deb path still does
install them in /usr/bin/ but that is overly pedantic.

Add a 'lxd waitready' (present since lxd 0.5) to wait until lxd
is ready before operating on it.

fd873fa... by Chad Smith

docs: surface experimental doc in instance-data.json

27ff9c4... by Chad Smith

tests: fix ec2 integration tests. process meta_data instead of meta-data

Commitish c7555762f3a30190ce7726b4d013bc3e83c7e4b6 changed the variable
names in instance-data.json from hyphenated to underscore delimited. In
the shuffle, meta-data -> meta_data was missed.

e7b0e5f... by Mark Goddard

Add support for Infiniband network interfaces (IPoIB).

OpenStack ironic references Infiniband interfaces via a 6 byte 'MAC
address' formed from bytes 13-15 and 18-20 of interface's hardware
address. This address is used as the ethernet_mac_address of Infiniband
links in network_data.json in configdrives generated by OpenStack nova.
We can use this address to map links in network_data.json to their
corresponding interface names.

When generating interface configuration files, we need to use the
interface's full hardware address as the HWADDR, rather than the 6 byte
MAC address provided by network_data.json.

This change allows IB interfaces to be referenced in this dual mode - by
MAC address and hardware address, depending on the context.

Support TYPE=InfiniBand for sysconfig configuration of IB interfaces.

fc4b966... by Chad Smith

cli: add cloud-init query subcommand to query instance metadata

Cloud-init caches any cloud metadata crawled during boot in the file
/run/cloud-init/instance-data.json. Cloud-init also standardizes some of
that metadata across all clouds. The command 'cloud-init query' surfaces a
simple CLI to query or format any cached instance metadata so that scripts
or end-users do not have to write tools to crawl metadata themselves.

Since 'cloud-init query' is runnable by non-root users, redact any
sensitive data from instance-data.json and provide a root-readable
unredacted instance-data-sensitive.json. Datasources can now define a
sensitive_metadata_keys tuple which will redact any matching keys
which could contain passwords or credentials from instance-data.json.

Also add the following standardized 'v1' instance-data.json keys:
  - user_data: The base64encoded user-data provided at instance launch
  - vendor_data: Any vendor_data provided to the instance at launch
  - underscore_delimited versions of existing hyphenated keys:
    instance_id, local_hostname, availability_zone, cloud_name

0b0378d... by Scott Moser

tools/tox-venv: update for new features.

This update to tox-venv allows you to do:
 ./tools/tox-venv py3 - tests/unittests/test_util.py

1c63a4f... by Chad Smith

pylint: ignore warning assignment-from-no-return for _write_network

Distro subclasses arch, freebsd and debian still have a path with an
implemented _write_network method which has a return value. Can drop
this pylint ignore when _write_network is dropped from arch, freebsd
and debian.

f0ff194... by Scott Moser

stages: Fix bug causing datasource to have incorrect sys_cfg.

The Init object had a bug/odd side effect where when retrieving a distro
object it would update the datasources's sys_cfg. That was probably
intended to refresh the possibly stale config stored there. Unfortunately
what it actually did limit the config there to the 'system_info' top level
key where initially it had the whole config.

LP: #1787459