41 lines
1.1 KiB
YAML
41 lines
1.1 KiB
YAML
- name: copy bind zone file
|
|
copy:
|
|
src: "/var/lib/powerdns/tpl/{{ item.item }}"
|
|
dest: "/var/lib/powerdns/zones/db.{{ item.item }}"
|
|
remote_src: yes
|
|
with_items: "{{ zonefilestask.results }}"
|
|
loop_control:
|
|
label: "{{ item.item }}"
|
|
when: item.changed
|
|
|
|
- name: set bind zone serial
|
|
replace:
|
|
regexp: "##sequence##"
|
|
replace: "{{ ansible_date_time.epoch }}"
|
|
dest: "/var/lib/powerdns/zones/db.{{ item.item }}"
|
|
with_items: "{{ zonefilestask.results }}"
|
|
loop_control:
|
|
label: "{{ item.item }}"
|
|
when: item.changed
|
|
|
|
- name: restart powerdns
|
|
service: name=pdns state=restarted
|
|
register: powerdns_restarted
|
|
|
|
- name: reload changed bind zones
|
|
command: "pdns_control bind-reload-now {{ zonefilestask.results|selectattr('changed')|join(' ', attribute='item') }}"
|
|
when: not powerdns_restarted | default(False)
|
|
|
|
- name: purge cache
|
|
command: "pdns_control purge"
|
|
when: not powerdns_restarted | default(False)
|
|
|
|
- name: notify slaves
|
|
command: "pdns_control notify {{ item.item }}"
|
|
with_items: "{{ zonefilestask.results }}"
|
|
loop_control:
|
|
label: "{{ item.item }}"
|
|
when:
|
|
- item.changed
|
|
- powerdns.config.master == "yes"
|
|
|