Simply network role

The role only supports netplan now
This commit is contained in:
2022-08-30 23:27:03 -05:00
parent 221578a0d1
commit 71d1da1cf1
15 changed files with 27 additions and 280 deletions

View File

@ -1,47 +0,0 @@
# {{ ansible_managed }}
{% if network_interfaces is defined %}
network:
version: 2
ethernets:
{% for iface in network_interfaces %}
{% if iface.name is defined %}
{{ iface.name }}:
{% endif %}
{% if iface.address is defined %}
addresses:
{% for addr in iface.address %}
- {{ addr }}
{% endfor %}
{% endif %}
{% if iface.gateway4 is defined %}
gateway4: {{ iface.gateway4 }}
{% endif %}
{% if iface.gateway6 is defined %}
gateway6: {{ iface.gateway6 }}
{% endif %}
{% endfor %}
{% else %}
{# Default network configuration #}
network:
version: 2
ethernets:
{% if ansible_default_ipv4.interface is defined %}
{{ ansible_default_ipv4.interface }}:
{% if ansible_default_ipv4.address is defined or ansible_default_ipv6.address is defined %}
addresses:
{% if ansible_default_ipv4.address is defined %}
- {{ ansible_default_ipv4.address }}/{{ (ansible_default_ipv4.network + "/" + ansible_default_ipv4.netmask) | ansible.utils.ipaddr('prefix') }}
{% endif %}
{% if ansible_default_ipv6.address is defined %}
- {{ ansible_default_ipv6.address }}/{{ ansible_default_ipv6.prefix }}
{% endif %}
{% if ansible_default_ipv4.gateway is defined %}
gateway4: {{ ansible_default_ipv4.gateway }}
{% endif %}
{% if ansible_default_ipv6.gateway is defined %}
gateway6: {{ ansible_default_ipv6.gateway }}
{% endif %}
{% endif %}
{% endif %}
{% endif %}

View File

@ -1,8 +0,0 @@
# {{ ansible_managed }}
{% if _network_ifupdown_enabled %}
{% elif _network_netplan_enabled %}
# netplan is in use.
{% elif _network_systemd_networkd_enabled %}
# systemd-networkd is in use.
{% endif %}

View File

@ -1,15 +0,0 @@
# {{ ansible_managed }}
{% for ns in (network_nameservers | shuffle(seed=inventory_hostname))[:3] %}
nameserver {{ ns }}
{% endfor %}
{% if network_resolv_conf_options is defined %}
options {{ network_resolv_conf_options | join(' ') }}
{% endif %}
{% if network_search is defined %}
{% if network_search is iterable and network_search is not string %}
search {{ network_search | join(' ') }}
{% else %}
search {{ network_search }}
{% endif %}
{% endif %}

View File

@ -1,13 +0,0 @@
# {{ ansible_managed }}
[Resolve]
{% for ns in (network_nameservers | shuffle(seed=inventory_hostname)) %}
DNS={{ ns }}
{% endfor %}
{% if network_search is defined %}
{% if network_search is iterable and network_search is not string %}
Domains={{ network_search | join(' ') }}
{% else %}
Domains={{ network_search }}
{% endif %}
{% endif %}

View File

@ -1,41 +0,0 @@
# {{ ansible_managed }}
{% if item is defined %}
{% if item.name is defined %}
[Match]
Name={{ item.name }}
{% endif %}
{% if item.address is defined %}
[Network]
{% for addr in item.address %}
Address={{ addr }}
{% endfor %}
{% endif %}
{% if item.gateway4 is defined %}
Gateway={{ item.gateway4 }}
{% endif %}
{% if item.gateway6 is defined %}
Gateway={{ item.gateway6 }}
{% endif %}
{% else %}
{# Default network configuration #}
{% if ansible_default_ipv4.interface is defined %}
[Match]
Name={{ ansible_default_ipv4.interface }}
{% if ansible_default_ipv4.address is defined or ansible_default_ipv6.address is defined %}
[Network]
{% if ansible_default_ipv4.address is defined %}
Address={{ ansible_default_ipv4.address }}/{{ (ansible_default_ipv4.network + "/" + ansible_default_ipv4.netmask) | ansible.utils.ipaddr('prefix') }}
{% endif %}
{% if ansible_default_ipv6.address is defined %}
Address={{ ansible_default_ipv6.address }}/{{ ansible_default_ipv6.prefix }}
{% endif %}
{% if ansible_default_ipv4.gateway is defined %}
Gateway={{ ansible_default_ipv4.gateway }}
{% endif %}
{% if ansible_default_ipv6.gateway is defined %}
Gateway={{ ansible_default_ipv6.gateway }}
{% endif %}
{% endif %}
{% endif %}
{% endif %}