bugfix if both override and order is specified

This commit is contained in:
Daniel Heule 2014-02-12 10:31:46 +01:00
parent 4cca593071
commit cfbc68aa11
3 changed files with 7 additions and 2 deletions

View file

@ -189,7 +189,8 @@ class Emulator(object):
def record_requirements(self): def record_requirements(self):
"""record requirements""" """record requirements"""
if "CDIST_ORDER_DEPENDENCY" in self.env: # Inject the predecessor, but not if its an override (this would leed to an circular dependency)
if "CDIST_ORDER_DEPENDENCY" in self.env and not 'CDIST_OVERRIDE' in self.env:
# load object name created bevor this one from typeorder file ... # load object name created bevor this one from typeorder file ...
with open(self.typeorder_path, 'r') as typecreationfile: with open(self.typeorder_path, 'r') as typecreationfile:
typecreationorder = typecreationfile.readlines() typecreationorder = typecreationfile.readlines()

View file

@ -236,7 +236,7 @@ The following environment variables influence the behaviour of cdist:
require:: require::
Setup dependencies between objects (see cdist-manifest(7)) Setup dependencies between objects (see cdist-manifest(7))
CDIST_ALLOW_OVERRIDE:: CDIST_OVERRIDE::
Allow overwriting type parameters (see cdist-manifest(7)) Allow overwriting type parameters (see cdist-manifest(7))
CDIST_ORDER_DEPENDENCY:: CDIST_ORDER_DEPENDENCY::

View file

@ -152,6 +152,10 @@ ATTENTION: Only use this feature if you are 100% sure in which order
cdist encounter the affected objects, otherwhise this results cdist encounter the affected objects, otherwhise this results
into an undefined situation. into an undefined situation.
If CDIST_OVERRIDE and CDIST_ORDER_DEPENDENCY is set for an object,
CDIST_ORDER_DEPENDENCY will be ignored, because adding a dependency in case of
overrides would result in circular dependencies, which is an error.
THIS IS A BETA FEATURE AND MAY BE REMOVED OR CHANGED AT ANY TIME. THIS IS A BETA FEATURE AND MAY BE REMOVED OR CHANGED AT ANY TIME.