ansible-freebsd-jailhost-tools/tasks/jail/update_etc_hosts.yml

47 lines
1.8 KiB
YAML

# IMPORTANT: after the IP that is 2 TABULATOR characters !
- name: Getting matching /etc/hosts files (IPv4)
command: >-
/bin/sh -c "/usr/bin/grep -lE
'^[0-9]+.[0-9]+.[0-9]+.[0-9]+ jail-{{ jail_name.replace("_", "-") }}'
/etc/hosts {{ static_jails_path }}/*/etc/hosts {{ dynamic_jails_path }}/*/etc/hosts"
ignore_errors: yes
failed_when: false
register: matching_hosts_files_v4
- name: Replacing appropriate jail names with new IP addresses in /etc/hosts files (IPv4)
lineinfile:
dest: '{{ filename }}'
regexp: '^\d+\.\d+\.\d+\.\d+ jail-{{ jail_name.replace("_", "-") }}'
line: '{{ vars["jail_" + jail_name + "_new_ip4"] }} jail-{{ jail_name.replace("_", "-") }}'
state: present
with_items: '{{ matching_hosts_files_v4.stdout_lines }}'
loop_control:
loop_var: filename
- block:
# IMPORTANT: after the IP that is 2 TABULATOR characters !
- name: Getting matching /etc/hosts files (IPv6)
command: >-
/bin/sh -c "/usr/bin/grep -lE
'^[0-9a-f:]+ jail-{{ jail_name.replace("_", "-") }}'
/etc/hosts {{ static_jails_path }}/*/etc/hosts {{ dynamic_jails_path }}/*/etc/hosts"
ignore_errors: yes
failed_when: false
register: matching_hosts_files_v6
- name: Replacing appropriate jail names with new IP addresses in /etc/hosts files (IPv6)
lineinfile:
dest: '{{ filename }}'
regexp: '^[0-9a-f:]+ jail-{{ jail_name.replace("_", "-") }}'
line: '{{ jail_THIS_with_ip6 }} jail-{{ jail_name.replace("_", "-") }}'
state: present
with_items: '{{ matching_hosts_files_v6.stdout_lines }}'
loop_control:
loop_var: filename
when: 'jail_THIS_with_ip6 != False'
- name: Sending HUP to any any crucial processes to reload their /etc/hosts
command:
/usr/bin/killall -HUP dnsmasq syslogd nginx
failed_when: false