Commit d2721526 by Michael DeHaan

Small tweak, don't merge conditionals, just evaluate each in turn.

parent 58f5bfb4
...@@ -230,5 +230,6 @@ class Task(object): ...@@ -230,5 +230,6 @@ class Task(object):
self.only_if = utils.compile_when_to_only_if(self.when) self.only_if = utils.compile_when_to_only_if(self.when)
if additional_conditions: if additional_conditions:
self.only_if = '(' + self.only_if + ') and (' + ' ) and ('.join(additional_conditions) + ')' self.only_if = [ self.only_if ]
self.only_if.extend(additional_conditions)
...@@ -504,9 +504,12 @@ class Runner(object): ...@@ -504,9 +504,12 @@ class Runner(object):
else: else:
handler = utils.plugins.action_loader.get('async', self) handler = utils.plugins.action_loader.get('async', self)
conditional = template.template(self.basedir, self.conditional, inject, expand_lists=False) if type(self.conditional) != list:
self.conditional = [ self.conditional ]
if not utils.check_conditional(conditional): for cond in self.conditional:
cond = template.template(self.basedir, cond, inject, expand_lists=False)
if not utils.check_conditional(cond):
result = utils.jsonify(dict(changed=False, skipped=True)) result = utils.jsonify(dict(changed=False, skipped=True))
self.callbacks.on_skipped(host, inject.get('item',None)) self.callbacks.on_skipped(host, inject.get('item',None))
return ReturnData(host=host, result=result) return ReturnData(host=host, result=result)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment