lp:~wesley-wiedenmeier/+junk/curtin-1618429-storagetests

Created by Wesley Wiedenmeier and last modified
Get this branch:
bzr branch lp:~wesley-wiedenmeier/+junk/curtin-1618429-storagetests
Only Wesley Wiedenmeier can upload to this branch. If you are Wesley Wiedenmeier please log in for upload directions.

Related bugs

Related blueprints

Branch information

Owner:
Wesley Wiedenmeier
Status:
Development

Recent revisions

429. By Wesley Wiedenmeier

mergewd

428. By Wesley Wiedenmeier

Merge in partial-testing

427. By Wesley Wiedenmeier

Revert addition of block.wipe_volume mdadm mode as it should not be needed if
all mdadm metadata exists on the first and last 1024k of a deviec

426. By Wesley Wiedenmeier

Use 'ignore_error=True' for call to mdadm_assemble in
clear_holders.start_clear_holders_deps

425. By Wesley Wiedenmeier

In mdadm.mdadm_assemble, add parameter ignore_error to ignore all errors from
running assemble command. If command has non-zero exit and ignore_error is not
set, then util.ProcessExecutionError will be raised

424. By Wesley Wiedenmeier

Add wipe mode 'mdadm' using 'mdadm --zero-superblock' to block.wipe_volume

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)
This branch contains Public information 
Everyone can see this information.