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

Merge branch 'networkd-customized' into 'master'

networkd: add generic customization options

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