Merge pull request #1745 from anderbubble/NetworkManager-bond-no-dhcp

Don't use DHCP for interfaces attached to a bond
This commit is contained in:
Christian Goll
2025-02-20 10:17:24 +01:00
committed by GitHub
4 changed files with 175 additions and 13 deletions

View File

@@ -40,6 +40,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
- Updated `wwctl node export` to include node IDs. #1718
- Don't add "default" profile to new nodes if it does not exist. #1721
- Make DHCP range optional.
- Don't use DHCP for interfaces attached to a bond. #1743
### Removed

View File

@@ -195,15 +195,15 @@ autoconnect=true
[ipv4]
method=manual
route1=192.168.1.0/24,192.168.2.254
[vlan]
interface-name=eth0.902
parent=eth0
id=902
[ipv6]
addr-gen-mode=stable-privacy
method=ignore
never-default=true
[vlan]
interface-name=eth0.902
parent=eth0
id=902
backupFile: true
writeFile: true
Filename: warewulf-untagged.conf
@@ -222,6 +222,91 @@ method=manual
addr-gen-mode=stable-privacy
method=ignore
never-default=true
`,
},
"NetworkManager:ww4-managed.ww with bond": {
nodes_conf: `
nodes:
node1:
network devices:
bond0:
type: Bond
device: bond0
ipaddr: 192.168.3.110
netmask: 255.255.255.0
en1:
device: en1
hwaddr: e6:92:39:49:7b:03
tags:
master: bond0
en2:
device: en2
hwaddr: 9a:77:29:73:14:f1
tags:
master: bond0
`,
args: []string{"--render", "node1", "NetworkManager", "etc/NetworkManager/system-connections/ww4-managed.ww"},
log: `backupFile: true
writeFile: true
Filename: warewulf-bond0.conf
# This file is autogenerated by warewulf
[connection]
id=bond0
interface-name=bond0
type=bond
[bond]
downdelay=0
miimon=100
mode=balance-rr
xmit_hash_policy=layer2+3
updelay=0
[ethernet]
[ipv4]
method=manual
address=192.168.3.110/24
[ipv6]
addr-gen-mode=stable-privacy
method=ignore
never-default=true
backupFile: true
writeFile: true
Filename: warewulf-en1.conf
# This file is autogenerated by warewulf
[connection]
id=en1
interface-name=en1
type=ethernet
master=bond0
slave-type=bond
[ethernet]
mac-address=e6:92:39:49:7b:03
[ipv4]
method=disabled
[ipv6]
method=disabled
backupFile: true
writeFile: true
Filename: warewulf-en2.conf
# This file is autogenerated by warewulf
[connection]
id=en2
interface-name=en2
type=ethernet
master=bond0
slave-type=bond
[ethernet]
mac-address=9a:77:29:73:14:f1
[ipv4]
method=disabled
[ipv6]
method=disabled
`,
},
}

View File

@@ -39,7 +39,13 @@ mtu={{ $netdev.MTU }}
{{- end }}
{{- end }}
{{- if not $netdev.Tags.master }}
{{- if $netdev.Tags.master }}
[ipv4]
method=disabled
[ipv6]
method=disabled
{{- else }}
[ipv4]
method=manual
{{- if $netdev.IpCIDR }}
@@ -62,14 +68,6 @@ dns={{$dns}}
{{- if $netdev.Tags.DNSSEARCH }}
dns-search={{ join ";" (without (regexSplit "[ ;]+" $netdev.Tags.DNSSEARCH -1) "") }};
{{- end }}
{{- end }}
{{- if eq $netdev.Type "vlan" }}
[vlan]
interface-name={{ $netdev.Device }}
parent={{ $netdev.Tags.parent_device }}
id={{ $netdev.Tags.vlan_id }}
{{- end }}
[ipv6]
addr-gen-mode=stable-privacy
@@ -79,3 +77,11 @@ never-default=true
ipaddr="{{ $netdev.Ipaddr6 }}"
{{- end }}
{{- end }}
{{- if eq $netdev.Type "vlan" }}
[vlan]
interface-name={{ $netdev.Device }}
parent={{ $netdev.Tags.parent_device }}
id={{ $netdev.Tags.vlan_id }}
{{- end }}
{{- end }}

View File

@@ -166,6 +166,76 @@ IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
`,
},
"ifcfg:ifcfg.ww (bond)": {
nodes_conf: `
nodes:
node1:
network devices:
bond0:
type: Bond
device: bond0
ipaddr: 192.168.3.110
netmask: 255.255.255.0
en1:
device: en1
hwaddr: e6:92:39:49:7b:03
tags:
master: bond0
en2:
device: en2
hwaddr: 9a:77:29:73:14:f1
tags:
master: bond0
`,
args: []string{"--render", "node1", "ifcfg", "etc/sysconfig/network-scripts/ifcfg.ww"},
log: `backupFile: true
writeFile: true
Filename: ifcfg-bond0.conf
# This file is autogenerated by warewulf
TYPE=Bond
DEVICE=bond0
NAME=bond0
BOOTPROTO=static
DEVTIMEOUT=10
IPADDR=192.168.3.110
NETMASK=255.255.255.0
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
backupFile: true
writeFile: true
Filename: ifcfg-en1.conf
# This file is autogenerated by warewulf
TYPE=Ethernet
MASTER=bond0
DEVICE=en1
NAME=en1
BOOTPROTO=static
DEVTIMEOUT=10
HWADDR=e6:92:39:49:7b:03
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
backupFile: true
writeFile: true
Filename: ifcfg-en2.conf
# This file is autogenerated by warewulf
TYPE=Ethernet
MASTER=bond0
DEVICE=en2
NAME=en2
BOOTPROTO=static
DEVTIMEOUT=10
HWADDR=9a:77:29:73:14:f1
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
`,
},
"ifcfg:route.ww": {