deckhand/deckhand
Felipe Monteiro 9f7ecc0582 Make layering work for grandparents not just parents
This PS makes layering work for grandparents, not just parents. This
means that given a document with layer N, then not only can a parent
document in layer N+1 be used, but so can a grandparent in layer N+2.
Note that the document in layer N+1 will be preferred over the one
in N+2.

To provide a concrete example, given layers 'global', 'region'
and 'site', a document with layer 'site' can be layered with
a grandparent in layer 'global' if a document in layer
'region' isn't found. Alternatively, if the document with
layer 'region' is found then it will be used as the parent
document.

This PS refactors algorithm for determining the parent document,
tweaks the layering algorithm itself to reference the
correct parent document, and adds unit tests to confirm the
two scenarios described above.

Change-Id: I3779c7ae030bbad44b2d5ddfa5105d1a073ba670
2018-02-10 17:30:16 -05:00
..
barbican The field returned by barbican is secret_ref, not secret_href 2018-02-07 21:45:04 -05:00
client Move DB calls out of engine module into controllers 2018-01-18 14:59:43 -05:00
conf Integrate Deckhand with keystone auth 2017-10-16 19:54:46 +01:00
control Make layering work for grandparents not just parents 2018-02-10 17:30:16 -05:00
db Optimize runtime for excluding deleted documents 2018-02-06 15:22:08 -05:00
engine Make layering work for grandparents not just parents 2018-02-10 17:30:16 -05:00
policies Rename Deckhand bucket endpoint to buckets for consistency 2017-10-27 19:21:03 +01:00
tests Make layering work for grandparents not just parents 2018-02-10 17:30:16 -05:00
__init__.py Oslo config integration (#1) 2017-06-26 16:57:50 -07:00
cmd.py Integrate Deckhand with keystone auth 2017-10-16 19:54:46 +01:00
context.py Integrate Deckhand with keystone auth 2017-10-16 19:54:46 +01:00
errors.py Make layering work for grandparents not just parents 2018-02-10 17:30:16 -05:00
factories.py Improve document validation module. 2018-01-15 16:51:52 -05:00
policy.py DECKHAND-66: Document substitution implementation 2017-10-13 15:16:27 -04:00
service.py DECKHAND-87: Deckhand API client library 2017-12-13 20:56:23 +00:00
types.py Add functional tests for "owned" documents 2017-12-23 02:25:29 +00:00
utils.py [Fix gate] Fix ValueError being thrown if sub path starts with $ 2018-02-09 00:40:48 -05:00