~fabian-wiesel/cloud-init:bugfix1682064

Last commit made on 2018-09-06
Get this branch:
git clone -b bugfix1682064 https://git.launchpad.net/~fabian-wiesel/cloud-init
Only Fabian Wiesel can upload to this branch. If you are Fabian Wiesel please log in for upload directions.

Branch merges

Branch information

Name:
bugfix1682064
Repository:
lp:~fabian-wiesel/cloud-init

Recent commits

984d2ab... by Fabian Wiesel

Set hwaddr of bond according to ethernet_mac_address

This should fix #1682064, by passing on the ethernet_mac_address as mac_address to the individual bond

d47d404... by Chad Smith

tests: print failed testname instead of docstring upon failure

a8dcad9... by Scott Moser

tests: Disallow use of util.subp except for where needed.

In many cases, cloud-init uses 'util.subp' to run a subprocess.
This is not really desirable in our unit tests as it makes the tests
dependent upon existance of those utilities.

The change here is to modify the base test case class (CiTestCase) to
raise exception any time subp is called. Then, fix all callers.
For cases where subp is necessary or actually desired, we can use it
via
  a.) context hander CiTestCase.allow_subp(value)
  b.) class level self.allowed_subp = value

Both cases the value is a list of acceptable executable names that
will be called (essentially argv[0]).

Some cleanups in AltCloud were done as the code was being updated.

db50bc0... by Ryan Harper

sysconfig: refactor sysconfig to accept distro specific templates paths

Multiple distros use sysconfig format but have different content
and paths to certain files. Update distros to specify these
template paths in their renderer_configs dictionary.

3f6d097... by Francis Ginther

Add unit tests for config/cc_ssh.py

These tests focus on the apply_credentials method and the ssh setup for
root and a distro default user.

2d0ca72... by Scott Moser

Fix the built-in cloudinit/tests/helpers:skipIf

this version uses unittest2 skipIf which is present in our python 2.6
environment.

8d9d4c8... by Joshua Powers

read-version: enhance error message

The error message when read-vesion is not very useful and does not help
the end-user know how to overcome the issue. This adds a short message
explaining that the user does not have the latest upstream tags and how
to get those tags.

43e51a0... by Ryan Harper

hyperv_reporting_handler: simplify threaded publisher

Switch the implementation to a daemon thread which uses a
blocking get from the Queue. No additional locking or flag checking
is needed since the Queue itself handles acquiring the lock as needed.
cloud-init only has a single producer (the main thread calling publish)
and the consumer will read all events in the queue and write them out.

Using the daemon mode of the thread handles flushing the queue on
main exit in python3; in python2.7 we handle the EOFError that results
when the publish thread calls to get() fails indicating the main thread
has exited.

The result is that the handler is no longer spawing a thread on each
publish event but rather creates a single thread when we start up
the reporter and we remove any additional use of separate locks and
flags as we only have a single Queue object and we're only calling
queue.put() from main thread and queue.get() from consuming thread.

9c35f97... by Pengpeng Sun

VMWare: Fix a network config bug in vm with static IPv4 and no gateway.

The issue is when customize a VM with static IPv4 and without gateway, it
will still extend route list and will loop a gateways list which is None.
This fix is to make sure when no gateway is here, it will not extend route
list.

LP: #1766538

2320c3d... by Andy

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