~smoser/cloud-init:feature/builtin-dhcp-client-scapy

Last commit made on 2018-08-28
Get this branch:
git clone -b feature/builtin-dhcp-client-scapy 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:
feature/builtin-dhcp-client-scapy
Repository:
lp:~smoser/cloud-init

Recent commits

38dd98d... by Scott Moser on 2018-08-28

add dhcp_scapy.py.

This depends on python scapy, but implements the interface function:
 maybe_perform_dhcp_discovery
that is implemented in dhcp.py.

2320c3d... by Andy on 2018-08-24

logging: Add logging config type hyperv for reporting via Azure KVP

Linux guests can provide information to Hyper-V hosts via KVP.
KVP allows the guests to provide any string key-value-pairs back to the
host's registry. On linux, kvp communication pools are presented as pool
files in /var/lib/hyperv/.kvp_pool_#.

The following reporting configuration can enable this kvp reporting in
addition to default logging if the pool files exist:

reporting:
    logging:
        type: log
    telemetry:
        type: hyperv

dab5908... by Joshua Powers on 2018-08-23

tests: disable other snap test as well

The snap test requires access to a proxy and currently the integration
tests do not handle this scenario. I am disabling the test until I can
loop back around and fix this.

a03ed8b... by Joshua Powers on 2018-08-20

tests: disable snap, fix write_files binary

The snap test requires access to a proxy and currently the integration
tests do not handle this scenario. I am disabling the test untill I can
loop back around and fix this.

The write_files test, specifically, the binary test is failing on cosmic
because the "binary" file we were writting was not a complete elf
executable, but we expected 'file' to identify it as such.

The change here is to simply use some 24 bytes of random, non-utf data
and check that file was written correctly via expected checksum.

aaffd59... by Scott Moser on 2018-08-17

Add datasource Oracle Compute Infrastructure (OCI).

This adds a Oracle specific datasource that functions with OCI.
It is a simplified version of the OpenStack metadata server
with support for vendor-data.

It does not support the OCI-C (classic) platform.

Also here is a move of BrokenMetadata to common 'sources'
as this was the third occurrence of that class.

47548df... by Chad Smith on 2018-08-17

azure: allow azure to generate network configuration from IMDS per boot.

Azure datasource now queries IMDS metadata service for network
configuration at link local address
http://169.254.169.254/metadata/instance?api-version=2017-12-01. The
azure metadata service presents a list of macs and allocated ip addresses
associated with this instance. Azure will now also regenerate network
configuration on every boot because it subscribes to EventType.BOOT
maintenance events as well as the 'first boot'
EventType.BOOT_NEW_INSTANCE.

For testing add azure-imds --kind to cloud-init devel net_convert tool
for debugging IMDS metadata.

Also refactor _get_data into 3 discrete methods:
  - is_platform_viable: check quickly whether the datasource is
    potentially compatible with the platform on which is is running
  - crawl_metadata: walk all potential metadata candidates, returning a
    structured dict of all metadata and userdata. Raise InvalidMetaData on
    error.
  - _get_data: call crawl_metadata and process results or error. Cache
    instance data on class attributes: metadata, userdata_raw etc.

51f49dc... by Louis Bouchard <email address hidden> on 2018-08-17

Scaleway: Add network configuration to the DataSource

DEP_NETWORK is removed since the network_config must
run at each boot. New EventType.BOOT event is used
for that.

Network is brought up early to fetch the metadata which
is required to configure the network (ipv4 and/or v6).

Adds unittests for the following and fixes test_common for
LOCAL and NETWORK sets.

f624927... by Wesley Gao on 2018-08-07

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 on 2018-08-06

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 on 2018-08-06

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'
subcommands.
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
or
  $ python3 -m cloudinit.cmd.main devel net-convert