From 1f6edf7d76c66af0042dfc535b39785f2869dc19 Mon Sep 17 00:00:00 2001 From: James Tanner Date: Fri, 25 Oct 2013 13:46:41 -0400 Subject: [PATCH] Fixes #4665 and #4666 If task is conditional do not flatten items list for packaging modules --- lib/ansible/runner/__init__.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/ansible/runner/__init__.py b/lib/ansible/runner/__init__.py index 62c2c8a3945..95b751f39e4 100644 --- a/lib/ansible/runner/__init__.py +++ b/lib/ansible/runner/__init__.py @@ -442,10 +442,12 @@ class Runner(object): if type(items) != list: raise errors.AnsibleError("lookup plugins have to return a list: %r" % items) + # hack for apt, yum, and pkgng so that with_items maps back into a single module call 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) - items = None + # only join the item/package names if this task is not conditional + if not self.conditional: + inject['item'] = ",".join(items) + items = None # logic to replace complex args if possible complex_args = self.complex_args