From f46db974bfd5ae6e48b1848c95be7f3bc117d78e Mon Sep 17 00:00:00 2001 From: Dag Wieers Date: Wed, 7 Nov 2012 23:18:28 +0100 Subject: [PATCH] Turn 'fail' and 'debug' modules into action_plugins This makes more sense as there is no purpose in running these remotely. --- debug | 37 +++---------------------------------- fail | 25 ++----------------------- 2 files changed, 5 insertions(+), 57 deletions(-) diff --git a/debug b/debug index b36668eba84..acd7efd2c53 100644 --- a/debug +++ b/debug @@ -37,11 +37,6 @@ options: message. required: false default: "Hello world!" - rc: - description: - - The return code of the module. If fail=yes, this will default to 1. - required: false - default: 0 fail: description: - A boolean that indicates whether the debug module should fail or not. @@ -49,37 +44,11 @@ options: default: "no" examples: - code: | - - local_action: debug msg="System $inventory_hostname has uuid $ansible_product_uuid" - - local_action: debug msg="System $inventory_hostname lacks a gateway" fail=yes + - action: debug msg="System $inventory_hostname has uuid $ansible_product_uuid" + - action: debug msg="System $inventory_hostname lacks a gateway" fail=yes only_if: "is_unset('${ansible_default_ipv4.gateway}')" - - local_action: debug msg="System $inventory_hostname has gateway ${ansible_default_ipv4.gateway}" + - action: debug msg="System $inventory_hostname has gateway ${ansible_default_ipv4.gateway}" only_if: "is_set('${ansible_default_ipv4.gateway}')" description: "Example that prints the loopback address and gateway for each host" author: Dag Wieers ''' - -def main(): - - module = AnsibleModule( - argument_spec = dict( - fail = dict(default='no', choices=BOOLEANS), - msg = dict(default='Hello world!'), - rc = dict(default=0), - ) - ) - - fail = module.boolean(module.params.get('fail')) - msg = module.params.get('msg') - rc = module.params.get('rc') - - if fail and rc == 0: - rc = 1 - - if fail: - module.fail_json(rc=rc, msg=msg) - else: - module.exit_json(msg=msg) - -# this is magic, see lib/ansible/module_common.py -#<> -main() diff --git a/fail b/fail index 0a81aa02cd7..c6fbe603a54 100644 --- a/fail +++ b/fail @@ -32,34 +32,13 @@ options: - The customized message used for failing execution. If ommited, fail will simple bail out with a generic message. required: false - default: "'Failed because only_if condition is true'" - rc: - description: - - The return code of the failure. This is currently not used by - Ansible, but might be used in the future. - required: false - default: 1 + default: "'Failed as requested from task'" examples: - code: | - fail: msg="The system may not be provisioned according to the CMDB status." rc=100 + fail: msg="The system may not be provisioned according to the CMDB status." only_if: "'$cmdb_status' != 'to-be-staged'" description: "Example playbook using fail and only_if together" author: Dag Wieers ''' - -def main(): - - module = AnsibleModule( - argument_spec = dict( - msg = dict(default='Failed because only_if condition is true'), - rc = dict(default=1), - ) - ) - - module.fail_json(rc=module.params['rc'], msg=module.params['msg']) - -# this is magic, see lib/ansible/module_common.py -#<> -main()