From ccf646665b1f5175f26706ebb5b5e9fff4e1d20c Mon Sep 17 00:00:00 2001 From: James Cammarata Date: Thu, 10 Mar 2016 08:01:54 -0500 Subject: [PATCH] Revert "Removing explicit setting of failed/failed_when" This reverts commit 4e528e9535732b7541155b323cdab2377d74cc3a. --- lib/ansible/executor/task_executor.py | 4 ++++ lib/ansible/playbook/task.py | 6 +++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/lib/ansible/executor/task_executor.py b/lib/ansible/executor/task_executor.py index e70bf6c91f9..beceef18481 100644 --- a/lib/ansible/executor/task_executor.py +++ b/lib/ansible/executor/task_executor.py @@ -463,6 +463,10 @@ class TaskExecutor: cond.when = self._task.failed_when failed_when_result = cond.evaluate_conditional(templar, vars_copy) result['failed_when_result'] = result['failed'] = failed_when_result + else: + failed_when_result = False + result['failed'] = result.get('failed', False) + return failed_when_result if 'ansible_facts' in result: vars_copy.update(result['ansible_facts']) diff --git a/lib/ansible/playbook/task.py b/lib/ansible/playbook/task.py index bed77bd746a..8ee440386b6 100644 --- a/lib/ansible/playbook/task.py +++ b/lib/ansible/playbook/task.py @@ -70,11 +70,11 @@ class Task(Base, Conditional, Taggable, Become): _any_errors_fatal = FieldAttribute(isa='bool') _async = FieldAttribute(isa='int', default=0) - _changed_when = FieldAttribute(isa='list') + _changed_when = FieldAttribute(isa='list', default=[]) _delay = FieldAttribute(isa='int', default=5) _delegate_to = FieldAttribute(isa='string') _delegate_facts = FieldAttribute(isa='bool', default=False) - _failed_when = FieldAttribute(isa='list') + _failed_when = FieldAttribute(isa='list', default=[]) _first_available_file = FieldAttribute(isa='list') _loop = FieldAttribute(isa='string', private=True) _loop_args = FieldAttribute(isa='list', private=True) @@ -83,7 +83,7 @@ class Task(Base, Conditional, Taggable, Become): _poll = FieldAttribute(isa='int') _register = FieldAttribute(isa='string') _retries = FieldAttribute(isa='int', default=3) - _until = FieldAttribute(isa='list') + _until = FieldAttribute(isa='list', default=[]) def __init__(self, block=None, role=None, task_include=None): ''' constructors a task, without the Task.load classmethod, it will be pretty blank '''