diff options
-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 |