mirror of
https://github.com/freeipa/ansible-freeipa.git
synced 2026-07-25 00:44:42 +00:00
New IPADNSZone module
There is a new management module placed in the plugins folder:
plugins/modules/ipadnszone.py
The dnszone module allows to manage DNS zones.
Here is the documentation for the module:
README-dnszone.md
New example playbooks have been added:
playbooks/dnszone/disable-zone-forwarders.yml
playbooks/dnszone/dnszone-absent.yml
playbooks/dnszone/dnszone-all-params.yml
playbooks/dnszone/dnszone-disable.yml
playbooks/dnszone/dnszone-enable.yml
playbooks/dnszone/dnszone-present.yml
New tests for the module:
tests/dnszone/test_dnszone.yml
tests/dnszone/test_dnszone_mod.yml
This commit is contained in:
151
tests/dnszone/test_dnszone.yml
Normal file
151
tests/dnszone/test_dnszone.yml
Normal file
@@ -0,0 +1,151 @@
|
||||
---
|
||||
- name: Test dnszone
|
||||
hosts: ipaserver
|
||||
become: true
|
||||
gather_facts: true
|
||||
|
||||
tasks:
|
||||
|
||||
# Setup
|
||||
- name: Ensure zone is absent.
|
||||
ipadnszone:
|
||||
ipaadmin_password: SomeADMINpassword
|
||||
name: testzone.local
|
||||
state: absent
|
||||
|
||||
# Tests
|
||||
- name: Ensure zone is present.
|
||||
ipadnszone:
|
||||
ipaadmin_password: SomeADMINpassword
|
||||
name: testzone.local
|
||||
state: present
|
||||
register: result
|
||||
failed_when: not result.changed
|
||||
|
||||
- name: Ensure zone is present, again.
|
||||
ipadnszone:
|
||||
ipaadmin_password: SomeADMINpassword
|
||||
name: testzone.local
|
||||
state: present
|
||||
register: result
|
||||
failed_when: result.changed
|
||||
|
||||
- name: Ensure zone is disabled.
|
||||
ipadnszone:
|
||||
ipaadmin_password: SomeADMINpassword
|
||||
name: testzone.local
|
||||
state: disabled
|
||||
register: result
|
||||
failed_when: not result.changed
|
||||
|
||||
- name: Ensure zone is disabled, again.
|
||||
ipadnszone:
|
||||
ipaadmin_password: SomeADMINpassword
|
||||
name: testzone.local
|
||||
state: disabled
|
||||
register: result
|
||||
failed_when: result.changed
|
||||
|
||||
- name: Ensure zone is enabled.
|
||||
ipadnszone:
|
||||
ipaadmin_password: SomeADMINpassword
|
||||
name: testzone.local
|
||||
state: enabled
|
||||
register: result
|
||||
failed_when: not result.changed
|
||||
|
||||
- name: Ensure zone is enabled, again.
|
||||
ipadnszone:
|
||||
ipaadmin_password: SomeADMINpassword
|
||||
name: testzone.local
|
||||
state: enabled
|
||||
register: result
|
||||
failed_when: result.changed
|
||||
|
||||
- name: Ensure forward_policy is none.
|
||||
ipadnszone:
|
||||
ipaadmin_password: SomeADMINpassword
|
||||
name: testzone.local
|
||||
forward_policy: none
|
||||
register: result
|
||||
failed_when: not result.changed
|
||||
|
||||
- name: Ensure forward_policy is none, again.
|
||||
ipadnszone:
|
||||
ipaadmin_password: SomeADMINpassword
|
||||
name: testzone.local
|
||||
forward_policy: none
|
||||
register: result
|
||||
failed_when: result.changed
|
||||
|
||||
- name: Ensure forward_policy is first.
|
||||
ipadnszone:
|
||||
ipaadmin_password: SomeADMINpassword
|
||||
name: testzone.local
|
||||
forward_policy: first
|
||||
register: result
|
||||
failed_when: not result.changed
|
||||
|
||||
- name: Ensure forward_policy is first, again.
|
||||
ipadnszone:
|
||||
ipaadmin_password: SomeADMINpassword
|
||||
name: testzone.local
|
||||
forward_policy: first
|
||||
register: result
|
||||
failed_when: result.changed
|
||||
|
||||
- name: Ensure first forwarder is set.
|
||||
ipadnszone:
|
||||
ipaadmin_password: SomeADMINpassword
|
||||
name: testzone.local
|
||||
forwarders:
|
||||
- ip_address: 8.8.8.8
|
||||
port: 53
|
||||
register: result
|
||||
failed_when: not result.changed
|
||||
|
||||
- name: Ensure first and second forwarder are set.
|
||||
ipadnszone:
|
||||
ipaadmin_password: SomeADMINpassword
|
||||
name: testzone.local
|
||||
forwarders:
|
||||
- ip_address: 8.8.8.8
|
||||
port: 53
|
||||
- ip_address: 2001:4860:4860::8888
|
||||
register: result
|
||||
failed_when: not result.changed
|
||||
|
||||
- name: Ensure first and second forwarder are set, again.
|
||||
ipadnszone:
|
||||
ipaadmin_password: SomeADMINpassword
|
||||
name: testzone.local
|
||||
forwarders:
|
||||
- ip_address: 8.8.8.8
|
||||
port: 53
|
||||
- ip_address: 2001:4860:4860::8888
|
||||
register: result
|
||||
failed_when: result.changed
|
||||
|
||||
- name: Ensure only second forwarder is set.
|
||||
ipadnszone:
|
||||
ipaadmin_password: SomeADMINpassword
|
||||
name: testzone.local
|
||||
forwarders:
|
||||
- ip_address: 2001:4860:4860::8888
|
||||
register: result
|
||||
failed_when: not result.changed
|
||||
|
||||
- name: Nothing changes.
|
||||
ipadnszone:
|
||||
ipaadmin_password: SomeADMINpassword
|
||||
name: testzone.local
|
||||
register: result
|
||||
failed_when: result.changed
|
||||
|
||||
- name: Ensure no forwarders are set.
|
||||
ipadnszone:
|
||||
ipaadmin_password: SomeADMINpassword
|
||||
name: testzone.local
|
||||
forwarders: []
|
||||
register: result
|
||||
failed_when: not result.changed
|
||||
319
tests/dnszone/test_dnszone_mod.yml
Normal file
319
tests/dnszone/test_dnszone_mod.yml
Normal file
@@ -0,0 +1,319 @@
|
||||
---
|
||||
- name: Test dnszone
|
||||
hosts: ipaserver
|
||||
become: true
|
||||
gather_facts: true
|
||||
|
||||
tasks:
|
||||
|
||||
# Setup
|
||||
- name: Ensure zone is absent.
|
||||
ipadnszone:
|
||||
ipaadmin_password: SomeADMINpassword
|
||||
name: testzone.local
|
||||
state: absent
|
||||
|
||||
# Tests
|
||||
- name: Ensure zone is present.
|
||||
ipadnszone:
|
||||
ipaadmin_password: SomeADMINpassword
|
||||
name: testzone.local
|
||||
allow_sync_ptr: true
|
||||
dynamic_update: true
|
||||
dnssec: true
|
||||
allow_transfer:
|
||||
- 1.1.1.1
|
||||
- 2.2.2.2
|
||||
allow_query:
|
||||
- 1.1.1.1
|
||||
- 2.2.2.2
|
||||
serial: 1234
|
||||
refresh: 3600
|
||||
retry: 900
|
||||
expire: 1209600
|
||||
minimum: 3600
|
||||
ttl: 60
|
||||
default_ttl: 60
|
||||
name_server: ipaserver.test.local.
|
||||
skip_nameserver_check: true
|
||||
admin_email: admin@example.com
|
||||
nsec3param_rec: "1 7 100 abcd"
|
||||
state: present
|
||||
register: result
|
||||
failed_when: not result.changed
|
||||
|
||||
- name: Set serial to 1234, again.
|
||||
ipadnszone:
|
||||
ipaadmin_password: SomeADMINpassword
|
||||
name: testzone.local
|
||||
serial: 1234
|
||||
register: result
|
||||
failed_when: result.changed
|
||||
|
||||
- name: Set different nsec3param_rec.
|
||||
ipadnszone:
|
||||
ipaadmin_password: SomeADMINpassword
|
||||
name: testzone.local
|
||||
nsec3param_rec: "2 8 200 abcd"
|
||||
register: result
|
||||
failed_when: not result.changed
|
||||
|
||||
- name: Set same nsec3param_rec.
|
||||
ipadnszone:
|
||||
ipaadmin_password: SomeADMINpassword
|
||||
name: testzone.local
|
||||
nsec3param_rec: "2 8 200 abcd"
|
||||
register: result
|
||||
failed_when: result.changed
|
||||
|
||||
- name: Set default_ttl to 1200
|
||||
ipadnszone:
|
||||
ipaadmin_password: SomeADMINpassword
|
||||
name: testzone.local
|
||||
default_ttl: 1200
|
||||
register: result
|
||||
failed_when: not result.changed
|
||||
|
||||
- name: Set default_ttl to 1200, again
|
||||
ipadnszone:
|
||||
ipaadmin_password: SomeADMINpassword
|
||||
name: testzone.local
|
||||
default_ttl: 1200
|
||||
register: result
|
||||
failed_when: result.changed
|
||||
|
||||
- name: Set ttl to 900
|
||||
ipadnszone:
|
||||
ipaadmin_password: SomeADMINpassword
|
||||
name: testzone.local
|
||||
ttl: 900
|
||||
register: result
|
||||
failed_when: not result.changed
|
||||
|
||||
- name: Set ttl to 900, again
|
||||
ipadnszone:
|
||||
ipaadmin_password: SomeADMINpassword
|
||||
name: testzone.local
|
||||
ttl: 900
|
||||
register: result
|
||||
failed_when: result.changed
|
||||
|
||||
- name: Set minimum to 1000
|
||||
ipadnszone:
|
||||
ipaadmin_password: SomeADMINpassword
|
||||
name: testzone.local
|
||||
minimum: 1000
|
||||
register: result
|
||||
failed_when: not result.changed
|
||||
|
||||
- name: Set minimum to 1000, again
|
||||
ipadnszone:
|
||||
ipaadmin_password: SomeADMINpassword
|
||||
name: testzone.local
|
||||
minimum: 1000
|
||||
register: result
|
||||
failed_when: result.changed
|
||||
|
||||
- name: Set expire to 1209601
|
||||
ipadnszone:
|
||||
ipaadmin_password: SomeADMINpassword
|
||||
name: testzone.local
|
||||
expire: 1209601
|
||||
register: result
|
||||
failed_when: not result.changed
|
||||
|
||||
- name: Set expire to 1209601, again
|
||||
ipadnszone:
|
||||
ipaadmin_password: SomeADMINpassword
|
||||
name: testzone.local
|
||||
expire: 1209601
|
||||
register: result
|
||||
failed_when: result.changed
|
||||
|
||||
- name: Set retry to 1200.
|
||||
ipadnszone:
|
||||
ipaadmin_password: SomeADMINpassword
|
||||
name: testzone.local
|
||||
retry: 1200
|
||||
register: result
|
||||
failed_when: not result.changed
|
||||
|
||||
- name: Set retry to 1200, again.
|
||||
ipadnszone:
|
||||
ipaadmin_password: SomeADMINpassword
|
||||
name: testzone.local
|
||||
retry: 1200
|
||||
register: result
|
||||
failed_when: result.changed
|
||||
|
||||
- name: Set refresh to 4000.
|
||||
ipadnszone:
|
||||
ipaadmin_password: SomeADMINpassword
|
||||
name: testzone.local
|
||||
refresh: 4000
|
||||
register: result
|
||||
failed_when: not result.changed
|
||||
|
||||
- name: Set refresh to 4000, again.
|
||||
ipadnszone:
|
||||
ipaadmin_password: SomeADMINpassword
|
||||
name: testzone.local
|
||||
refresh: 4000
|
||||
register: result
|
||||
failed_when: result.changed
|
||||
|
||||
- name: Set serial to 12345.
|
||||
ipadnszone:
|
||||
ipaadmin_password: SomeADMINpassword
|
||||
name: testzone.local
|
||||
serial: 12345
|
||||
register: result
|
||||
failed_when: not result.changed
|
||||
|
||||
- name: Set serial to 12345, again.
|
||||
ipadnszone:
|
||||
ipaadmin_password: SomeADMINpassword
|
||||
name: testzone.local
|
||||
serial: 12345
|
||||
register: result
|
||||
failed_when: result.changed
|
||||
|
||||
- name: Set dnssec to false.
|
||||
ipadnszone:
|
||||
ipaadmin_password: SomeADMINpassword
|
||||
name: testzone.local
|
||||
dnssec: false
|
||||
register: result
|
||||
failed_when: not result.changed
|
||||
|
||||
- name: Set dnssec to false, again.
|
||||
ipadnszone:
|
||||
ipaadmin_password: SomeADMINpassword
|
||||
name: testzone.local
|
||||
dnssec: false
|
||||
register: result
|
||||
failed_when: result.changed
|
||||
|
||||
- name: Set allow_sync_ptr to false.
|
||||
ipadnszone:
|
||||
ipaadmin_password: SomeADMINpassword
|
||||
name: testzone.local
|
||||
allow_sync_ptr: false
|
||||
register: result
|
||||
failed_when: not result.changed
|
||||
|
||||
- name: Set allow_sync_ptr to false, again.
|
||||
ipadnszone:
|
||||
ipaadmin_password: SomeADMINpassword
|
||||
name: testzone.local
|
||||
allow_sync_ptr: false
|
||||
register: result
|
||||
failed_when: result.changed
|
||||
|
||||
- name: Set dynamic_update to false.
|
||||
ipadnszone:
|
||||
ipaadmin_password: SomeADMINpassword
|
||||
name: testzone.local
|
||||
dynamic_update: false
|
||||
register: result
|
||||
failed_when: not result.changed
|
||||
|
||||
- name: Set dynamic_update to false, again.
|
||||
ipadnszone:
|
||||
ipaadmin_password: SomeADMINpassword
|
||||
name: testzone.local
|
||||
dynamic_update: false
|
||||
register: result
|
||||
failed_when: result.changed
|
||||
|
||||
- name: Update allow_transfer.
|
||||
ipadnszone:
|
||||
ipaadmin_password: SomeADMINpassword
|
||||
name: testzone.local
|
||||
allow_transfer:
|
||||
- 1.1.1.1
|
||||
- 2.2.2.2
|
||||
- 3.3.3.3
|
||||
register: result
|
||||
failed_when: not result.changed
|
||||
|
||||
- name: Update allow_transfer, again.
|
||||
ipadnszone:
|
||||
ipaadmin_password: SomeADMINpassword
|
||||
name: testzone.local
|
||||
allow_transfer:
|
||||
- 1.1.1.1
|
||||
- 2.2.2.2
|
||||
- 3.3.3.3
|
||||
register: result
|
||||
failed_when: result.changed
|
||||
|
||||
- name: Remove allow transfer.
|
||||
ipadnszone:
|
||||
ipaadmin_password: SomeADMINpassword
|
||||
name: testzone.local
|
||||
allow_transfer: []
|
||||
register: result
|
||||
failed_when: not result.changed
|
||||
|
||||
- name: Remove allow transfer, again.
|
||||
ipadnszone:
|
||||
ipaadmin_password: SomeADMINpassword
|
||||
name: testzone.local
|
||||
allow_transfer: []
|
||||
register: result
|
||||
failed_when: result.changed
|
||||
|
||||
- name: Update allow_query.
|
||||
ipadnszone:
|
||||
ipaadmin_password: SomeADMINpassword
|
||||
name: testzone.local
|
||||
allow_query:
|
||||
- 1.1.1.1
|
||||
- 2.2.2.2
|
||||
- 3.3.3.3
|
||||
register: result
|
||||
failed_when: not result.changed
|
||||
|
||||
- name: Update allow_query, again.
|
||||
ipadnszone:
|
||||
ipaadmin_password: SomeADMINpassword
|
||||
name: testzone.local
|
||||
allow_query:
|
||||
- 1.1.1.1
|
||||
- 2.2.2.2
|
||||
- 3.3.3.3
|
||||
register: result
|
||||
failed_when: result.changed
|
||||
|
||||
- name: Ensure allow query is empty.
|
||||
ipadnszone:
|
||||
ipaadmin_password: SomeADMINpassword
|
||||
name: testzone.local
|
||||
allow_query: []
|
||||
register: result
|
||||
failed_when: not result.changed
|
||||
|
||||
- name: Ensure allow query is empty, again.
|
||||
ipadnszone:
|
||||
ipaadmin_password: SomeADMINpassword
|
||||
name: testzone.local
|
||||
allow_query: []
|
||||
register: result
|
||||
failed_when: result.changed
|
||||
|
||||
- name: Update admin email.
|
||||
ipadnszone:
|
||||
ipaadmin_password: SomeADMINpassword
|
||||
name: testzone.local
|
||||
admin_email: admin2@example.com
|
||||
register: result
|
||||
failed_when: not result.changed
|
||||
|
||||
- name: Update admin email, again.
|
||||
ipadnszone:
|
||||
ipaadmin_password: SomeADMINpassword
|
||||
name: testzone.local
|
||||
admin_email: admin2@example.com
|
||||
register: result
|
||||
failed_when: result.changed
|
||||
Reference in New Issue
Block a user