diff --git a/basic-system/defaults/main.yml b/basic-system/defaults/main.yml index 831b31e60fc118bd3cbe13f4270258a9d7a70460..4e43757ca3c9c09e6d7ee8a020bb1c13f43bd879 100644 --- a/basic-system/defaults/main.yml +++ b/basic-system/defaults/main.yml @@ -1,3 +1,5 @@ --- dns_hostname_fqdn: False +hosts_alternates: [] +hosts_additionals: [] diff --git a/basic-system/handlers/main.yml b/basic-system/handlers/main.yml index a27692f799afad6c8009eb22233b89332325eb0a..612fa5bd221419f9bddfdf47adfcf5e7b21358f3 100644 --- a/basic-system/handlers/main.yml +++ b/basic-system/handlers/main.yml @@ -9,3 +9,7 @@ - name: update initramfs command: update-initramfs -u + +- name: gather network facts once again + setup: gather_subset=network + diff --git a/basic-system/tasks/network.yml b/basic-system/tasks/network.yml index 875e40f287d49d22ee0f5bb3d684c6dd03927618..c2c78141e50b94bc2b82047c57f4a444c5b43bfb 100644 --- a/basic-system/tasks/network.yml +++ b/basic-system/tasks/network.yml @@ -17,6 +17,8 @@ - name: ensure the hostname is not a fqdn hostname: name="{{ inventory_hostname }}" when: not dns_hostname_fqdn + notify: + - gather network facts once again tags: - dns - network @@ -25,11 +27,25 @@ - name: ensure the hostname is a fqdn hostname: name="{{ ansible_fqdn }}" when: dns_hostname_fqdn + notify: + - gather network facts once again tags: - dns - network - config +- meta: flush_handlers + +- name: ensure correct hosts file + template: + src: hosts.j2 + dest: /etc/hosts + notify: + - gather network facts once again + tags: + - dns + - network + - name: ensure deactivation of tcp_timestamps sysctl: name=net.ipv4.tcp_timestamps value=0 state=present sysctl_set=yes tags: diff --git a/basic-system/templates/hosts.j2 b/basic-system/templates/hosts.j2 new file mode 100644 index 0000000000000000000000000000000000000000..9301e375eed74efbdd5e73dd86a2c802cd6fd583 --- /dev/null +++ b/basic-system/templates/hosts.j2 @@ -0,0 +1,20 @@ +127.0.0.1 localhost +::1 localhost ip6-localhost ip6-loopback +fe00::0 ip6-localnet +ff00::0 ip6-mcastprefix +ff02::1 ip6-allnodes +ff02::2 ip6-allrouters +ff02::3 ip6-allhosts + +{%- for host in hosts_alternates %} +{{ host }} {{ ansible_host }} {{ inventory_hostname }} +{% else %} +{{ ansible_default_ipv4.address }} {{ ansible_host }} {{ inventory_hostname }} +{%- if address in ansible_default_ipv6 %} +{{ ansible_default_ipv6.address }} {{ ansible_host }} {{ inventory_hostname }} +{% endif -%} +{% endfor -%} + +{%- for host in hosts_additionals %} +{{ host.address }} {{ host.names|join(' ') }} +{% endfor -%}