bundles/systemd-networkd: better dhcp support

This commit is contained in:
Franzi 2020-11-09 14:58:09 +01:00
parent 5e7c7671e0
commit 91fd33cfa0
Signed by: kunsi
GPG key ID: 12E3D2136B818350
3 changed files with 20 additions and 8 deletions

View file

@ -0,0 +1,14 @@
<%
from ipaddress import ip_network
%>\
[Match]
Name=${interface}
[Network]
DHCP=yes
IPv6AcceptRA=yes
UseHostname=no
% if config.get('forwarding', False):
IPForward=yes
%endif

View file

@ -4,7 +4,6 @@
[Match]
Name=${interface}
% for addr in sorted(config.get('ips', set())):
[Address]
<%
@ -31,14 +30,8 @@ GatewayOnLink=yes
% endif
[Network]
% if config.get('dhcp', False):
DHCP=yes
IPv6AcceptRA=yes
UseHostname=no
% else:
DHCP=no
IPv6AcceptRA=no
% endif
% if config.get('forwarding', False):
IPForward=yes

View file

@ -15,8 +15,13 @@ directories = {
# Don't use .get() here. We might end up with a node without a network
# config!
for interface, config in node.metadata['interfaces'].items():
if config.get('dhcp', False):
template = 'template-dhcp.network'
else:
template = 'template.network'
files['/etc/systemd/network/10-{}.network'.format(interface)] = {
'source': 'template.network',
'source': template,
'content_type': 'mako',
'context': {
'interface': interface,