From 6579c5ddf5037569f4f009090cea2eca11b324fc Mon Sep 17 00:00:00 2001 From: Brian Coca Date: Sun, 8 Feb 2015 23:06:34 -0500 Subject: [PATCH] fixed skipped tags --- lib/ansible/playbook/__init__.py | 38 ++++++++++++++++++-------------- 1 file changed, 21 insertions(+), 17 deletions(-) diff --git a/lib/ansible/playbook/__init__.py b/lib/ansible/playbook/__init__.py index 5402ee530e..1e717e6f27 100644 --- a/lib/ansible/playbook/__init__.py +++ b/lib/ansible/playbook/__init__.py @@ -736,7 +736,6 @@ class PlayBook(object): continue # only run the task if the requested tags match or has 'always' tag - should_run = False if 'always' in task.tags: should_run = True else: @@ -745,27 +744,32 @@ class PlayBook(object): if 'all' in self.only_tags: should_run = True - elif 'tagged' in self.only_tags: - if task_set != u: - should_run = True - elif 'untagged' in self.only_tags: - if task_set == u: - should_run = True else: - if len(set(task.tags).intersection(self.only_tags)) > 0: - should_run = True + should_run = False + if 'tagged' in self.only_tags: + if task_set != u: + should_run = True + elif 'untagged' in self.only_tags: + if task_set == u: + should_run = True + else: + if len(task_set.intersection(self.only_tags)) > 0: + should_run = True # Check for tags that we need to skip - if 'tagged' in self.skip_tags: - if task_set == u: - should_run = False - elif 'untagged' in self.only_tags: - if task_set != u: - should_run = False + if 'all' in self.skip_tags: + should_run = False else: - if should_run: - if len(set(task.tags).intersection(self.skip_tags)) > 0: + if 'tagged' in self.skip_tags: + if task_set != u: should_run = False + elif 'untagged' in self.skip_tags: + if task_set == u: + should_run = False + else: + if should_run: + if len(task_set.intersection(self.skip_tags)) > 0: + should_run = False if should_run: