From 9e889939394645affe324fbe0b27456225d51c2f Mon Sep 17 00:00:00 2001 From: abelbabel Date: Wed, 25 Sep 2013 17:51:17 +0200 Subject: [PATCH] add check mode support Could it be that easy or do I have missed something? --- packaging/pkgng | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/packaging/pkgng b/packaging/pkgng index fa341b2f80d..e6ad98e4b07 100644 --- a/packaging/pkgng +++ b/packaging/pkgng @@ -89,9 +89,10 @@ def remove_packages(module, pkgin_path, packages): if not query_package(module, pkgin_path, package): continue - rc, out, err = module.run_command("%s delete -y %s" % (pkgin_path, package)) + if not module.check_mode: + rc, out, err = module.run_command("%s delete -y %s" % (pkgin_path, package)) - if query_package(module, pkgin_path, package): + if not module.check_mode and query_package(module, pkgin_path, package): module.fail_json(msg="failed to remove %s: %s" % (package, out)) remove_c += 1 @@ -110,7 +111,7 @@ def install_packages(module, pkgin_path, packages, cached, pkgsite): if pkgsite != "": pkgsite="PACKAGESITE=%s" % (pkgsite) - if cached == "no": + if not module.check_mode and cached == "no": rc, out, err = module.run_command("%s %s update" % (pkgsite, pkgin_path)) if rc != 0: module.fail_json(msg="Could not update catalogue") @@ -119,9 +120,10 @@ def install_packages(module, pkgin_path, packages, cached, pkgsite): if query_package(module, pkgin_path, package): continue - rc, out, err = module.run_command("%s %s install -U -y %s" % (pkgsite, pkgin_path, package)) + if not module.check_mode: + rc, out, err = module.run_command("%s %s install -U -y %s" % (pkgsite, pkgin_path, package)) - if not query_package(module, pkgin_path, package): + if not module.check_mode and query_package(module, pkgin_path, package): module.fail_json(msg="failed to install %s: %s" % (package, out)) install_c += 1 @@ -134,11 +136,12 @@ def install_packages(module, pkgin_path, packages, cached, pkgsite): def main(): module = AnsibleModule( - argument_spec = dict( - state = dict(default="present", choices=["present","absent"]), - name = dict(aliases=["pkg"], required=True), - cached = dict(default="no", required=False, choices=["yes","no"]), - pkgsite = dict(default="", required=False))) + argument_spec = dict( + state = dict(default="present", choices=["present","absent"]), + name = dict(aliases=["pkg"], required=True), + cached = dict(default="supports_check_modeno", required=False, choices=["yes","no"]), + pkgsite = dict(default="", required=False)) + supports_check_mode = True) pkgin_path = module.get_bin_path('pkg', True)