diff --git a/plugins/modules/ipadnsconfig.py b/plugins/modules/ipadnsconfig.py index 7b82a076..6ca4aff5 100644 --- a/plugins/modules/ipadnsconfig.py +++ b/plugins/modules/ipadnsconfig.py @@ -144,8 +144,8 @@ def gen_args(module, state, dnsconfig, forwarders, forward_policy, _args['idnsforwarders'] = [''] elif state == 'present': - _args['idnsforwarders'] = [ - fwd for fwd in _forwarders if fwd not in global_forwarders] + _args['idnsforwarders'] = \ + list(set(list(_forwarders) + list(global_forwarders))) # If no forwarders should be added, remove argument. if not _args['idnsforwarders']: del _args['idnsforwarders'] diff --git a/tests/dnsconfig/test_dnsconfig.yml b/tests/dnsconfig/test_dnsconfig.yml index b416a0d1..408c0596 100644 --- a/tests/dnsconfig/test_dnsconfig.yml +++ b/tests/dnsconfig/test_dnsconfig.yml @@ -171,7 +171,6 @@ register: result failed_when: not result.changed or result.failed - - name: Ensure all forwarders are absent, again. ipadnsconfig: ipaadmin_password: SomeADMINpassword @@ -185,6 +184,54 @@ register: result failed_when: result.changed or result.failed + - name: Ensure forwarder is present. + ipadnsconfig: + ipaadmin_password: SomeADMINpassword + ipaapi_context: "{{ ipa_context | default(omit) }}" + forwarders: + - ip_address: 8.8.8.8 + register: result + failed_when: not result.changed or result.failed + + - name: Ensure forwarders are present. + ipadnsconfig: + ipaadmin_password: SomeADMINpassword + ipaapi_context: "{{ ipa_context | default(omit) }}" + forwarders: + - ip_address: 8.8.4.4 + - ip_address: 8.8.8.8 + register: result + failed_when: not result.changed or result.failed + + - name: Ensure forwarders are present, again. + ipadnsconfig: + ipaadmin_password: SomeADMINpassword + ipaapi_context: "{{ ipa_context | default(omit) }}" + forwarders: + - ip_address: 8.8.4.4 + - ip_address: 8.8.8.8 + register: result + failed_when: result.changed or result.failed + + - name: Ensure another forwarder is present. + ipadnsconfig: + ipaadmin_password: SomeADMINpassword + ipaapi_context: "{{ ipa_context | default(omit) }}" + forwarders: + - ip_address: 8.8.4.4 + register: result + failed_when: result.changed or result.failed + + - name: Ensure forwarders are present. + ipadnsconfig: + ipaadmin_password: SomeADMINpassword + ipaapi_context: "{{ ipa_context | default(omit) }}" + forwarders: + - ip_address: 8.8.4.4 + - ip_address: 8.8.8.8 + register: result + failed_when: result.changed or result.failed + # Cleanup. - name: Ensure forwarders are absent. ipadnsconfig: