From 7201a6ffad68d158d30e5f5896c54cbfe3deaded Mon Sep 17 00:00:00 2001 From: Michael DeHaan Date: Wed, 30 Oct 2013 20:35:33 -0400 Subject: [PATCH] Evaluate the conditional for each item for modules that normally try to group with_items results like yum and apt. --- lib/ansible/runner/__init__.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/ansible/runner/__init__.py b/lib/ansible/runner/__init__.py index d7ea202175..c61452839a 100644 --- a/lib/ansible/runner/__init__.py +++ b/lib/ansible/runner/__init__.py @@ -459,7 +459,12 @@ class Runner(object): if len(items) and utils.is_list_of_strings(items) and self.module_name in [ 'apt', 'yum', 'pkgng' ]: # hack for apt, yum, and pkgng so that with_items maps back into a single module call - inject['item'] = ",".join(items) + use_these_items = [] + for x in items: + inject['item'] = x + if not self.conditional or utils.check_conditional(self.conditional, self.basedir, inject, fail_on_undefined=self.error_on_undefined_vars): + use_these_items.append(item) + inject['item'] = ",".join(use_these_items) items = None # logic to replace complex args if possible