Commit Graph

690 Commits

Author SHA1 Message Date
Jonathon Anderson
51869acf95 Merge pull request #2026 from kosmolito/fix/sfdisk-label-gpt
Fix sfdisk overlay for fresh disks by forcing GPT label
2025-12-17 13:32:36 -07:00
Jonathon Anderson
8f625c8288 Merge pull request #2017 from tweiers/network-manager-bond-fixes
Allow setting mtu and mac addr on bonds
2025-12-17 13:27:43 -07:00
Christian Goll
f590da4916 fix wwctl image import --update 2025-12-17 12:30:43 -07:00
Timothy Middelkoop
e55098cb5b Skip wwinit module if not root=wwinit*
Signed-off-by: Timothy Middelkoop <tmiddelkoop@internet2.edu>
2025-12-17 11:35:04 -07:00
kosmolito
1c11eaff09 Fix sfdisk overlay for fresh disks by forcing GPT label
Fixes #2025
2025-12-17 10:53:47 -07:00
Tim Weiers
2b8d1be6b6 Allow setting mtu and mac addr on bonds in NetworkManager
Signed-off-by: Tim Weiers <56134890+tweiers@users.noreply.github.com>
Co-authored-by: Jonathon Anderson <janderson@ciq.com>
2025-12-16 22:23:24 -07:00
Christian Goll
983a359c00 refactor to overlay info 2025-12-09 22:52:44 -07:00
Christian Goll
5d284b1c61 show used Tags for overlays 2025-12-09 22:52:44 -07:00
Timothy Middelkoop
4c82de92c7 Systemd-networkd overlay with IPV6 support
Signed-off-by: Timothy Middelkoop <tmiddelkoop@internet2.edu>
2025-11-28 04:46:47 +00:00
Timothy Middelkoop
3aded908ce Add overlay variable NetworkCIDR6
Signed-off-by: Timothy Middelkoop <tmiddelkoop@internet2.edu>
2025-11-27 19:34:28 +00:00
Timothy Middelkoop
c99cfec1b0 IPv6: wwclient support
Signed-off-by: Timothy Middelkoop <tmiddelkoop@internet2.edu>
2025-11-27 02:55:34 +00:00
Timothy Middelkoop
f5b4333781 IPv6: /etc/hosts support
Signed-off-by: Timothy Middelkoop <tmiddelkoop@internet2.edu>
2025-11-27 02:48:28 +00:00
Timothy Middelkoop
4f58845a9e Add IPv6 support for Dnsmasq and NetworkManager
Signed-off-by: Timothy Middelkoop <tmiddelkoop@internet2.edu>
2025-11-27 01:56:18 +00:00
Timothy Middelkoop
07eee48a6a Add IPv6 support for dnsmasq
Signed-off-by: Timothy Middelkoop <tmiddelkoop@internet2.edu>
2025-11-17 18:03:05 +00:00
Timothy Middelkoop
463994976e Add IpCIDR6 and IPv6 DHCP range
Signed-off-by: Timothy Middelkoop <tmiddelkoop@internet2.edu>
2025-11-17 17:53:09 +00:00
Jonathon Anderson
685fd0338e Use a native library for SELinux in wwclient
This removes the dependency on shelling out to commands in the image.

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-11-05 12:33:18 +01:00
Christian Goll
81a970bbd5 Merge pull request #2051 from cclerget/delete-image-errors
Fix ImageDelete API not returning error when checking if image is used by nodes/profiles
2025-11-05 12:30:57 +01:00
Jonathon Anderson
e07efeee4c New architecture-specific wwclient overlays
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-10-31 11:56:53 -06:00
Jonathon Anderson
40f0cebe64 Configure destination of grub.cfg at overlay render time
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-10-29 21:27:47 -06:00
Jonathon Anderson
be97ef15a0 Manage selinux context of tftp directory
- Fixes: #1997

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-10-29 20:11:41 -06:00
Cédric Clerget
718c79c7ca Fix ImageDelete API not returning error when checking if image is used by nodes/profiles
Signed-off-by: Cédric Clerget <cedric.clerget@gmail.com>
2025-10-27 16:41:15 -05:00
Christian Goll
8360a6ffff Fix CVE-2025-58058 2025-10-20 14:09:59 -06:00
Stephen Simpson
b5552aee07 Add IPMI bit-rate configuration and update documentation
Signed-off-by: Stephen Simpson <ssimpson89@users.noreply.github.com>
2025-10-17 11:04:43 -05:00
Christian Goll
05cf57a506 Merge pull request #2030 from middelkoopt/tm-openeuler
Add OpenEuler support
2025-10-15 09:24:28 +02:00
Jonathon Anderson
c600a3e455 Updated CHANGELOG and tests for netplan bonding
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-10-14 13:53:44 -06:00
Jonathon Anderson
a4bde3b279 Fix "address already in use" after wwclient --once
- Closes: #2009

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-10-14 13:01:04 -06:00
Timothy Middelkoop
44057766e7 Add OpenEuler support
Signed-off-by: Timothy Middelkoop <tmiddelkoop@internet2.edu>
2025-10-01 13:50:31 -05:00
Jonathon Anderson
91a69e8756 Rename debian.interfaces to ifupdown
When I first split the debian interfaces support from wwinit, I was unable to
figure out what it was called. I used the inelegant name "debian.interfaces" to
identify it; but I have since learned that it is called "ifupdown." I have
since learned that there is even a variant implementation, ifupdown-ng, that is
used by Alpine Linux.

This PR renames the overlay to ifupdown, but retains a copy of it at
debian.interfaces for backwards compatibility.

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-09-15 09:50:59 -06:00
Jonathon Anderson
489c8662d3 v4.6.4 release updates
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-09-05 16:45:23 -06:00
Christian Goll
28b040326e Merge pull request #1995 from anderbubble/update-nm-connections
Omnibus network management overlay fixes
2025-09-05 14:18:49 +02:00
Jonathon Anderson
59f187bf5e Convert disk booleans from wwbool to *bool
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-09-05 14:16:03 +02:00
Christian Goll
d5b94afcb9 replace bools in disk structures with wwBool 2025-09-05 14:16:03 +02:00
Jonathon Anderson
458e23d0ae Set SLAVE=yes in ifcfg files when MASTER is set
- Fixes: #1980

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-09-04 17:44:25 -06:00
Jonathon Anderson
7a6a1ad441 Disable ipv4 in NetworkManager if no address or route is specified
- Closes: #1986

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-09-04 17:44:25 -06:00
Stephen Simpson
0ef2faf3f7 Update NetworkManager Overlay
Signed-off-by: Stephen Simpson <ssimpson89@users.noreply.github.com>
2025-09-04 17:44:25 -06:00
Jonathon Anderson
79d058f202 Prevent brp-mangle-shebangs from updating overlays
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-09-04 15:38:22 -06:00
Jonathon Anderson
0379cebb71 Merge pull request #2000 from anderbubble/golang-version-spec
Update golang BuildRequires in warewulf.spec.in
2025-09-04 15:21:14 -06:00
Jonathon Anderson
34bf90dbe9 Merge pull request #1993 from middelkoopt/tm-systemd-warewulfd
Add default for systemd name for warewulf in warewulf.conf
2025-09-04 15:14:38 -06:00
Adrian Reber
e86981fd59 fix(wwctl): Create overlay edit tempfile in tmpdir
When editing an overlay, the temporary file was created within the
overlay directory structure. This could lead to the temporary file
being included in the overlay if not cleaned up properly.

This change modifies the behavior to create the temporary file in the
system's default temporary directory, avoiding any potential issues
with the overlay itself.

Not using this change the temporary file can be seen in the overlay:

 DEBUG  : Using temporary file /usr/share/warewulf/overlays/host/ww-overlay-edit-2879742493
 DEBUG  : Checking if path exists as a file: /usr/share/warewulf/overlays/host/rootfs/etc/hosts.ww
 DEBUG  : ExecInteractive(tee, [/usr/share/warewulf/overlays/host/ww-overlay-edit-2879742493])

 # find /srv | grep ww-overlay
 /srv/warewulf/overlays/host/ww-overlay-edit-2879742493

With this patch applied:

 DEBUG  : Using temporary file /tmp/ww-overlay-edit-266752840
 DEBUG  : Checking if path exists as a file: /usr/share/warewulf/overlays/host/rootfs/etc/hosts.ww
 DEBUG  : ExecInteractive(tee, [/tmp/ww-overlay-edit-266752840])

 # find /srv | grep ww-overlay

Assisted-by: Gemini 2.5 Pro
Signed-off-by: Adrian Reber <areber@redhat.com>
2025-09-04 14:10:13 -06:00
Jonathon Anderson
a979bb1bef Update golang BuildRequires in warewulf.spec.in
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-09-04 13:35:03 -06:00
Timothy Middelkoop
58f13721f0 Add default for systemd name for warewulf in warewulf.conf
Signed-off-by: Timothy Middelkoop <tmiddelkoop@internet2.edu>
2025-09-01 14:39:46 -05:00
Jonathon Anderson
32ca0a9170 Atomic overlay file application in wwclient
Update wwclient such that each file in the runtime overlay is applied
atomically, and only if modified.

- Closes: #1307
- Closes: #1975
- Closes: #1226

Also adds --once flag to allow wwclient to be run one time.

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-08-28 07:45:35 -06:00
Christian Goll
6f4fd60d8f refactored overlay class
overlay.GetOverlay(name) returns now an error if the overlay doesn't
exist. This is the most canonical way to act if there is no overlay.
2025-08-27 22:24:31 -06:00
Timothy Middelkoop
c1027053d0 Add support for EL10
* Upadate dev container to use EL10
* Update CI to use EL10
* Update spec file for EL10
* Add `make rpm` target for building RPMs
* Use `mktemp` for `make dist` to use devcontainer filesystem
* Set default dhcpd and tftpd to dnsmasq for EL10
* Fix dnsmasq template tftp paths to use basename

Signed-off-by: Timothy Middelkoop <tmiddelkoop@internet2.edu>
2025-08-24 21:43:14 +00:00
Christian Goll
1e54d02f70 Revert "Atomic overlay file application in wwclient"
This reverts commit 9f11b4a2b9.
2025-08-13 09:57:31 +02:00
Jonathon Anderson
9f11b4a2b9 Atomic overlay file application in wwclient
Update wwclient such that each file in the runtime overlay is applied
atomically.

- Closes: #1307
- Closes: #1975
- Closes: #1226

Also adds --once flag to allow wwclient to be run one time.

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-08-12 23:16:03 -06:00
Jonathon Anderson
70eb60bd2c v4.6.3 release
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-08-01 16:48:30 -06:00
Dacian Reece-Stremtan
efd63aecd4 IPv6 iPXE support
* Parse address and port with netip w/ tests
* Add Authority to provisioning templates based on remote IP family
  (name based on RFC 3986)
* Add IPv6 support to the default iPXE (tested)
* Update `grub.cfg.ww` to use Authority (untested)

Co-authored-by: Dacian Reece-Stremtan <dacianstremtan@gmail.com>
Co-authored-by: Timothy Middelkoop <tmiddelkoop@internet2.edu>
Signed-off-by: Timothy Middelkoop <tmiddelkoop@internet2.edu>
2025-08-01 14:46:36 -06:00
Jonathon Anderson
61fa859da5 Fix a syntax error in the RPM specfile
This error was apparently being ignored by rpmbuild; but it was called
out by Copilot during a recent review.

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-08-01 11:50:13 -06:00
Jonathon Anderson
b3a6f3d905 Fix a race condition in wwctl overlay edit
Switches to using sha256 rather than mtime to detect changes to an
overlay file.

- Fixes: #1947

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-08-01 01:57:02 -06:00