mirror of
https://github.com/freeipa/ansible-freeipa.git
synced 2026-05-08 14:23:11 +00:00
For failed_when result.failed should be used to make sure that the task fails if there was an error.
395 lines
10 KiB
YAML
395 lines
10 KiB
YAML
---
|
|
- name: Test dnszone
|
|
hosts: ipaserver
|
|
become: true
|
|
gather_facts: true
|
|
|
|
tasks:
|
|
|
|
# Setup
|
|
- name: Setup testing environment
|
|
include_tasks: env_setup.yml
|
|
|
|
# Tests
|
|
- name: Verify if zone can be created with a specific SOA serial.
|
|
block:
|
|
- name: Create zone with serial, refresh, retry and expire.
|
|
ipadnszone:
|
|
ipaadmin_password: SomeADMINpassword
|
|
name: testzone.local
|
|
serial: 4567
|
|
refresh: 70
|
|
retry: 89
|
|
expire: 200
|
|
|
|
- name: Verify zone was created with correct values.
|
|
shell: |
|
|
echo SomeADMINpassword | kinit -c {{ KRB5CCNAME }} admin
|
|
KRB5CCNAME={{ KRB5CCNAME }} ipa dnszone-show testzone.local
|
|
kdestroy -A -q -c {{ KRB5CCNAME }}
|
|
register: result
|
|
failed_when: |
|
|
result.failed or not (
|
|
"serial: 4567" in result.stdout
|
|
and "refresh: 70" in result.stdout
|
|
and "retry: 89" in result.stdout
|
|
and "expire: 200" in result.stdout
|
|
)
|
|
|
|
- name: Remove test zone.
|
|
ipadnszone:
|
|
ipaadmin_password: SomeADMINpassword
|
|
name: testzone.local
|
|
state: absent
|
|
|
|
vars:
|
|
KRB5CCNAME: verify_bz_1876896
|
|
|
|
- name: Verify if a zone can have the the SOA serial modified to a specific value.
|
|
block:
|
|
- name: Create zone.
|
|
ipadnszone:
|
|
ipaadmin_password: SomeADMINpassword
|
|
name: testzone.local
|
|
state: present
|
|
|
|
- name: Modify zone with serial, refresh, retry and expire.
|
|
ipadnszone:
|
|
ipaadmin_password: SomeADMINpassword
|
|
name: testzone.local
|
|
serial: 4567
|
|
refresh: 70
|
|
retry: 89
|
|
expire: 200
|
|
|
|
- name: Verify zone was modified to the correct values
|
|
shell: |
|
|
echo SomeADMINpassword | kinit -c {{ KRB5CCNAME }} admin
|
|
KRB5CCNAME={{ KRB5CCNAME }} ipa dnszone-show testzone.local
|
|
kdestroy -A -q -c {{ KRB5CCNAME }}
|
|
register: result
|
|
failed_when: |
|
|
result.failed or not (
|
|
"serial: 4567" in result.stdout
|
|
and "refresh: 70" in result.stdout
|
|
and "retry: 89" in result.stdout
|
|
and "expire: 200" in result.stdout
|
|
)
|
|
|
|
- name: Remove test zone.
|
|
ipadnszone:
|
|
ipaadmin_password: SomeADMINpassword
|
|
name: testzone.local
|
|
state: absent
|
|
|
|
vars:
|
|
KRB5CCNAME: verify_bz_1876896
|
|
|
|
- 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 or result.failed
|
|
|
|
- name: Set serial to 1234, again.
|
|
ipadnszone:
|
|
ipaadmin_password: SomeADMINpassword
|
|
name: testzone.local
|
|
serial: 1234
|
|
register: result
|
|
failed_when: result.changed or result.failed
|
|
|
|
- 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 or result.failed
|
|
|
|
- name: Set same nsec3param_rec.
|
|
ipadnszone:
|
|
ipaadmin_password: SomeADMINpassword
|
|
name: testzone.local
|
|
nsec3param_rec: "2 8 200 abcd"
|
|
register: result
|
|
failed_when: result.changed or result.failed
|
|
|
|
- name: Set default_ttl to 1200
|
|
ipadnszone:
|
|
ipaadmin_password: SomeADMINpassword
|
|
name: testzone.local
|
|
default_ttl: 1200
|
|
register: result
|
|
failed_when: not result.changed or result.failed
|
|
|
|
- name: Set default_ttl to 1200, again
|
|
ipadnszone:
|
|
ipaadmin_password: SomeADMINpassword
|
|
name: testzone.local
|
|
default_ttl: 1200
|
|
register: result
|
|
failed_when: result.changed or result.failed
|
|
|
|
- name: Set ttl to 900
|
|
ipadnszone:
|
|
ipaadmin_password: SomeADMINpassword
|
|
name: testzone.local
|
|
ttl: 900
|
|
register: result
|
|
failed_when: not result.changed or result.failed
|
|
|
|
- name: Set ttl to 900, again
|
|
ipadnszone:
|
|
ipaadmin_password: SomeADMINpassword
|
|
name: testzone.local
|
|
ttl: 900
|
|
register: result
|
|
failed_when: result.changed or result.failed
|
|
|
|
- name: Set minimum to 1000
|
|
ipadnszone:
|
|
ipaadmin_password: SomeADMINpassword
|
|
name: testzone.local
|
|
minimum: 1000
|
|
register: result
|
|
failed_when: not result.changed or result.failed
|
|
|
|
- name: Set minimum to 1000, again
|
|
ipadnszone:
|
|
ipaadmin_password: SomeADMINpassword
|
|
name: testzone.local
|
|
minimum: 1000
|
|
register: result
|
|
failed_when: result.changed or result.failed
|
|
|
|
- name: Set expire to 1209601
|
|
ipadnszone:
|
|
ipaadmin_password: SomeADMINpassword
|
|
name: testzone.local
|
|
expire: 1209601
|
|
register: result
|
|
failed_when: not result.changed or result.failed
|
|
|
|
- name: Set expire to 1209601, again
|
|
ipadnszone:
|
|
ipaadmin_password: SomeADMINpassword
|
|
name: testzone.local
|
|
expire: 1209601
|
|
register: result
|
|
failed_when: result.changed or result.failed
|
|
|
|
- name: Set retry to 1200.
|
|
ipadnszone:
|
|
ipaadmin_password: SomeADMINpassword
|
|
name: testzone.local
|
|
retry: 1200
|
|
register: result
|
|
failed_when: not result.changed or result.failed
|
|
|
|
- name: Set retry to 1200, again.
|
|
ipadnszone:
|
|
ipaadmin_password: SomeADMINpassword
|
|
name: testzone.local
|
|
retry: 1200
|
|
register: result
|
|
failed_when: result.changed or result.failed
|
|
|
|
- name: Set refresh to 4000.
|
|
ipadnszone:
|
|
ipaadmin_password: SomeADMINpassword
|
|
name: testzone.local
|
|
refresh: 4000
|
|
register: result
|
|
failed_when: not result.changed or result.failed
|
|
|
|
- name: Set refresh to 4000, again.
|
|
ipadnszone:
|
|
ipaadmin_password: SomeADMINpassword
|
|
name: testzone.local
|
|
refresh: 4000
|
|
register: result
|
|
failed_when: result.changed or result.failed
|
|
|
|
- name: Set serial to 12345.
|
|
ipadnszone:
|
|
ipaadmin_password: SomeADMINpassword
|
|
name: testzone.local
|
|
serial: 12345
|
|
register: result
|
|
failed_when: not result.changed or result.failed
|
|
|
|
- name: Set serial to 12345, again.
|
|
ipadnszone:
|
|
ipaadmin_password: SomeADMINpassword
|
|
name: testzone.local
|
|
serial: 12345
|
|
register: result
|
|
failed_when: result.changed or result.failed
|
|
|
|
- name: Set dnssec to false.
|
|
ipadnszone:
|
|
ipaadmin_password: SomeADMINpassword
|
|
name: testzone.local
|
|
dnssec: false
|
|
register: result
|
|
failed_when: not result.changed or result.failed
|
|
|
|
- name: Set dnssec to false, again.
|
|
ipadnszone:
|
|
ipaadmin_password: SomeADMINpassword
|
|
name: testzone.local
|
|
dnssec: false
|
|
register: result
|
|
failed_when: result.changed or result.failed
|
|
|
|
- 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 or result.failed
|
|
|
|
- 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 or result.failed
|
|
|
|
- name: Set dynamic_update to false.
|
|
ipadnszone:
|
|
ipaadmin_password: SomeADMINpassword
|
|
name: testzone.local
|
|
dynamic_update: false
|
|
register: result
|
|
failed_when: not result.changed or result.failed
|
|
|
|
- name: Set dynamic_update to false, again.
|
|
ipadnszone:
|
|
ipaadmin_password: SomeADMINpassword
|
|
name: testzone.local
|
|
dynamic_update: false
|
|
register: result
|
|
failed_when: result.changed or result.failed
|
|
|
|
- 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 or result.failed
|
|
|
|
- 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 or result.failed
|
|
|
|
- name: Remove allow transfer.
|
|
ipadnszone:
|
|
ipaadmin_password: SomeADMINpassword
|
|
name: testzone.local
|
|
allow_transfer: []
|
|
register: result
|
|
failed_when: not result.changed or result.failed
|
|
|
|
- name: Remove allow transfer, again.
|
|
ipadnszone:
|
|
ipaadmin_password: SomeADMINpassword
|
|
name: testzone.local
|
|
allow_transfer: []
|
|
register: result
|
|
failed_when: result.changed or result.failed
|
|
|
|
- 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 or result.failed
|
|
|
|
- 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 or result.failed
|
|
|
|
- name: Ensure allow query is empty.
|
|
ipadnszone:
|
|
ipaadmin_password: SomeADMINpassword
|
|
name: testzone.local
|
|
allow_query: []
|
|
register: result
|
|
failed_when: not result.changed or result.failed
|
|
|
|
- name: Ensure allow query is empty, again.
|
|
ipadnszone:
|
|
ipaadmin_password: SomeADMINpassword
|
|
name: testzone.local
|
|
allow_query: []
|
|
register: result
|
|
failed_when: result.changed or result.failed
|
|
|
|
- name: Update admin email.
|
|
ipadnszone:
|
|
ipaadmin_password: SomeADMINpassword
|
|
name: testzone.local
|
|
admin_email: admin2@example.com
|
|
register: result
|
|
failed_when: not result.changed or result.failed
|
|
|
|
- name: Update admin email, again.
|
|
ipadnszone:
|
|
ipaadmin_password: SomeADMINpassword
|
|
name: testzone.local
|
|
admin_email: admin2@example.com
|
|
register: result
|
|
failed_when: result.changed or result.failed
|
|
|
|
# Teardown
|
|
- name: Teardown testing environment
|
|
include_tasks: env_teardown.yml
|