pull/85418/merge
Martin Krizek 24 hours ago committed by GitHub
commit 0661f85a2e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -496,7 +496,9 @@ class Role(Base, Conditional, Taggable, CollectionSearch, Delegatable):
dep_chain = [] if dep_chain is None else dep_chain
default_vars = dict()
for dep in self.get_all_dependencies():
# FIXME combining deps' default_vars can be optimized by moving it
# into _load_role_data so it is done just once
for dep in self._dependencies:
default_vars = combine_vars(default_vars, dep.get_default_vars())
if dep_chain:
for parent in dep_chain:
@ -536,13 +538,15 @@ class Role(Base, Conditional, Taggable, CollectionSearch, Delegatable):
all_vars = self.get_inherited_vars(dep_chain, only_exports=only_exports)
# get exported variables from meta/dependencies
# FIXME combining deps' role_vars can be optimized by moving it
# into _load_role_data so it is done just once
seen = []
for dep in self.get_all_dependencies():
# Avoid rerunning dupe deps since they can have vars from previous invocations and they accumulate in deps
# TODO: re-examine dep loading to see if we are somehow improperly adding the same dep too many times
if dep not in seen:
# only take 'exportable' vars from deps
all_vars = combine_vars(all_vars, dep.get_vars(include_params=False, only_exports=True))
all_vars = combine_vars(all_vars, dep._role_vars)
seen.append(dep)
# role_vars come from vars/ in a role

Loading…
Cancel
Save