diskimage-builder/diskimage_builder/block_device
Ian Wienand 00da1982ce Add a more generic tree->graph parser
This moves to a more generic config parser that doesn't have plugins
parsing part of the tree.

I understand why it ended up that way; we have "partitions" key which
has special semantics compared to others keys and there was a desire
to keep it isolated from core tree->graph code.  But this isn't really
isolated; you have to reverse-engineer several module-crossing
boundaries, extras classes and repetitive recursive functions.

Ultimately, plugins should have access to the node graph, but not
participate in configuration parsing.  This way we ensure that plugins
can't invent new methods of configuration parsing.

Note: unit tests produce the same tree -> graph conversion as the old
method.  i.e. this is not intended to have a functional change.

Change-Id: I8a5d62a076a5a50597f2f1df3a8615afba6dadb2
2017-05-26 10:13:14 +10:00
..
level0 Add a more generic tree->graph parser 2017-05-26 10:13:14 +10:00
level1 Add a more generic tree->graph parser 2017-05-26 10:13:14 +10:00
level2 Add a more generic tree->graph parser 2017-05-26 10:13:14 +10:00
level3 Add a more generic tree->graph parser 2017-05-26 10:13:14 +10:00
level4 Add a more generic tree->graph parser 2017-05-26 10:13:14 +10:00
tests Add a more generic tree->graph parser 2017-05-26 10:13:14 +10:00
__init__.py Clear __init__.py from cmd move 2017-05-11 18:52:14 +10:00
blockdevice.py Add a more generic tree->graph parser 2017-05-26 10:13:14 +10:00
cmd.py Remove args from BlockDevice() init 2017-05-12 09:36:23 +10:00
config.py Add a more generic tree->graph parser 2017-05-26 10:13:14 +10:00
exception.py Move exception to it's own file (again) 2017-05-20 06:44:39 +00:00
utils.py exec_sudo: check cmd for str, log output and raise exception 2017-05-11 09:45:25 +10:00