c12s-kubespray/roles/dnsmasq/handlers/main.yml
Bogdan Dobrelya e2ac75cf98 Fix network restart
Restart network breaks ansible ssh workers.
Fire and forget async network restart and wait for it.
Add update resolvconf to the network restart handler to
ensure changes applied to the /etc/resolv.conf.

Signed-off-by: Bogdan Dobrelya <bdobrelia@mirantis.com>
2016-08-31 18:02:40 +02:00

35 lines
837 B
YAML

- name: Dnsmasq | restart network
command: /bin/true
notify:
- Dnsmasq | reload network
- Dnsmasq | Wait for network reloaded
- Dnsmasq | update resolvconf
when: ansible_os_family != "CoreOS"
- name: Dnsmasq | reload network
vars:
ansible_ssh_pipelining: yes
service:
name: >-
{% if ansible_os_family == "RedHat" -%}
network
{%- elif ansible_os_family == "Debian" -%}
networking
{%- endif %}
state: restarted
register: network_runner
async: 600
poll: 0
- name: Dnsmasq | Wait for network reloaded
vars:
ansible_ssh_pipelining: yes
async_status: jid={{ network_runner.ansible_job_id }}
register: network_jobs
until: network_jobs.finished
retries: 60
delay: 10
- name: Dnsmasq | update resolvconf
command: /sbin/resolvconf -u
ignore_errors: true