diff --git a/CHANGELOG.md b/CHANGELOG.md index 26c5994c..57c24e4b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ## v4.6.5, unreleased +### Changed + +- Renamed debian.interfaces overlay to ifupdown + ## v4.6.4, 2025-09-05 ### Added diff --git a/Makefile b/Makefile index 7c763efc..89bbf4e5 100644 --- a/Makefile +++ b/Makefile @@ -217,6 +217,9 @@ install: build docs ## Install Warewulf from source chmod 0644 $(DESTDIR)$(DATADIR)/warewulf/overlays/ssh.host_keys/rootfs/etc/ssh/ssh*.pub.ww chmod 0600 $(DESTDIR)$(DATADIR)/warewulf/overlays/NetworkManager/rootfs/etc/NetworkManager/system-connections/ww4-managed.ww chmod 0750 $(DESTDIR)$(DATADIR)/warewulf/overlays/host/rootfs + rm -rf $(DESTDIR)$(DATADIR)/warewulf/overlays/debian.interfaces # replacing symlink with a copy + install -d -m 755 $(DESTDIR)$(DATADIR)/warewulf/overlays/debian.interfaces + cp -a $(DESTDIR)$(DATADIR)/warewulf/overlays/ifupdown/* $(DESTDIR)$(DATADIR)/warewulf/overlays/debian.interfaces/ install -m 0755 wwctl $(DESTDIR)$(BINDIR) install -m 0755 wwclient $(DESTDIR)$(DATADIR)/warewulf/overlays/wwclient/rootfs/$(WWCLIENTDIR)/wwclient install -m 0644 include/firewalld/warewulf.xml $(DESTDIR)$(FIREWALLDDIR) diff --git a/etc/nodes.conf b/etc/nodes.conf index 94eeb9ee..b7017f85 100644 --- a/etc/nodes.conf +++ b/etc/nodes.conf @@ -15,8 +15,8 @@ nodeprofiles: - udev.netname - systemd.netname - ifcfg + - ifupdown - NetworkManager - - debian.interfaces - wicked - ignition kernel: diff --git a/internal/app/wwctl/overlay/build/main_test.go b/internal/app/wwctl/overlay/build/main_test.go index f86bb942..73b6c6e4 100644 --- a/internal/app/wwctl/overlay/build/main_test.go +++ b/internal/app/wwctl/overlay/build/main_test.go @@ -34,8 +34,8 @@ func Benchmark_Overlay_Build(b *testing.B) { - udev.netname - systemd.netname - ifcfg + - ifupdown - NetworkManager - - debian.interfaces - wicked - ignition kernel: @@ -3044,7 +3044,7 @@ nodes: - default`) runtimeOverlays := []string{"hosts", "ssh.authorized_keys", "syncuser"} - systemOverlays := []string{"wwinit", "wwclient", "fstab", "hostname", "ssh.host_keys", "issue", "resolv", "udev.netname", "systemd.netname", "ifcfg", "NetworkManager", "debian.interfaces", "wicked", "ignition"} + systemOverlays := []string{"wwinit", "wwclient", "fstab", "hostname", "ssh.host_keys", "issue", "resolv", "udev.netname", "systemd.netname", "ifcfg", "ifupdown", "NetworkManager", "wicked", "ignition"} for _, overlay := range append(runtimeOverlays, systemOverlays...) { env.ImportDir( diff --git a/internal/pkg/upgrade/node.go b/internal/pkg/upgrade/node.go index eb2a0622..72cd4861 100644 --- a/internal/pkg/upgrade/node.go +++ b/internal/pkg/upgrade/node.go @@ -25,8 +25,8 @@ var wwinitSplitOverlays = []string{ "udev.netname", "systemd.netname", "ifcfg", + "ifupdown", "NetworkManager", - "debian.interfaces", "wicked", "ignition", } diff --git a/internal/pkg/upgrade/node_test.go b/internal/pkg/upgrade/node_test.go index 4ed513ba..b42aee14 100644 --- a/internal/pkg/upgrade/node_test.go +++ b/internal/pkg/upgrade/node_test.go @@ -638,8 +638,8 @@ nodeprofiles: - udev.netname - systemd.netname - ifcfg + - ifupdown - NetworkManager - - debian.interfaces - wicked - ignition kernel: @@ -781,8 +781,8 @@ nodeprofiles: - udev.netname - systemd.netname - ifcfg + - ifupdown - NetworkManager - - debian.interfaces - wicked - ignition nodes: @@ -802,8 +802,8 @@ nodes: - udev.netname - systemd.netname - ifcfg + - ifupdown - NetworkManager - - debian.interfaces - wicked - ignition `, @@ -830,8 +830,8 @@ nodeprofiles: - udev.netname - systemd.netname - ifcfg + - ifupdown - NetworkManager - - debian.interfaces - wicked - ignition nodes: @@ -851,8 +851,8 @@ nodes: - udev.netname - systemd.netname - ifcfg + - ifupdown - NetworkManager - - debian.interfaces - wicked - ignition `, @@ -874,8 +874,8 @@ nodeprofiles: - udev.netname - systemd.netname - ifcfg + - ifupdown - NetworkManager - - debian.interfaces - wicked - ignition nodes: @@ -895,8 +895,8 @@ nodes: - udev.netname - systemd.netname - ifcfg + - ifupdown - NetworkManager - - debian.interfaces - wicked - ignition `, @@ -1076,8 +1076,8 @@ nodeprofiles: - udev.netname - systemd.netname - ifcfg + - ifupdown - NetworkManager - - debian.interfaces - wicked - ignition kernel: diff --git a/overlays/debian.interfaces b/overlays/debian.interfaces new file mode 120000 index 00000000..f7d5e9f4 --- /dev/null +++ b/overlays/debian.interfaces @@ -0,0 +1 @@ +ifupdown \ No newline at end of file diff --git a/overlays/debug/internal/debug_test.go b/overlays/debug/internal/debug_test.go index e8989cd9..5463e5e2 100644 --- a/overlays/debug/internal/debug_test.go +++ b/overlays/debug/internal/debug_test.go @@ -143,8 +143,8 @@ node methods in addition to its fields. - udev.netname - systemd.netname - ifcfg + - ifupdown - NetworkManager - - debian.interfaces - wicked - ignition - Init: /sbin/init diff --git a/overlays/debug/internal/nodes.conf b/overlays/debug/internal/nodes.conf index a68e2475..22f3bca5 100644 --- a/overlays/debug/internal/nodes.conf +++ b/overlays/debug/internal/nodes.conf @@ -15,8 +15,8 @@ nodeprofiles: - udev.netname - systemd.netname - ifcfg + - ifupdown - NetworkManager - - debian.interfaces - wicked - ignition kernel: diff --git a/overlays/debian.interfaces/internal/debian_interfaces_test.go b/overlays/ifupdown/internal/ifupdown_test.go similarity index 81% rename from overlays/debian.interfaces/internal/debian_interfaces_test.go rename to overlays/ifupdown/internal/ifupdown_test.go index c90503d3..3d3377ce 100644 --- a/overlays/debian.interfaces/internal/debian_interfaces_test.go +++ b/overlays/ifupdown/internal/ifupdown_test.go @@ -13,7 +13,9 @@ import ( func Test_wickedOverlay(t *testing.T) { env := testenv.New(t) defer env.RemoveAll() + env.ImportFile("var/lib/warewulf/overlays/debian.interfaces/rootfs/etc/network/interfaces.d/default.ww", "../rootfs/etc/network/interfaces.d/default.ww") + env.ImportFile("var/lib/warewulf/overlays/ifupdown/rootfs/etc/network/interfaces.d/default.ww", "../rootfs/etc/network/interfaces.d/default.ww") tests := []struct { name string @@ -25,7 +27,13 @@ func Test_wickedOverlay(t *testing.T) { name: "debian.interfaces", nodes_conf: "nodes.conf", args: []string{"--render", "node1", "debian.interfaces", "etc/network/interfaces.d/default.ww"}, - log: debian_interfaces, + log: expected_log, + }, + { + name: "ifupdown", + nodes_conf: "nodes.conf", + args: []string{"--render", "node1", "ifupdown", "etc/network/interfaces.d/default.ww"}, + log: expected_log, }, } @@ -49,7 +57,7 @@ func Test_wickedOverlay(t *testing.T) { } } -const debian_interfaces string = `backupFile: true +const expected_log string = `backupFile: true writeFile: true Filename: default diff --git a/overlays/debian.interfaces/internal/nodes.conf b/overlays/ifupdown/internal/nodes.conf similarity index 100% rename from overlays/debian.interfaces/internal/nodes.conf rename to overlays/ifupdown/internal/nodes.conf diff --git a/overlays/debian.interfaces/rootfs/etc/network/interfaces b/overlays/ifupdown/rootfs/etc/network/interfaces similarity index 100% rename from overlays/debian.interfaces/rootfs/etc/network/interfaces rename to overlays/ifupdown/rootfs/etc/network/interfaces diff --git a/overlays/debian.interfaces/rootfs/etc/network/interfaces.d/default.ww b/overlays/ifupdown/rootfs/etc/network/interfaces.d/default.ww similarity index 100% rename from overlays/debian.interfaces/rootfs/etc/network/interfaces.d/default.ww rename to overlays/ifupdown/rootfs/etc/network/interfaces.d/default.ww diff --git a/userdocs/nodes/nodes.rst b/userdocs/nodes/nodes.rst index a546be4a..06d895ba 100644 --- a/userdocs/nodes/nodes.rst +++ b/userdocs/nodes/nodes.rst @@ -80,7 +80,7 @@ You can also see the node's full attribute list by specifying ``--all``. n1 Comment default This profile is automatically included for each node n1 Ipxe default default n1 RuntimeOverlay default hosts,ssh.authorized_keys - n1 SystemOverlay default wwinit,wwclient,fstab,hostname,ssh.host_keys,issue,resolv,udev.netname,systemd.netname,ifcfg,NetworkManager,debian.interfaces,wicked,ignition + n1 SystemOverlay default wwinit,wwclient,fstab,hostname,ssh.host_keys,issue,resolv,udev.netname,systemd.netname,ifcfg,ifupdown,NetworkManager,wicked,ignition n1 Kernel.Args default quiet,crashkernel=no n1 Init default /sbin/init n1 Root default initramfs diff --git a/userdocs/nodes/profiles.rst b/userdocs/nodes/profiles.rst index 96494523..c0410eca 100644 --- a/userdocs/nodes/profiles.rst +++ b/userdocs/nodes/profiles.rst @@ -39,7 +39,7 @@ You can view the fields of a profile with ``wwctl profile --all``. default ImageName -- default Ipxe default default RuntimeOverlay hosts,ssh.authorized_keys - default SystemOverlay wwinit,wwclient,fstab,hostname,ssh.host_keys,issue,resolv,udev.netname,systemd.netname,ifcfg,NetworkManager,debian.interfaces,wicked,ignition + default SystemOverlay wwinit,wwclient,fstab,hostname,ssh.host_keys,issue,resolv,udev.netname,systemd.netname,ifcfg,ifupdown,NetworkManager,wicked,ignition default Kernel.Version -- default Kernel.Args quiet,crashkernel=no default Init /sbin/init @@ -58,7 +58,7 @@ You can view the fields of a profile with ``wwctl profile --all``. n1 Comment default This profile is automatically included for each node n1 Ipxe default default n1 RuntimeOverlay default hosts,ssh.authorized_keys - n1 SystemOverlay default wwinit,wwclient,fstab,hostname,ssh.host_keys,issue,resolv,udev.netname,systemd.netname,ifcfg,NetworkManager,debian.interfaces,wicked,ignition + n1 SystemOverlay default wwinit,wwclient,fstab,hostname,ssh.host_keys,issue,resolv,udev.netname,systemd.netname,ifcfg,ifupdown,NetworkManager,wicked,ignition n1 Kernel.Args default quiet,crashkernel=no n1 Init default /sbin/init n1 Root default initramfs @@ -108,7 +108,7 @@ to each node. n1 ImageName image rockylinux-9 n1 Ipxe default default n1 RuntimeOverlay default hosts,ssh.authorized_keys - n1 SystemOverlay default wwinit,wwclient,fstab,hostname,ssh.host_keys,issue,resolv,udev.netname,systemd.netname,ifcfg,NetworkManager,debian.interfaces,wicked,ignition + n1 SystemOverlay default wwinit,wwclient,fstab,hostname,ssh.host_keys,issue,resolv,udev.netname,systemd.netname,ifcfg,ifupdown,NetworkManager,wicked,ignition n1 Kernel.Args default quiet,crashkernel=no n1 Init default /sbin/init n1 Root default initramfs diff --git a/userdocs/overlays/overlays.rst b/userdocs/overlays/overlays.rst index 2dfb02f0..00ea62ef 100644 --- a/userdocs/overlays/overlays.rst +++ b/userdocs/overlays/overlays.rst @@ -221,10 +221,16 @@ systems. All of these are applied by default; but the list may be trimmed to the desired system. - ifcfg +- ifupdown - NetworkManager -- debian.interfaces - wicked +.. note:: + + The ``ifupdown`` overlay was previously named ``debian.interfaces``. The old + name is still supported for compatibility, but it is deprecated and will be + removed in a future release. + Warewulf also configures both systemd and udev with the intended names of configured network interfaces, typically based on a known MAC address. diff --git a/warewulf.spec.in b/warewulf.spec.in index f32585db..6c311bd6 100644 --- a/warewulf.spec.in +++ b/warewulf.spec.in @@ -194,6 +194,7 @@ getent group %{wwgroup} >/dev/null || groupadd -r %{wwgroup} %{_overlaydir}/hostname/rootfs/* %{_overlaydir}/hosts/rootfs/* %{_overlaydir}/ifcfg/rootfs/* +%{_overlaydir}/ifupdown/rootfs/* %{_overlaydir}/ignition/rootfs/* %{_overlaydir}/issue/rootfs/* %{_overlaydir}/netplan/rootfs/*