diff options
author | Toshio Kuratomi <toshio@fedoraproject.org> | 2015-11-01 12:58:20 -0800 |
---|---|---|
committer | Toshio Kuratomi <toshio@fedoraproject.org> | 2015-11-02 08:00:46 -0800 |
commit | 0b9e9fd852db09091793adf9167a29adb2addaf0 (patch) | |
tree | 56ef84810aa49b0da066bfb6842bfe1b8d31847b | |
parent | 8e0a2ed729901f0bd7b950883d805861883e2fbb (diff) | |
download | ansible-modules-extras-dnf-hang.tar.gz |
Move existing check for root before we make expensive network callsdnf-hang
-rw-r--r-- | packaging/os/dnf.py | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/packaging/os/dnf.py b/packaging/os/dnf.py index 58cf4bca..50c86fc4 100644 --- a/packaging/os/dnf.py +++ b/packaging/os/dnf.py @@ -234,9 +234,6 @@ def _mark_package_install(module, base, pkg_spec): def ensure(module, base, state, names): - if not util.am_i_root(): - module.fail_json(msg="This command has to be run under the root user.") - if names == ['*'] and state == 'latest': base.upgrade_all() else: @@ -330,12 +327,20 @@ def main(): mutually_exclusive=[['name', 'list']], supports_check_mode=True) params = module.params - base = _base( - module, params['conf_file'], params['disable_gpg_check'], - params['disablerepo'], params['enablerepo']) if params['list']: + base = _base( + module, params['conf_file'], params['disable_gpg_check'], + params['disablerepo'], params['enablerepo']) list_items(module, base, params['list']) else: + # Note: base takes a long time to run so we want to check for failure + # before running it. + if not util.am_i_root(): + module.fail_json(msg="This command has to be run under the root user.") + base = _base( + module, params['conf_file'], params['disable_gpg_check'], + params['disablerepo'], params['enablerepo']) + ensure(module, base, params['state'], params['name']) |