Closed retr0h closed 4 years ago
@retr0h Can you share an example of the playbook & process you're using to create the SRV records? I'd like to clarify what the expected behavior is here.
Possibly related, I have a patch which enables powerdns_record
to add multiple hostnames to a single MX record entry. Assuming the behavior I implemented there is what you're looking for, it shouldn't take much to get it working for SRV records as well.
@blake
The inventory:
pdns_svr_create:
- name: _mysql._udp.dnac.xxx.com.
zone: _udp.dnac.xxx.com
type: SRV
content: 0 5 9104 dnac-dashboard-mysql-slave.dnac-dashboard-production.svc.cluster.local.
ttl: 300
- name: _mysql._udp.dnac.xxx.com.
zone: _udp.dnac.xxx.com
type: SRV
content: 0 5 9104 dnac-dashboard-mysql-slave.dnac-dashboard-staging.svc.cluster.local.
ttl: 300
- name: _mysql._udp.dnac.xxx.com.
zone: _udp.dnac.xxx.com
type: SRV
content: 0 5 9104 dnac-dashboard-mysql-slave.dnac-dashboard-dev.svc.cluster.local.
ttl: 300
- name: _mysql._udp.dnac.xxx.com.
zone: _udp.dnac.xxx.com
type: SRV
content: 0 5 9104 dnac-dashboard-mysql.dnac-dashboard-production.svc.cluster.local.
ttl: 300
- name: _mysql._udp.dnac.xxx.com.
zone: _udp.dnac.xxx.com
type: SRV
content: 0 5 9104 dnac-dashboard-mysql.dnac-dashboard-staging.svc.cluster.local.
ttl: 300
- name: _mysql._udp.dnac.xxx.com.
zone: _udp.dnac.xxx.com
type: SRV
content: 0 5 9104 dnac-dashboard-mysql.dnac-dashboard-dev.svc.cluster.local.
ttl: 300
playbook
- hosts: dns-primary
become: true
tasks:
- name: Create records
powerdns_record:
name: "{{ item.name }}"
zone: "{{ item.zone }}"
type: "{{ item.type }}"
content: "{{ item.content }}"
ttl: "{{ item.ttl }}"
pdns_host: "{{ pdns_bind_address }}"
pdns_port: "{{ pdns_api_port }}"
pdns_api_key: "{{ pdns_api_password }}"
state: "{{ item.state | default('present') }}"
loop: "{{ pdns_hosts_create }}"
However, as reported in the original issue, only the last SRV record is ever added.
@retr0h Just posted a PR which should resolve your issue. I tested these changes with the playbook you provided. The records are successfully created the after adding exclusive: no
to the powerdns_record
module parameters.
I just tried this out, and oddly it doesn't appear to be working. I still only have one record (the last) even when passing exclusive: no
Could you share which version of PowerDNS you’re using? Would you mind providing debugging output from the playbook run to assist with troubleshooting?
I'm trying to add SRV records with the module. However, it appears the module will only add one record total.