nodepool/nodepool
Ian Wienand b5b20b6e2c Add parent and abstract flags for diskimages
While YAML does have inbuilt support for anchors to greatly reduce
duplicated sections, anchors have no support for merging values.  For
diskimages, this can result in a lot of duplicated values for each
image which you can not otherwise avoid.

This provides two new values for diskimages; a "parent" and
"abstract".

Specifying a parent means you inherit all the configuration values
from that image.  Anything specified within the child image overwrites
the parent values as you would expect; caveats, as described in the
documentation, are that the elements field appends and the env-vars
field has update() semantics.

An "abstract" diskimage is not instantiated into a real image, it is
only used for configuration inheritance.  This way you can make a
abstrat "base" image with common values and inherit that everywhere
without having to worry about bringing in values you don't want.

You can also chain parents together and the inheritance flows through.

Documentation is updated, and several tests are added to ensure the
correct parenting, merging and override behaviour of the new values.

Change-Id: I170016ef7d8443b9830912b9b0667370e6afcde7
2020-03-20 07:53:08 +11:00
..
cmd Add parent and abstract flags for diskimages 2020-03-20 07:53:08 +11:00
driver Fix for clearing assigned nodes that have vanished 2020-02-27 17:31:49 -05:00
tests Add parent and abstract flags for diskimages 2020-03-20 07:53:08 +11:00
__init__.py Initial commit 2013-08-15 09:47:23 -07:00
builder.py Stop comparing hostnames to determine ownership 2020-03-13 16:13:38 -04:00
config.py Add parent and abstract flags for diskimages 2020-03-20 07:53:08 +11:00
exceptions.py Remove uneeded shebang and exec bit on some files 2019-12-13 19:30:03 +01:00
launcher.py Annotate logs in launcher 2020-01-27 15:27:58 +01:00
logconfig.py Centralize logging adapters 2020-01-22 09:13:21 +01:00
nodeutils.py Use iterate_timeout in test waits 2020-01-14 08:25:09 -08:00
provider_manager.py Remove uneeded shebang and exec bit on some files 2019-12-13 19:30:03 +01:00
stats.py Remove uneeded shebang and exec bit on some files 2019-12-13 19:30:03 +01:00
status.py Include event id in node request listings 2020-01-27 15:27:58 +01:00
version.py Fix nodepool --version 2015-02-06 12:09:52 -08:00
webapp.py Add ready endpoint to webapp 2019-12-21 10:06:55 +00:00
zk.py Annotate logs in zk module 2020-01-27 15:27:58 +01:00