~xnox/curtin:master

Last commit made on 2019-04-16
Get this branch:
git clone -b master https://git.launchpad.net/~xnox/curtin
Only Dimitri John Ledkov can upload to this branch. If you are Dimitri John Ledkov please log in for upload directions.

Branch merges

Branch information

Name:
master
Repository:
lp:~xnox/curtin

Recent commits

c52c6d2... by Dimitri John Ledkov

unbreak s390x chzdev

08bf6ff... by Dimitri John Ledkov

Setup kernel-img.conf like base-installer/live-installer did.

LP: #1534162

4795607... by Jean-Baptiste Lallement

zfs: pass pool and fs properties to zpool_create

block-meta use of zpool_create did not supply the optional parameters
that are supported in the zfs/zpool configuration dictionary. Fix
this by extracting the values from the config and passing them
to zpool_create.

LP: #1823682

8e08215... by Michael Hudson-Doyle

block_meta: pass lvm_partition size through human2bytes

type:lvm_partition schema allows for the 'size' field as integer
or string. Process the 'size' value through human2bytes which
converts 'size' values into bytes.

36351de... by Ryan Harper

clear-holders: refactor bcache shutdown and add longer timeout

Currently curtin will shutdown a bcache device by stopping the associated
cacheset. In some cases, the cacheset is responsible for multiple backing
devices each of which may have a large amount of dirty data which needs to
be flushed to the backing device before the cacheset can completely stop.

A better approach is to stop each backing device and monitor for when
their dirty-data and state indicate that it's clean and once all
related backing devices were stopped to stop the cacheset. However,
this triggered numerous kernel BUG() in kernels from Xenial 4.4 GA
through Disco 5.0 kernels.

A second approach unregistered the cacheset device; this was an
improvement but ultimately still triggered kernel BUG() in several
released kernels. This would have introduced a regression from
current behavior.

This patchset retains the original process of stopping the cacheset
and then the bcache device, however it refactors the code which
discovers, stops and waits into curtin.block.bcache and introduces
a higher timeout while waiting for bcache devices to stop.
The original fix mentioned was a 1200 second timeout.
This patch retains the total time, but breaks the sleep periods
up into smaller amounts and progressively increases the timeout.

LP: #1796292

c78ce6d... by Paride Legovini

schema-validate-storage: remove unused imports

Fixes pyflakes failure:

  tools/schema-validate-storage:3: 'jsonschema' imported but unused
  tools/schema-validate-storage:4: 'json' imported but unused
  tools/schema-validate-storage:6: 'yaml' imported but unused

250af68... by Ryan Harper

add subcommand schema for storage-config validation

Introduce curtin feature 'STORAGE_CONFIG_SCHEMA' and a subcommand,
'schema' which accepts a path to a storage configuration file and
will validate the configuration against the storage schema.

Add some exception handling logic to decode the schema errors and
print useful pointers to users on where the error occurred.

ea9fcbb... by Ryan Harper

clear-holders: wipe raid members at data offsets when not assembled

RAID5 arrays are assembled in degraded mode for speed[1]. If an
array is INACTIVE, then curtin cannot wipe the array through the
md device. Instead, examine the array members and find the mdadm
superblock and data offsets and wipe members at those locations.
This wipes the array contents without requiring it to be runnable.

LP: #1815018

f722ef6... by Ryan Harper

Add support for s390 DASD devices

d15f5b5... by Ryan Harper

vmtest: skip DiscoTestAllindata while initrd lacks crypto modules