summaryrefslogtreecommitdiff
path: root/lib/ansible/executor
diff options
context:
space:
mode:
authorBrian Coca <brian.coca+git@gmail.com>2016-03-06 10:47:15 -0500
committerBrian Coca <brian.coca+git@gmail.com>2016-03-09 09:33:59 -0500
commit7067bb32b8eb0a6dc53c0278b8452594744a6f13 (patch)
tree73ca0666603bace5714e28ab5c70c55d464debc0 /lib/ansible/executor
parenta52a5612170a9f7e63d244e42f011d4537c654d3 (diff)
downloadansible-7067bb32b8eb0a6dc53c0278b8452594744a6f13.tar.gz
make all conditionals lists
this brings them to equivalence with when: fixes #13905
Diffstat (limited to 'lib/ansible/executor')
-rw-r--r--lib/ansible/executor/task_executor.py18
1 files changed, 11 insertions, 7 deletions
diff --git a/lib/ansible/executor/task_executor.py b/lib/ansible/executor/task_executor.py
index a0881cc222..1ed03ed2b2 100644
--- a/lib/ansible/executor/task_executor.py
+++ b/lib/ansible/executor/task_executor.py
@@ -452,19 +452,23 @@ class TaskExecutor:
# helper methods for use below in evaluating changed/failed_when
def _evaluate_changed_when_result(result):
- if self._task.changed_when is not None:
+ if self._task.changed_when:
cond = Conditional(loader=self._loader)
- cond.when = [ self._task.changed_when ]
+ cond.when = self._task.changed_when
result['changed'] = cond.evaluate_conditional(templar, vars_copy)
+ else:
+ result['changed'] = False
def _evaluate_failed_when_result(result):
- if self._task.failed_when is not None:
+ if self._task.failed_when:
cond = Conditional(loader=self._loader)
- cond.when = [ self._task.failed_when ]
+ cond.when = self._task.failed_when
failed_when_result = cond.evaluate_conditional(templar, vars_copy)
result['failed_when_result'] = result['failed'] = failed_when_result
- return failed_when_result
- return False
+ else:
+ failed_when_result = False
+ result['failed'] = False
+ return failed_when_result
if 'ansible_facts' in result:
vars_copy.update(result['ansible_facts'])
@@ -482,7 +486,7 @@ class TaskExecutor:
if attempt < retries - 1:
cond = Conditional(loader=self._loader)
- cond.when = [ self._task.until ]
+ cond.when = self._task.until
if cond.evaluate_conditional(templar, vars_copy):
break
else: