Skip to content
Snippets Groups Projects
Commit d73b6e39 authored by Rafael Guterres Jeffman's avatar Rafael Guterres Jeffman
Browse files

Fixes error handling on dnsconfig module.

This fixes reporting errors on dnsconfig module and add some tests
to verify that invalid IP addresses cannot be used as forwarders.
parent 46caacd0
No related branches found
No related tags found
No related merge requests found
...@@ -115,7 +115,7 @@ def find_dnsconfig(module): ...@@ -115,7 +115,7 @@ def find_dnsconfig(module):
_result["result"]['idnsforwarders'] = [''] _result["result"]['idnsforwarders'] = ['']
return _result["result"] return _result["result"]
else: else:
module.fail("Could not retrieve current DNS configuration.") module.fail_json(msg="Could not retrieve current DNS configuration.")
return None return None
...@@ -129,7 +129,7 @@ def gen_args(module, state, dnsconfig, forwarders, forward_policy, ...@@ -129,7 +129,7 @@ def gen_args(module, state, dnsconfig, forwarders, forward_policy,
ip_address = forwarder.get('ip_address') ip_address = forwarder.get('ip_address')
port = forwarder.get('port') port = forwarder.get('port')
if not (is_ipv4_addr(ip_address) or is_ipv6_addr(ip_address)): if not (is_ipv4_addr(ip_address) or is_ipv6_addr(ip_address)):
module.fail( module.fail_json(
msg="Invalid IP for DNS forwarder: %s" % ip_address) msg="Invalid IP for DNS forwarder: %s" % ip_address)
if port is None: if port is None:
_forwarders.append(ip_address) _forwarders.append(ip_address)
...@@ -153,7 +153,7 @@ def gen_args(module, state, dnsconfig, forwarders, forward_policy, ...@@ -153,7 +153,7 @@ def gen_args(module, state, dnsconfig, forwarders, forward_policy,
else: else:
# shouldn't happen, but let's be paranoid. # shouldn't happen, but let's be paranoid.
module.fail(msg="Invalid state: %s" % state) module.fail_json(msg="Invalid state: %s" % state)
if forward_policy is not None: if forward_policy is not None:
_args['idnsforwardpolicy'] = forward_policy _args['idnsforwardpolicy'] = forward_policy
......
...@@ -18,6 +18,29 @@ ...@@ -18,6 +18,29 @@
state: absent state: absent
# Tests. # Tests.
- name: Set config to invalid IPv4.
ipadnsconfig:
ipaadmin_password: SomeADMINpassword
forwarders:
- ip_address: 1.2.3.500
register: result
failed_when: not result.failed or "Invalid IP for DNS forwarder" not in result.msg
- name: Set config to invalid IP.
ipadnsconfig:
ipaadmin_password: SomeADMINpassword
forwarders:
- ip_address: 1.in.va.lid
register: result
failed_when: not result.failed or "Invalid IP for DNS forwarder" not in result.msg
- name: Set config to invalid IPv6.
ipadnsconfig:
ipaadmin_password: SomeADMINpassword
forwarders:
- ip_address: fd00::invalid
register: result
failed_when: not result.failed or "Invalid IP for DNS forwarder" not in result.msg
- name: Set dnsconfig. - name: Set dnsconfig.
ipadnsconfig: ipadnsconfig:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment