ansible-role-powerdns/handlers/main.yml
2020-05-12 00:03:27 +02:00

44 lines
1.2 KiB
YAML

- name: delete pdns bind.conf
file: path=/etc/powerdns/pdns.d/bind.conf state=absent
- 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"