From d3d5680d8f1a210b9c7f599c520e612074d3a048 Mon Sep 17 00:00:00 2001 From: Brian Coca Date: Thu, 6 Mar 2014 08:28:36 -0500 Subject: [PATCH 1/2] tags lists are properly uniqued and joined now, also avoids type issues when passed as list/set or strings Signed-off-by: Brian Coca --- lib/ansible/playbook/play.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/ansible/playbook/play.py b/lib/ansible/playbook/play.py index b9f740f2be..70283d5c90 100644 --- a/lib/ansible/playbook/play.py +++ b/lib/ansible/playbook/play.py @@ -249,7 +249,7 @@ class Play(object): included_dep_vars = included_role_dep[2] if included_dep_name == dep: if "tags" in included_dep_vars: - included_dep_vars["tags"] = list(set(included_dep_vars["tags"] + passed_vars["tags"])) + included_dep_vars["tags"] = list(set(included_dep_vars["tags"]).union(set(passed_vars["tags"]))) else: included_dep_vars["tags"] = passed_vars["tags"][:] From 79809b67dc26d4a0858ea7b5fcd81f9cbcd9dc11 Mon Sep 17 00:00:00 2001 From: Brian Coca Date: Thu, 6 Mar 2014 08:43:24 -0500 Subject: [PATCH 2/2] fixed another line with same issues Signed-off-by: Brian Coca --- lib/ansible/playbook/play.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/ansible/playbook/play.py b/lib/ansible/playbook/play.py index 70283d5c90..aaa7935882 100644 --- a/lib/ansible/playbook/play.py +++ b/lib/ansible/playbook/play.py @@ -236,7 +236,7 @@ class Play(object): new_tags = var_obj.get('tags', []) if isinstance(new_tags, basestring): new_tags = [new_tags, ] - return list(set(old_tags + new_tags)) + return list(set(old_tags).union(set(new_tags))) passed_vars['tags'] = __merge_tags(role_vars) passed_vars['tags'] = __merge_tags(dep_vars)