Skip to content
Snippets Groups Projects
Commit 08706617 authored by Lars Beckers's avatar Lars Beckers
Browse files

networkd: add generic customization options

parent 88024b8a
Branches
No related tags found
1 merge request!6networkd: add generic customization options
Pipeline #4305 passed
This commit is part of merge request !6. Comments created here will be created in the context of that merge request.
......@@ -14,6 +14,7 @@
# address: '10.10.10.10/24'
# gateway: '10.10.10.1'
# - type: 'routed'
# identifier: 'file-name'
# interfaces:
# - 'eth0'
# addresses:
......@@ -51,11 +52,16 @@
# name: transport
# bridge: true
networkd_type: 'dhcp' # if networkd not defined
networkd_ipfwd: false # works only globally anyway
### old style config follows, still supported
# if networkd not defined
networkd_type: 'dhcp'
# for static and dhcp types only
# networkd_interface: eth0
# for static type only
networkd_address: 10.10.10.10/24
networkd_gateway: 10.10.10.1
......
......@@ -3,7 +3,7 @@
- name: ensure networkd has a valid configuration
template:
src: "20-wired-{{ item.1.type }}.network.j2"
dest: /etc/systemd/network/{{ item.0 }}-wired.network
dest: "/etc/systemd/network/{{ item.0 }}-{{ item.1.identifier|default('wired') }}.network"
owner: root
group: root
mode: '0644'
......
[Match]
Name={{ item.1.interface|default(ansible_default_ipv4.interface) }}
Name={{ item.1.interface|default(networkd_interface|default(ansible_default_ipv4.interface)) }}
[Network]
DHCP=ipv4
{% if networkd_ipfwd %}
IPForward=yes
{% endif %}
{% for custom in network.custom|default([]) %}
[{{ custom.category }}]
{% for key, value in custom.settings.items() %}
{{ key }}={{ value }}
{% endfor %}
{% endfor %}
......@@ -15,6 +15,9 @@ DNS={{ server }}
{% if networkd_ipfwd %}
IPForward=yes
{% endif %}
{% for key, value in (network.settings|default({})).items() %}
{{ key }}={{ value }}
{% endfor %}
{% endif %}
{% for route in network.routes|default([{'gateway': network.gateway}]) %}
......@@ -38,4 +41,14 @@ PreferredSource={{ route.source }}
{% if route.metric is defined %}
Metric={{ route.metric }}
{% endif %}
{% for key, value in (route.settings|default({})).items() %}
{{ key }}={{ value }}
{% endfor %}
{% endfor %}
{% for custom in network.custom|default([]) %}
[{{ custom.category }}]
{% for key, value in custom.settings.items() %}
{{ key }}={{ value }}
{% endfor %}
{% endfor %}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment