diff --git a/plugins/modules/ipadnsconfig.py b/plugins/modules/ipadnsconfig.py index 7b82a076b9ffce2e5d90f3e6b5b7e635422ae68c..6ca4aff5d6c8a81808f727ae8946ad18c851ffc1 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 b416a0d1762db698a4d6a111a8d80a3806599ea6..408c0596bfde635bd54cba0889a8906ef28a86df 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: