diff --git a/CHANGELOG.md b/CHANGELOG.md index c546d8e3b8..51f8797039 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ Ansible Changes By Release * YAML syntax errors detected and show where the problem is * better changed=True/False detection in user module on older Linux distros * when using paramiko and SFTP is not accessible, do not traceback, but return a nice human readable msg +* nicer errors from modules when arguments are not key=value 0.6 "Cabo" -- August 6, 2012 diff --git a/lib/ansible/runner/__init__.py b/lib/ansible/runner/__init__.py index 2a5503ed31..51989af1e2 100644 --- a/lib/ansible/runner/__init__.py +++ b/lib/ansible/runner/__init__.py @@ -488,7 +488,7 @@ class Runner(object): if type(items) != list: raise errors.AnsibleError("with_items only takes a list: %s" % items) - if self.module_name in [ 'apt', 'yum' ]: + if len(items) and self.module_name in [ 'apt', 'yum' ]: # hack for apt and soon yum, with_items maps back into a single module call inject['item'] = ",".join(items) items = [] diff --git a/library/yum b/library/yum index 728d12aaf5..a36b2a81ae 100755 --- a/library/yum +++ b/library/yum @@ -112,7 +112,6 @@ def list_stuff(conf_file, stuff): if conf_file and os.path.exists(conf_file): repoq = '%s -c %s --plugins --quiet -q ' % (repoquery,conf_file) - if stuff == 'installed': return [ pkg_to_dict(p) for p in is_installed(repoq, '-a', qf=qf) if p.strip() ] elif stuff == 'updates':