{#-
    vim: syntax=jinja
-#}
{%- from "linux/map.jinja" import network with context -%}
# hosts(1) file managed by salt-minion(1)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN

{%- set hosts = {
    '127.0.0.1': [
        'localhost'
    ],
    '127.0.1.1': [
        network.fqdn|default(grains.fqdn),
        network.hostname|default(grains.nodename)
    ],
    '::1': [
        'ip6-localhost',
        'ip6-loopback'
    ],
    'fe00::0': [
        'ip6-localnet',
        'ip6-mcastprefix'
    ],
    'ff02::1': [
        'ip6-allnodes'
    ],
    'ff02::2': [
        'ip6-allrouters'
    ],
    'ff02::3': [
        'ip6-allhosts'
    ],
} -%}
{%- for name, host in host_dict.iteritems() -%}
{%- for hname in host.names -%}
{%- if hname in hosts.get('127.0.1.1', []) -%}
{%- do hosts.pop('127.0.1.1') -%}
{%- endif %}
{%- endfor %}
{%- do hosts.update({host.address: host.names}) -%}
{%- endfor %}
{% for address, entries in hosts|dictsort %}
{%- if 'linux_hosts.fqdn_sort_filter' in salt.keys() %}
{%- set sorted_entries = salt['linux_hosts.fqdn_sort_filter'](entries) -%}
{%- else %}
{%- set sorted_entries = entries -%}
{%- endif %}
{{ address }}   {{ sorted_entries|join(' ') }}
{%- endfor %}