From a75e2204faa9b747b82da65efe1b4c20e999d0c2 Mon Sep 17 00:00:00 2001 From: James Cammarata Date: Thu, 10 Mar 2016 08:38:56 -0500 Subject: [PATCH] Revert "Removing explicit setting of failed/failed_when" This reverts commit 31f29a17d956790707765704285977fd5520f0b6. --- 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 08b0e107696..27f792d7056 100644 --- a/lib/ansible/executor/task_executor.py +++ b/lib/ansible/executor/task_executor.py @@ -458,6 +458,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 cf5958d6ff5..9da06a6c493 100644 --- a/lib/ansible/playbook/task.py +++ b/lib/ansible/playbook/task.py @@ -69,11 +69,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) @@ -82,7 +82,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 '''