Add support for forward/reverse DNS range split
- Allow for explicit reverse RFC1918 lookups with unbound_reverse_zones
- Add tests, similar to NSD ones
- Wait for network to be online before starting (fixes AETHER-1041)
- Multiplatform support
Change-Id: I385aec6f766b45a9db595d2f8af5ed8fe0dde2ca
diff --git a/molecule/default/molecule.yml b/molecule/default/molecule.yml
index 435ea97..d6f6823 100644
--- a/molecule/default/molecule.yml
+++ b/molecule/default/molecule.yml
@@ -22,10 +22,10 @@
host_vars:
ubuntu-18.04-priv:
ansible_python_interpreter: /usr/bin/python3
- dns_zones:
+ dns_forward_zones:
example.com:
serial: 20201102
- ip_range: 192.168.1.1/24
+ ip_range: 192.168.1.0/24
ns:
- gw.example.com.
a:
@@ -37,9 +37,18 @@
lpr: printer.example.com.
srv: {}
txt: {}
+ dns_reverse_zones:
+ 192.168.1.0/24:
+ ns:
+ - gw.example.com.
+ ptr:
+ 192.168.1.1: gw.example.com.
+ 192.168.1.2: host1.example.com.
+ 192.168.1.3: host2.example.com.
+ 192.168.1.4: printer.example.com.
unbound_forward_zones:
- name: "."
servers:
- - "8.8.8.8"
+ - "8.8.8.8"
verifier:
name: ansible
diff --git a/molecule/default/prepare.yml b/molecule/default/prepare.yml
index cfec10c..8011b9d 100644
--- a/molecule/default/prepare.yml
+++ b/molecule/default/prepare.yml
@@ -6,12 +6,13 @@
- name: Prepare for unbound by installing nsd for testing
hosts: all
- roles:
- - nsd
- tasks:
+ pre_tasks:
- name: Add dnsutils so dig works in tests
apt:
name: "dnsutils"
state: "present"
update_cache: true
+
+ roles:
+ - nsd
diff --git a/molecule/default/verify.yml b/molecule/default/verify.yml
index 87b7bc8..99a7c6f 100644
--- a/molecule/default/verify.yml
+++ b/molecule/default/verify.yml
@@ -7,6 +7,32 @@
- name: Verify
hosts: all
tasks:
- - name: example assertion
- assert:
- that: true
+
+ - name: Check for A record
+ command: # noqa 301
+ cmd: "dig +short gw.example.com @{{ ansible_default_ipv4.address }}"
+ register: a_dig
+ failed_when: "'192.168.1.1' not in a_dig.stdout"
+
+ - name: Check for NS record
+ command: # noqa 301
+ cmd: "dig ns +short example.com @{{ ansible_default_ipv4.address }}"
+ register: ns_dig
+ failed_when: "'gw.example.com.' not in ns_dig.stdout"
+
+ - name: Check for CNAME record
+ command: # noqa 301
+ cmd: "dig +short lpr.example.com @{{ ansible_default_ipv4.address }}"
+ register: cn_dig
+ failed_when: "'printer.example.com.\n192.168.1.4' not in cn_dig.stdout"
+
+ - name: Check for reverse IP lookup
+ command: # noqa 301
+ cmd: "dig -x {{ item.key }} @{{ ansible_default_ipv4.address }}"
+ register: rip_dig
+ failed_when: "item.value not in rip_dig.stdout"
+ with_dict:
+ 192.168.1.1: gw.example.com.
+ 192.168.1.2: host1.example.com.
+ 192.168.1.3: host2.example.com.
+ 192.168.1.4: printer.example.com.