You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
24 lines
1.1 KiB
24 lines
1.1 KiB
---
|
|
|
|
# This requires the dnspython library and will fail with a friendly error when unavailable.
|
|
- name: Check DNS SRV record
|
|
set_fact:
|
|
result_dig_srv: "{{ lookup('dig', ('_matrix._tcp.' + hostname_identity + './SRV'), 'flat=0', wantlist=False) }}"
|
|
|
|
- name: Fail if DNS SRV record missing
|
|
fail:
|
|
msg: "It appears the DNS SRV record for {{ hostname_identity }} is not set up correctly (the record is missing). See the 'Configuring DNS' documentation for this playbook."
|
|
when: "result_dig_srv == 'NXDOMAIN'"
|
|
|
|
- name: Fail if DNS SRV record incorrect
|
|
fail:
|
|
msg: >
|
|
It appears the DNS SRV record for {{ hostname_identity }} is not set up correctly.
|
|
Expected it to point to `{{ (hostname_matrix + '.') }}` (port 8448).
|
|
Found it pointing to `{{ result_dig_srv.target }}` (port {{ result_dig_srv.port }}).
|
|
See the 'Configuring DNS' documentation for this playbook.
|
|
when: "result_dig_srv.target != (hostname_matrix + '.') or result_dig_srv.port != 8448"
|
|
|
|
- name: Report correct DNS SRV record
|
|
debug:
|
|
msg: "The DNS SRV record for {{ hostname_identity }} points to {{ hostname_matrix }}, as expected" |