Skip to content
Snippets Groups Projects
Commit e799b6ec authored by Chris Hines's avatar Chris Hines
Browse files

rework of the known_hosts template for simplicity and robustness

parent f4f638b8
No related branches found
No related tags found
1 merge request!47rework of the known_hosts template for simplicity and robustness
{% set nodelist = [] %}
{% set keytypes = [ { 'type': 'ssh-rsa', 'fact': 'ansible_ssh_host_key_rsa_public' }, { 'type': 'ecdsa-sha2-nistp256', 'fact': 'ansible_ssh_host_key_ecdsa_public'} ] %}
{% for node in groups['all'] %}
{% for interface in hostvars[node]['ansible_interfaces'] %}
{% if interface != "lo" %}
{% if 'ansible_ssh_host_key_rsa_public' in hostvars[node] %}
{% set host = {'name': node, 'ip': hostvars[node]['ansible_'+interface]['ipv4']['address'], 'keytype':'ssh-rsa', 'key': hostvars[node]['ansible_ssh_host_key_rsa_public']} %}
{% if nodelist.append(host) %}
{% endif %}
{% endif %}
{% if 'ansible_ssh_host_key_ecdsa_public' in hostvars[node] %}
{% set host = {'name': node, 'ip': hostvars[node]['ansible_'+interface]['ipv4']['address'], 'keytype':'ecdsa-sha2-nistp256', 'key': hostvars[node]['ansible_ssh_host_key_ecdsa_public']} %}
{% if nodelist.append(host) %}
{% endif %}
{% endif %}
{% for hostkey in keytypes %}
{% if hostkey['fact'] in hostvars[node] %}
{{ node }} {{ hostkey['type'] }} {{ hostvars[node][hostkey['fact']] }}
{% for ip in hostvars[node]['ansible_all_ipv4_addresses'] %}
{{ ip }} {{ hostkey['type'] }} {{ hostvars[node][hostkey['fact']] }}
{% endfor %}
{% endif %}
{% endfor %}
{% endfor %}
{% for host in nodelist %}
{{ host.ip }} {{ host.keytype }} {{ host.key }}
{{ host.name }} {{ host.keytype }} {{ host.key }}
{% endfor %}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment