Last commit made on 2018-06-15
Get this branch:
git clone -b master
Members of curtin developers can upload to this branch. Log in for directions.

Branch merges

Branch information


Recent commits

d879ca0... by Ryan Harper on 2018-06-15

vmtests: network_mtu move fixby date out 4 months from last value

The upstream changes needed to handle mixed ipv4/ipv6 mtu have not
been completed in networkd so this test is currently failing.
Move our skipby date out 4 months.

9d0e557... by Scott Moser on 2018-06-07

Fix WorkingDir class to support already existing target directory.

The WorkingDir class can take a config that defines a target directory.
If that directory already existed, then WorkingDir would raise a
OSError (FileExistsError) when it attempted to os.mkdir.

The fix here just allows a target to exist already as long as it is empty.

LP: #1775622

1bc868b... by Scott Moser on 2018-06-07

Fix extraction of local filesystem image.

Curtin would fail to extract an image if the image was a
local filesystem path or a file:// url.

Also here is a fix for ensure_dir which would be tripped if you
call write_file("foo.txt"). In that path, ensure_dir would be called
with the result of os.path.dirname("foo.txt") which is "" and
os.makedirs("") would fail.

LP: #1775630

4c6be7b... by Ryan Harper on 2018-06-04

Fix tip-pyflakes imported but unused call to util.get_platform_arch

Fix tox -e tip-pyflakes complaint about unused import to

3e0c1c2... by Scott Moser on 2018-05-30

subp: update return value of subp with combine_capture=True.

combine_capture previously would return None in the stderr response.
This was inconsistent with capture=True, combine_capture=False.
It seems more consistent to always return the bytes or string as
documented. Test case and docstring are updated accordingly.

f98eb1b... by Scott Moser on 2018-05-23

tox: add a xenial environments, default envlist changes.

A previous commit used mock.assert_called, which is not
present in xenial versions of mock so build would fail on xenial.
Due to bugs that are present in the trusty versions of mock it would
pass there.

So we add a tox environment 'xenial-py3' and add that to the
default set of environments that are run with a 'tox' invocation.

Other changes to the envlist here:
a.) make it multiple lines for easier future diffing.
b.) run py3-flake8 first, it runs quickly and gives good feedback.
c.) drop trusty-check which was running trusty pyflakes. We do not
    run pyflakes in package build any more.
d.) replace trusty-py3 with xenial-py3. Just to save time in default 'tox'
    run we only run one "old" python3 unit tests.

f1c31e5... by Chad Smith on 2018-05-23

tests: Fix race on utcnow during timestamped curtin-log dir creation

LP: #1772481

50c0007... by Scott Moser on 2018-05-23

curtainer: patch source version from --source.

After adding 'CURTIN_EXE_VERSION' and 'CURTIN_VERSION' in output
we now see nice output for runs from trunk. But when running from
a package via curtainer, we see:
  CURTIN_VMTEST_CURTIN_EXE=.. curtin-vmtest-proposed-a-29 curtin

That is confusing as it appears our vmtest version is different
from our exe version.

That is because the patching of the version that we do in debian/rules
only applies to the built binaries, the source still has the un-modified

The change here is patch the source code output by --source
by default, so that running 'curtin version' from that source will
provide the correct output. Jenkins is the only known consumer of this
ouput so it was easier to change the default behavior than have the caller
become aware. To disable this behavior pass '--no-patch-version'

Note that curtin has verified that it downloaded the
version of the source that it is patching in, so this is

48b24ca... by Scott Moser on 2018-05-21

pyflakes: fix unused variable references identified by pyflakes 2.0.0.

A newer version of pyflakes (2.0.0) was released over the last weekend.
It identifed some unused variables that version 1.6.0 did not identify.
The change here merely fixes those unused variables.

The fact that c-i hit this is not intended. A future fix is needed to
properly pin the version of pyflakes so that it does not happen again.

ae48e86... by Scott Moser on 2018-05-18

tests: replace usage of mock.assert_called

assert_called is only in mock 2 or newer, meaning this was failing
to run tests in a xenial build environment.

So just replace assert_called usage with assertTrue(mymock.called).