--- - name: Hosts | populate inventory into hosts file blockinfile: dest: /etc/hosts block: |- {% for item in groups['all'] -%}{{ hostvars[item]['access_ip'] | default(hostvars[item]['ip'] | default(hostvars[item].ansible_default_ipv4.address)) }}{% if (item != hostvars[item]['ansible_hostname']) %} {{ hostvars[item]['ansible_hostname'] }} {{ hostvars[item]['ansible_hostname'] }}.{{ dns_domain }}{% endif %} {{ item }} {{ item }}.{{ dns_domain }} {% endfor %} state: present create: yes backup: yes marker: "# Ansible inventory hosts {mark}" - name: Hosts | populate kubernetes loadbalancer address into hosts file lineinfile: dest: /etc/hosts regexp: ".*{{ apiserver_loadbalancer_domain_name }}$" line: "{{ loadbalancer_apiserver.address }} {{ apiserver_loadbalancer_domain_name| default('lb-apiserver.kubernetes.local') }}" state: present backup: yes when: loadbalancer_apiserver is defined and apiserver_loadbalancer_domain_name is defined - name: Hosts | localhost ipv4 in hosts file lineinfile: dest: /etc/hosts line: "127.0.0.1 localhost localhost.localdomain" regexp: '^127.0.0.1.*$' state: present backup: yes - name: Hosts | localhost ipv6 in hosts file lineinfile: dest: /etc/hosts line: "::1 localhost6 localhost6.localdomain" regexp: '^::1.*$' state: present backup: yes