diff -up ansible-1.9.1/lib/ansible/modules/extras/packaging/os/dnf.py.bak ansible-1.9.1/lib/ansible/modules/extras/packaging/os/dnf.py
--- ansible-1.9.1/lib/ansible/modules/extras/packaging/os/dnf.py.bak 2015-04-28 11:42:28.000000000 -0700
+++ ansible-1.9.1/lib/ansible/modules/extras/packaging/os/dnf.py 2015-05-27 08:14:09.175829546 -0700
@@ -92,8 +92,10 @@ options:
notes: []
# informational: requirements for nodes
-requirements: [ dnf ]
-author: Cristian van Ee
+requirements:
+ - dnf
+ - yum-utils (for repoquery)
+author: '"Cristian van Ee (@DJMuggs)" <cristian at cvee.org>'
'''
EXAMPLES = '''
@@ -137,18 +139,12 @@ def log(msg):
def dnf_base(conf_file=None, cachedir=False):
my = dnf.Base()
- my.logging.verbose_level=0
- my.logging.verbose_level=0
+ my.conf.debuglevel=0
if conf_file and os.path.exists(conf_file):
- my.config = conf_file
- if cachedir or os.geteuid() != 0:
- if cachedir or os.geteuid() != 0:
- if hasattr(my, 'setCacheDir'):
- my.setCacheDir()
- else:
- cachedir = cachedir.dnf.Conf()
- my.repos.setCacheDir(cachedir)
- my.conf.cache = 0
+ my.conf.config_file_path = conf_file
+ my.conf.read()
+ my.read_all_repos()
+ my.fill_sack()
return my
@@ -157,7 +153,7 @@ def install_dnf_utils(module):
if not module.check_mode:
dnf_path = module.get_bin_path('dnf')
if dnf_path:
- rc, so, se = module.run_command('%s -y install dnf-plugins-core' % dnf_path)
+ rc, so, se = module.run_command('%s -y install yum-utils' % dnf_path)
if rc == 0:
this_path = module.get_bin_path('repoquery')
global repoquery
@@ -812,9 +808,9 @@ def main():
if params['install_repoquery'] and not repoquery and not module.check_mode:
install_dnf_utils(module)
+ if not repoquery:
+ module.fail_json(msg="repoquery is required to use this module at this time. Please install the yum-utils package.")
if params['list']:
- if not repoquery:
- module.fail_json(msg="repoquery is required to use list= with this module. Please install the dnf-utils package.")
results = dict(results=list_stuff(module, params['conf_file'], params['list']))
module.exit_json(**results)