diff options
author | James Cammarata <jimi@sngx.net> | 2014-08-11 13:13:48 -0500 |
---|---|---|
committer | James Cammarata <jimi@sngx.net> | 2014-08-14 15:02:12 -0500 |
commit | d07107ab71ea60f174fac40681cd7b30e88a33ab (patch) | |
tree | 83ab4e78ba86f151e6c4d0e777b907472049c7d7 | |
parent | 165572fbb813e68a9c8a9b48304be6ea18f45dd5 (diff) | |
download | ansible-d07107ab71ea60f174fac40681cd7b30e88a33ab.tar.gz |
Remove duplicate compiling of task when: statements
Fixes #8538
-rw-r--r-- | lib/ansible/playbook/play.py | 6 | ||||
-rw-r--r-- | lib/ansible/playbook/task.py | 5 |
2 files changed, 3 insertions, 8 deletions
diff --git a/lib/ansible/playbook/play.py b/lib/ansible/playbook/play.py index 2a1d570c7e..f665ed76d2 100644 --- a/lib/ansible/playbook/play.py +++ b/lib/ansible/playbook/play.py @@ -561,12 +561,6 @@ class Play(object): if 'vars' in x: task_vars = utils.combine_vars(task_vars, x['vars']) - if 'when' in x: - if isinstance(x['when'], (basestring, bool)): - included_additional_conditions.append(x['when']) - elif isinstance(x['when'], list): - included_additional_conditions.extend(x['when']) - new_role = None if 'role_name' in x: new_role = x['role_name'] diff --git a/lib/ansible/playbook/task.py b/lib/ansible/playbook/task.py index 1148e7454c..793e29ec5f 100644 --- a/lib/ansible/playbook/task.py +++ b/lib/ansible/playbook/task.py @@ -300,6 +300,7 @@ class Task(object): self.tags.extend(import_tags) if additional_conditions: - new_conditions = additional_conditions - new_conditions.append(self.when) + new_conditions = additional_conditions[:] + if self.when: + new_conditions.append(self.when) self.when = new_conditions |