Last commit made on 2017-05-25
Get this branch:
git clone -b bugfix/gce-ssh-key-attributes https://git.launchpad.net/~oddbloke/cloud-init/+git/cloud-init
Only Dan Watkins can upload to this branch. If you are Dan Watkins please log in for upload directions.

Branch merges

Branch information


Recent commits

3f615ab... by Dan Watkins

Update the attribute used to find SSH keys in GCE

Per the documentation at

LP: #1693582

e5b2c01... by Scott Moser

python2.6: fix unit tests usage of assertNone and format.

python2.6 unittest.TestCase does not have the assertIsNone or
assertIsNotNone. We just have to explicitly use the unittest2
version, which we get from helpers.

The desire to use assertIsNone comes from flake8 (through hacking,
I believe).

Also, fix "{}.format('foo')" which is not valid in python2.6.

9e01cca... by Scott Moser

test: update docstring on test_configured_list_with_none

Simply improve the docstring on a test added in last commit.

13673f8... by Scott Moser

fix tools/ds-identify to not write None twice.

If the user configured:
  datasource_list: ["Ec2", "None"]
then ds-identify would write
  datasource_list: ["Ec2", "None", "None"]
which would break the logic to avoid warning.

6b5369b... by Scott Moser

tox/build: do not package depend on style requirements.

When the style/checking dependencies were updated in
test-requirements.txt, the debian package build dependencies created
by ./packages/bddeb were also updated. Pycodestyle was added to the list
in order to pin its version. That broke the package build for 16.04. The
reason for this is simply that python3-pycodestyle is not available in

The change here is to remove style dependencies from test-requirements,
and add them to the tox environments directly. We had previously changed
the package build process to not run pep8 or flake8 simply to avoid having
to code to N different versions of style checkers (3bcb72c593f).

The link between package build and test-requirements still exists, though.
So future breakage can occur if any package is added to
test-requirements.txt (or requirements.txt) if the target distro release
does not have a python3-<packagename> in its archive.

There is also a bit of a tox.ini cleanup here, in that we do not have to
explictly list '-rrequirements.txt' as the setup.py pulls those in. And
lastly, we drop the -rtest-requirements.txt from the base 'testenv', and
add these test requirements only to environments that need to run test.

Finally, a change to packages/debian/control.in to drop the build
dependencies that were listed for style checking and also a dependency
on iproute2 which was a bad unit test that has been previously fixed.

fd0c88c... by Chad Smith

cc_ntp: Restructure cc_ntp unit tests.

Any CiTestCase subclass can now set a class attribute with_logs = True and
tests can now make assertions on self.logs.getvalue(). This branch
restructures a bit of cc_ntp module to get better test coverage of the
module. It also restructures the handler_cc_ntp unit tests to avoid nested
mocks where possible. Deeply nested mocks cause a couple of issues:
  - greater risk: mocks are permanent within the scope, so multiple
    call-sites could be affected by package mocks
  - less legible tests: each mock doesn't advertise the actual call-site
  - tight coupling: the unit test logic to tightly bound to the actual
    implementation in remote (unrelated) modules which makes it more
    costly to maintain code
  - false success: we should be testing the expected behavior not specific
    remote method names as we want to know if that underlying behavior
    changes and breaks us.

LP: #1692794

2825a91... by Scott Moser

flake8: move the pinned version of flake8 up to 3.3.0

This just moves flake8 and related tools up to newer versions and fixes
the complaints associated with that.

We added to the list of flake8 ignores:
 H102: do not put vim info in source files
 H304: no relative imports

Also updates and pins the following in the flake8 environment:
  pep8: 1.7.0 => drop (although hacking still pulls it in).
  pyflakes 1.1.0 => 1.5.0
  hacking 0.10.2 => 0.13.0
  flake8 2.5.4 => 3.3.0
  pycodestyle none => 2.3.1

06a7f0a... by Joshua Powers

tests: Apply workaround for snapd bug in test case.

Snapd does not start on artful or on the versions in proposed. This
changes the behavior of the test to confirm that snapd is installed, not
that it is started, while the snap team fixes the issue (LP: ##1690880).

f38fa41... by Andreas Karis

RHEL/CentOS: Fix dual stack IPv4/IPv6 configuration.

Dual stack IPv4/IPv6 configuration via config drive is broken for RHEL7.
This patch fixes several scenarios for IPv4/IPv6/dual-stack with multiple
IP assignment.
Removes usage of unpopular IPv4 alias files and invalid IPv6 alias files.

Also fix associated unit tests.

LP: #1679817
LP: #1685534
LP: #1685532

3507b59... by Scott Moser

disk_setup: fix several issues with gpt disk partitions.

This fixes several shortcomings of disk_setup with gpt disks.
 * 'sgdisk -p' was being used to determine the size of a disk.
   this can fail if it believes there is a bad gpt partition table.
   Instead we just use blockdev now for both mbr or gpt disks.
 * parsing of sgdisk -p output assumed that the 'name' of the partition
   type would not have any spaces (Microsoft basic data)
 * interaction with sgdisk did not realize that sgdisk wants input
   of '8300' rather than '83' and will output the same.

LP: #1692087