From d0b703a1377950e7c1e0d184c95439564f85a2d2 Mon Sep 17 00:00:00 2001 From: Franziska Kunsmann Date: Wed, 22 Dec 2021 07:46:43 +0100 Subject: [PATCH] bundles/systemd-networkd: remove unneeded bridge/bond stuff --- .../files/template-bond.netdev | 13 -- .../files/template-bond.network | 5 - .../files/template-bridge-vlan.network | 7 - .../files/template-bridge.netdev | 6 - .../files/template-bridge.network | 6 - .../files/template-dummy.netdev | 3 - bundles/systemd-networkd/items.py | 124 ++---------------- bundles/systemd-networkd/metadata.py | 16 --- 8 files changed, 8 insertions(+), 172 deletions(-) delete mode 100644 bundles/systemd-networkd/files/template-bond.netdev delete mode 100644 bundles/systemd-networkd/files/template-bond.network delete mode 100644 bundles/systemd-networkd/files/template-bridge-vlan.network delete mode 100644 bundles/systemd-networkd/files/template-bridge.netdev delete mode 100644 bundles/systemd-networkd/files/template-bridge.network delete mode 100644 bundles/systemd-networkd/files/template-dummy.netdev diff --git a/bundles/systemd-networkd/files/template-bond.netdev b/bundles/systemd-networkd/files/template-bond.netdev deleted file mode 100644 index ec8f29d..0000000 --- a/bundles/systemd-networkd/files/template-bond.netdev +++ /dev/null @@ -1,13 +0,0 @@ -[NetDev] -Name=${bond} -Kind=bond - -[Bond] -Mode=${mode} -% if mode in {'balance-rr', '802.3ad', 'balance-tlp'}: -TransmitHashPolicy=layer3+4 -% endif -MIIMonitorSec=0.1 -% if mode == '802.3ad': -LACPTransmitRate=fast -% endif diff --git a/bundles/systemd-networkd/files/template-bond.network b/bundles/systemd-networkd/files/template-bond.network deleted file mode 100644 index e7849fa..0000000 --- a/bundles/systemd-networkd/files/template-bond.network +++ /dev/null @@ -1,5 +0,0 @@ -[Match] -Name=${' '.join(sorted(match))} - -[Network] -Bond=${bond} diff --git a/bundles/systemd-networkd/files/template-bridge-vlan.network b/bundles/systemd-networkd/files/template-bridge-vlan.network deleted file mode 100644 index 7a0a3f3..0000000 --- a/bundles/systemd-networkd/files/template-bridge-vlan.network +++ /dev/null @@ -1,7 +0,0 @@ -[Match] -Name=${bridge} - -[Network] -% for vlan in sorted(vlans): -VLAN=${bridge}.${vlan} -% endfor diff --git a/bundles/systemd-networkd/files/template-bridge.netdev b/bundles/systemd-networkd/files/template-bridge.netdev deleted file mode 100644 index 5cf3bcf..0000000 --- a/bundles/systemd-networkd/files/template-bridge.netdev +++ /dev/null @@ -1,6 +0,0 @@ -[NetDev] -Name=${bridge} -Kind=bridge - -[Bridge] -STP=off diff --git a/bundles/systemd-networkd/files/template-bridge.network b/bundles/systemd-networkd/files/template-bridge.network deleted file mode 100644 index b008d84..0000000 --- a/bundles/systemd-networkd/files/template-bridge.network +++ /dev/null @@ -1,6 +0,0 @@ -[Match] -Name=${' '.join(sorted(match))} - -[Network] -Bridge=${bridge} -BindCarrier=${' '.join(sorted(match))} diff --git a/bundles/systemd-networkd/files/template-dummy.netdev b/bundles/systemd-networkd/files/template-dummy.netdev deleted file mode 100644 index ba6b2d0..0000000 --- a/bundles/systemd-networkd/files/template-dummy.netdev +++ /dev/null @@ -1,3 +0,0 @@ -[NetDev] -Name=${name} -Kind=dummy diff --git a/bundles/systemd-networkd/items.py b/bundles/systemd-networkd/items.py index 5f9ab5b..78986c0 100644 --- a/bundles/systemd-networkd/items.py +++ b/bundles/systemd-networkd/items.py @@ -6,18 +6,10 @@ files = { '/etc/network/interfaces': { 'delete': True, }, -} - -if node.metadata.get('systemd-networkd/enable-resolved', False): - symlinks['/etc/resolv.conf'] = { - 'target': '/run/systemd/resolve/stub-resolv.conf', - } - svc_systemd['systemd-resolved'] = {} -else: - files['/etc/resolv.conf'] = { + '/etc/resolv.conf': { 'content_type': 'mako', - } - + }, +} directories = { '/etc/systemd/network': { @@ -34,9 +26,7 @@ directories = { mac_host_prefix = '%04x' % (node.magic_number % 65534) generated_mac = f'52:54:00:{mac_host_prefix[0:2]}:{mac_host_prefix[2:4]}:{{}}' -# Don't use .get() here. We might end up with a node without a network -# config! -for interface, config in node.metadata['interfaces'].items(): +for interface, config in node.metadata.get('interfaces').items(): if config.get('dhcp', False): if 'vlans' in config: raise BundleError(f'{node.name} interface {interface} cannot use vlans and dhcp!') @@ -62,45 +52,13 @@ for interface, config in node.metadata['interfaces'].items(): 'svc_systemd:systemd-networkd:restart', }, } - elif interface.startswith('dummy'): - files[f'/etc/systemd/network/{interface}.netdev'] = { - 'source': 'template-dummy.netdev', - 'content_type': 'mako', - 'context': { - 'name': interface, - }, - 'needed_by': { - 'svc_systemd:systemd-networkd', - }, - 'triggers': { - 'svc_systemd:systemd-networkd:restart', - }, - } - if not config.get('ignore', False): - files[f'/etc/systemd/network/{interface}.network'] = { - 'source': template, - 'content_type': 'mako', - 'context': { - 'interface': interface, - 'config': config, - }, - 'needed_by': { - 'svc_systemd:systemd-networkd', - }, - 'triggers': { - 'svc_systemd:systemd-networkd:restart', - }, - } - -for bond, config in node.metadata.get('systemd-networkd/bonds', {}).items(): - files[f'/etc/systemd/network/{bond}.netdev'] = { - 'source': 'template-bond.netdev', + files[f'/etc/systemd/network/{interface}.network'] = { + 'source': template, 'content_type': 'mako', 'context': { - 'bond': bond, - 'mode': config.get('mode', '802.3ad'), - 'prio': config.get('priority', '32768'), + 'interface': interface, + 'config': config, }, 'needed_by': { 'svc_systemd:systemd-networkd', @@ -110,72 +68,6 @@ for bond, config in node.metadata.get('systemd-networkd/bonds', {}).items(): }, } - files[f'/etc/systemd/network/{bond}.network'] = { - 'source': 'template-bond.network', - 'content_type': 'mako', - 'context': { - 'bond': bond, - 'match': config['match'], - }, - 'needed_by': { - 'svc_systemd:systemd-networkd', - }, - 'triggers': { - 'svc_systemd:systemd-networkd:restart', - }, - } - -for brname, config in node.metadata.get('systemd-networkd/bridges', {}).items(): - filename = '{}-match-{}'.format( - brname, - '-'.join(sorted(config['match'])), - ) - - files[f'/etc/systemd/network/{brname}.netdev'] = { - 'source': 'template-bridge.netdev', - 'content_type': 'mako', - 'context': { - 'bridge': brname, - }, - 'needed_by': { - 'svc_systemd:systemd-networkd', - }, - 'triggers': { - 'svc_systemd:systemd-networkd:restart', - }, - } - - files[f'/etc/systemd/network/{filename}.network'] = { - 'source': 'template-bridge.network', - 'content_type': 'mako', - 'context': { - 'bridge': brname, - 'match': config['match'], - }, - 'needed_by': { - 'svc_systemd:systemd-networkd', - }, - 'triggers': { - 'svc_systemd:systemd-networkd:restart', - }, - } - - if config.get('vlans', set()): - files[f'/etc/systemd/network/{brname}.network'] = { - 'source': 'template-bridge-vlan.network', - 'content_type': 'mako', - 'context': { - 'bridge': brname, - 'vlans': config.get('vlans', set()), - }, - 'needed_by': { - 'svc_systemd:systemd-networkd', - }, - 'triggers': { - 'svc_systemd:systemd-networkd:restart', - }, - } - svc_systemd = { 'systemd-networkd': {}, } diff --git a/bundles/systemd-networkd/metadata.py b/bundles/systemd-networkd/metadata.py index 303e0f3..2b91166 100644 --- a/bundles/systemd-networkd/metadata.py +++ b/bundles/systemd-networkd/metadata.py @@ -11,7 +11,6 @@ defaults = { @metadata_reactor.provides( 'interfaces', - 'systemd-networkd/bridges', ) def add_vlan_infos_to_interface(metadata): interfaces = {} @@ -26,21 +25,6 @@ def add_vlan_infos_to_interface(metadata): interfaces.setdefault(interface, {}).setdefault('vlans', set()) interfaces[interface]['vlans'].add(vlan) - for bridge, config in metadata.get('systemd-networkd/bridges', {}).items(): - for iface in config.get('match', {}): - if '.' not in iface: - continue - - interface,vlan = iface.split('.') - - bridges.setdefault(interface, {}).setdefault('vlans', set()) - bridges[interface]['vlans'].add(vlan) - - interfaces.setdefault(iface, {'ignore': True}) - return { 'interfaces': interfaces, - 'systemd-networkd': { - 'bridges': bridges, - }, }