Better handling for missing NetDev.Device
- Closes: #1777 Overlays: - ifcfg - NetworkManager Signed-off-by: Jonathon Anderson <janderson@ciq.com>
This commit is contained in:
@@ -9,6 +9,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
||||
### Fixed
|
||||
|
||||
- Fix nightly builds.
|
||||
- Better handling for missing NetDev.Device. #1777
|
||||
|
||||
## v4.6.0rc3, 2025-02-23
|
||||
|
||||
|
||||
@@ -50,7 +50,7 @@ Filename: warewulf-unmanaged.conf
|
||||
plugins=keyfile
|
||||
|
||||
[keyfile]
|
||||
unmanaged-devices=except:mac:e6:92:39:49:7b:03,except:interface-name:wwnet0,except:mac:9a:77:29:73:14:f1,except:interface-name:wwnet1,
|
||||
unmanaged-devices=except:mac:e6:92:39:49:7b:03,except:interface-name:wwnet0,except:mac:9a:77:29:73:14:f1,except:interface-name:wwnet1
|
||||
`,
|
||||
},
|
||||
"NetworkManager:ww4-managed.ww": {
|
||||
@@ -119,6 +119,74 @@ gateway=192.168.3.1
|
||||
dns=8.8.8.8;8.8.4.4;
|
||||
dns-search=example.com;example.net;
|
||||
|
||||
[ipv6]
|
||||
addr-gen-mode=stable-privacy
|
||||
method=ignore
|
||||
never-default=true
|
||||
`,
|
||||
},
|
||||
"NetworkManager:ww4-managed.ww without device": {
|
||||
nodes_conf: `
|
||||
nodes:
|
||||
node1:
|
||||
network devices:
|
||||
default:
|
||||
onboot: true
|
||||
hwaddr: e6:92:39:49:7b:03
|
||||
ipaddr: 192.168.3.21
|
||||
netmask: 255.255.255.0
|
||||
gateway: 192.168.3.1
|
||||
secondary:
|
||||
onboot: true
|
||||
hwaddr: 9a:77:29:73:14:f1
|
||||
ipaddr: 192.168.3.22
|
||||
netmask: 255.255.255.0
|
||||
gateway: 192.168.3.1
|
||||
tags:
|
||||
DNS1: 8.8.8.8
|
||||
DNS2: 8.8.4.4
|
||||
DNSSEARCH: "example.com;example.net;"
|
||||
`,
|
||||
args: []string{"--render", "node1", "NetworkManager", "etc/NetworkManager/system-connections/ww4-managed.ww"},
|
||||
log: `backupFile: true
|
||||
writeFile: true
|
||||
Filename: warewulf-default.conf
|
||||
|
||||
# This file is autogenerated by warewulf
|
||||
|
||||
[connection]
|
||||
id=default
|
||||
type=ethernet
|
||||
autoconnect=true
|
||||
[ethernet]
|
||||
mac-address=e6:92:39:49:7b:03
|
||||
[ipv4]
|
||||
method=manual
|
||||
address=192.168.3.21/24
|
||||
gateway=192.168.3.1
|
||||
|
||||
[ipv6]
|
||||
addr-gen-mode=stable-privacy
|
||||
method=ignore
|
||||
never-default=true
|
||||
backupFile: true
|
||||
writeFile: true
|
||||
Filename: warewulf-secondary.conf
|
||||
# This file is autogenerated by warewulf
|
||||
|
||||
[connection]
|
||||
id=secondary
|
||||
type=ethernet
|
||||
autoconnect=true
|
||||
[ethernet]
|
||||
mac-address=9a:77:29:73:14:f1
|
||||
[ipv4]
|
||||
method=manual
|
||||
address=192.168.3.22/24
|
||||
gateway=192.168.3.1
|
||||
dns=8.8.8.8;8.8.4.4;
|
||||
dns-search=example.com;example.net;
|
||||
|
||||
[ipv6]
|
||||
addr-gen-mode=stable-privacy
|
||||
method=ignore
|
||||
@@ -158,7 +226,7 @@ Filename: warewulf-unmanaged.conf
|
||||
plugins=keyfile
|
||||
|
||||
[keyfile]
|
||||
unmanaged-devices=except:interface-name:wwnet0,except:mac:9a:77:29:73:14:f1,except:interface-name:wwnet1,
|
||||
unmanaged-devices=except:interface-name:wwnet0,except:mac:9a:77:29:73:14:f1,except:interface-name:wwnet1
|
||||
`,
|
||||
},
|
||||
"NetworkManager:ww4-managed.ww with vlan": {
|
||||
|
||||
@@ -5,4 +5,15 @@
|
||||
plugins=keyfile
|
||||
|
||||
[keyfile]
|
||||
unmanaged-devices={{ range $connection_id, $netdev := .NetDevs }}{{ if $netdev.Hwaddr }}except:mac:{{ $netdev.Hwaddr }},{{ end }}{{ if $netdev.Device }}except:interface-name:{{ $netdev.Device }},{{ end }}{{ end }}
|
||||
{{- $unmanaged := list }}
|
||||
{{- range $_, $netdev := .NetDevs }}
|
||||
{{- if $netdev.Hwaddr }}
|
||||
{{- $unmanaged = append $unmanaged (printf "except:mac:%s" $netdev.Hwaddr) }}
|
||||
{{- end }}
|
||||
{{- if $netdev.Device }}
|
||||
{{- $unmanaged = append $unmanaged (printf "except:interface-name:%s" $netdev.Device) }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- if $unmanaged }}
|
||||
unmanaged-devices={{ join "," $unmanaged }}
|
||||
{{- end }}
|
||||
|
||||
@@ -4,7 +4,9 @@
|
||||
|
||||
[connection]
|
||||
id={{ $devname }}
|
||||
{{- if $netdev.Device }}
|
||||
interface-name={{ $netdev.Device }}
|
||||
{{- end }}
|
||||
type={{ default "ethernet" (lower $netdev.Type) }}
|
||||
{{- if $netdev.Tags.master }}
|
||||
master={{ $netdev.Tags.master }}
|
||||
@@ -78,7 +80,9 @@ ipaddr="{{ $netdev.Ipaddr6 }}"
|
||||
|
||||
{{- if eq $netdev.Type "vlan" }}
|
||||
[vlan]
|
||||
{{- if $netdev.Device }}
|
||||
interface-name={{ $netdev.Device }}
|
||||
{{- end }}
|
||||
parent={{ $netdev.Tags.parent_device }}
|
||||
id={{ $netdev.Tags.vlan_id }}
|
||||
{{- end }}
|
||||
|
||||
@@ -86,6 +86,74 @@ IPV6_FAILURE_FATAL=no
|
||||
DNS1=8.8.8.8
|
||||
DNS2=8.8.4.4
|
||||
DOMAIN="example.net example.com"
|
||||
`,
|
||||
},
|
||||
"ifcfg:ifcfg.ww without device": {
|
||||
nodes_conf: `
|
||||
nodes:
|
||||
node1:
|
||||
network devices:
|
||||
default:
|
||||
hwaddr: e6:92:39:49:7b:03
|
||||
ipaddr: 192.168.3.21
|
||||
netmask: 255.255.255.0
|
||||
gateway: 192.168.3.1
|
||||
tags:
|
||||
DNS1: 1.1.1.1
|
||||
DNS2: 1.0.0.1
|
||||
DNSSEARCH: "example.com example.net"
|
||||
secondary:
|
||||
hwaddr: 9a:77:29:73:14:f1
|
||||
ipaddr: 192.168.3.22
|
||||
netmask: 255.255.255.0
|
||||
gateway: 192.168.3.1
|
||||
tags:
|
||||
DNS1: 8.8.8.8
|
||||
DNS2: 8.8.4.4
|
||||
DNSSEARCH: "example.net;example.com;"
|
||||
`,
|
||||
args: []string{"--render", "node1", "ifcfg", "etc/sysconfig/network-scripts/ifcfg.ww"},
|
||||
log: `backupFile: true
|
||||
writeFile: true
|
||||
Filename: ifcfg-default.conf
|
||||
|
||||
# This file is autogenerated by warewulf
|
||||
TYPE=Ethernet
|
||||
NAME=default
|
||||
BOOTPROTO=static
|
||||
DEVTIMEOUT=10
|
||||
IPADDR=192.168.3.21
|
||||
NETMASK=255.255.255.0
|
||||
GATEWAY=192.168.3.1
|
||||
HWADDR=e6:92:39:49:7b:03
|
||||
ONBOOT=true
|
||||
IPV6INIT=yes
|
||||
IPV6_AUTOCONF=yes
|
||||
IPV6_DEFROUTE=yes
|
||||
IPV6_FAILURE_FATAL=no
|
||||
DNS1=1.1.1.1
|
||||
DNS2=1.0.0.1
|
||||
DOMAIN="example.com example.net"
|
||||
backupFile: true
|
||||
writeFile: true
|
||||
Filename: ifcfg-secondary.conf
|
||||
# This file is autogenerated by warewulf
|
||||
TYPE=Ethernet
|
||||
NAME=secondary
|
||||
BOOTPROTO=static
|
||||
DEVTIMEOUT=10
|
||||
IPADDR=192.168.3.22
|
||||
NETMASK=255.255.255.0
|
||||
GATEWAY=192.168.3.1
|
||||
HWADDR=9a:77:29:73:14:f1
|
||||
ONBOOT=true
|
||||
IPV6INIT=yes
|
||||
IPV6_AUTOCONF=yes
|
||||
IPV6_DEFROUTE=yes
|
||||
IPV6_FAILURE_FATAL=no
|
||||
DNS1=8.8.8.8
|
||||
DNS2=8.8.4.4
|
||||
DOMAIN="example.net example.com"
|
||||
`,
|
||||
},
|
||||
"ifcfg:network.ww": {
|
||||
|
||||
@@ -9,7 +9,9 @@ TYPE={{ default "Ethernet" $netdev.Type }}
|
||||
{{- if $netdev.Tags.master }}
|
||||
MASTER={{ $netdev.Tags.master }}
|
||||
{{- end }}
|
||||
{{- if $netdev.Device }}
|
||||
DEVICE={{ $netdev.Device }}
|
||||
{{- end }}
|
||||
NAME={{ $devname }}
|
||||
{{- if $netdev.MTU }}
|
||||
MTU={{ $netdev.MTU }}
|
||||
|
||||
Reference in New Issue
Block a user