Don't filter role deps on tags
Also, fixed a bug where the tags were being merged into the wrong data structure (passed_vars) in _build_role_dependencies() Fixes #6439 Fixes #5709
This commit is contained in:
parent
7c5ad1fa23
commit
84908a57fc
1 changed files with 5 additions and 13 deletions
|
@ -229,11 +229,11 @@ class Play(object):
|
|||
allow_dupes = utils.boolean(meta_data.get('allow_duplicates',''))
|
||||
|
||||
# if any tags were specified as role/dep variables, merge
|
||||
# them into the passed_vars so they're passed on to any
|
||||
# them into the current dep_vars so they're passed on to any
|
||||
# further dependencies too, and so we only have one place
|
||||
# (passed_vars) to look for tags going forward
|
||||
# (dep_vars) to look for tags going forward
|
||||
def __merge_tags(var_obj):
|
||||
old_tags = passed_vars.get('tags', [])
|
||||
old_tags = dep_vars.get('tags', [])
|
||||
if isinstance(var_obj, dict):
|
||||
new_tags = var_obj.get('tags', [])
|
||||
if isinstance(new_tags, basestring):
|
||||
|
@ -242,16 +242,8 @@ class Play(object):
|
|||
new_tags = []
|
||||
return list(set(old_tags).union(set(new_tags)))
|
||||
|
||||
if "tags" in passed_vars:
|
||||
dep_tags = __merge_tags(dep)
|
||||
if not self._is_valid_tag(dep_tags):
|
||||
# one of the tags specified for this role was in the
|
||||
# skip list, or we're limiting the tags and it didn't
|
||||
# match one, so we just skip it completely
|
||||
continue
|
||||
|
||||
passed_vars['tags'] = __merge_tags(role_vars)
|
||||
passed_vars['tags'] = __merge_tags(dep_vars)
|
||||
dep_vars['tags'] = __merge_tags(role_vars)
|
||||
dep_vars['tags'] = __merge_tags(passed_vars)
|
||||
|
||||
# if tags are set from this role, merge them
|
||||
# into the tags list for the dependent role
|
||||
|
|
Loading…
Reference in a new issue