lp:~raharper/curtin/trunk.fix-trusty-unittest

Created by Ryan Harper and last modified
Get this branch:
bzr branch lp:~raharper/curtin/trunk.fix-trusty-unittest
Only Ryan Harper can upload to this branch. If you are Ryan Harper please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Ryan Harper
Project:
curtin
Status:
Merged

Recent revisions

429. By Ryan Harper

don't forget to add the helper

428. By Ryan Harper

unittest,tox.ini: use a mocked_open context manager, add missing tox env

427. By Ryan Harper

unittest: fix pep8/flake issues

425. By Ryan Harper

unittest: workaround trusty-level mock of open

- Mock out open calls via builtin
- Handle module name difference between python2.7 and 3.0 via try-except
- Split wipe_zero and wipe_random into separate tests

424. By Ryan Harper

block/mdadm: add option to ignore mdadm_assemble errors

When wiping disks with mdadm partitions we may encounter unexpected
return codes. In the case of wiping disks, we don't care if we
observe any error so allow wipe to ignore the errors by explicitly
passing in ignore errors.

423. By Ryan Harper

curtin/doc: overhaul curtin documentation for readthedocs.org

Add additional documentation on custom storage and network configuration
Integrate some development documentation in Sphinx format and update
the build scripts for docs to import curtin version from python code.

422. By Ryan Harper

curtin.util: re-add support for RunInChroot

In merge committed to trunk in revno 404, we dropped util.RunInChroot.
That method was being used from curthooks in lp:maas-images project to
run commands in target via util.ChrootableTarget. In order to support
installation of old images that depend on RunInChroot we need to add
the method back.

This merge does that by wrapping ChrootableTarget class. It also adds
a couple unit tests to ensure that this keeps working.

421. By Ryan Harper

curtin/net: overhaul of eni rendering to handle mixed ipv4/ipv6 configs

To ensure complete ipv4/ipv6 support for advanced and stacked
configurations update how curtin.net renders /etc/network/interfaces for
different releases (precise -> yakkety). ifupdown has subtle issues with
various networking features and curtin needs to ensure consistent
behavior.

- Propery handle emitting the 'auto' control tag for stacked interfaces,
  like vlans over bonds
- Workaround LP:1609367 by rendering ifupdown hooks to handle the various
  cases. This works generically in all ubuntu releases
- Add vmtests for mtu settings
- Drop the use of ipv4 alias interfaces (eth0:1, eth0:2) and instead just
  add additional e/n/i stanzas. ifupdown already uses iproute2's /sbin/ip
  which supports adding additional ip addresses to an interface without the
  use of the v4-only interface alias structure. This provides consistent
  behavior for all types of interfaces (physical, vlan, bonds, and stacked
  interfaces) across all releases. Two side-effects: 1) users can no longer
  `ifdown eth0:1` to remove a single ip address from an interface; if down
  eth0 will take _all_ ip addresses on that interface. 2) ifconfig output
  only shows *one* ipv4 address, so users will need to use /sbin/ip addr
  show <interface> to see all ip addresses assigned to an interface.
- Add vmtests for alias settings
- Restructure all of the common network testcases into a single class
  TestNetworkTestBaseAbs, all varients testing network inherit from this
  class and override only the config file and any special case test-cases
  and file collection
- Global replace of testcase use of 'with open' and instead use
  load_collect_file()
  - Fix falsepositive uefi and multipath test this replacement exposed.
- Add ip_a_to_dict parser for `/sbin/ip a` output
  - drop ifconfig_a parser

420. By Ryan Harper

curtin.block: refactor clear_holders logic into block.clear_holders and cli cmd

Add block.clear_holders, which provides the ability to cleanly shut down
storage layers on a device, allowing that device to be reformatted without
having to reboot the system.

Introduce curtin command 'clear-holders' to provide an external
interface for this functionality.

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
lp:~curtin-dev/curtin/trunk
This branch contains Public information 
Everyone can see this information.

Subscribers