Commit Graph

3361 Commits

Author SHA1 Message Date
Jonathon Anderson
77fbbeae86 Merge pull request #1946 from adrianreber/2025-07-14-system-tmpdir
fix(wwctl): Create overlay edit tempfile in tmpdir
2025-09-04 14:25:48 -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
1f88d93f7e Merge pull request #1984 from anderbubble/wwclient-atomic
Atomic overlay file application in wwclient
2025-08-28 08:55:36 -06: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
Jonathon Anderson
dd38e739e5 Merge pull request #1968 from mslacken/FixSiteOverlays
refactored overlay class
2025-08-27 22:42:39 -06:00
Jonathon Anderson
66450a7dcd Simpler names for overlay methods
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-08-27 22:33:18 -06:00
Jonathon Anderson
6fd858899d Fix warewulfd api behavior when deleting distribution overlay
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-08-27 22:25:21 -06:00
Jonathon Anderson
e609c599a1 Address feedback from Copilot
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-08-27 22:25:21 -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
Jonathon Anderson
c17fe8d512 Merge pull request #1974 from middelkoopt/tm-el10
Add support for EL10
2025-08-27 15:46:25 -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
177a396cb2 Merge pull request #1983 from mslacken/revertAtomic
Revert "Atomic overlay file application in wwclient"
2025-08-13 10:37:32 +02:00
Christian Goll
1e54d02f70 Revert "Atomic overlay file application in wwclient"
This reverts commit 9f11b4a2b9.
2025-08-13 09:57:31 +02:00
Xu YANG
ecced2399a Merge pull request #1982 from anderbubble/wwclient-atomic
Atomic overlay file application in wwclient
2025-08-13 16:40:01 +09: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
Jonathon Anderson
e63f313c6f Merge pull request #1958 from middelkoopt/tm-ipv6-pxe
Add IPv6 support for iPXE booting
2025-08-01 14:56:29 -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
Christian Goll
beb77278c6 Merge pull request #1967 from anderbubble/warewulf.spec-fix
Fix a syntax error in the RPM specfile
2025-08-01 20:05:18 +02: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
Xu YANG
b241ed7bf2 Merge pull request #1966 from anderbubble/fix-1947
Fix a race condition in wwctl overlay edit
2025-08-01 17:03:05 +09: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
Jonathon Anderson
69875c07c6 Merge pull request #1965 from anderbubble/fix-1950
Fixed handling of comma-separated mount options in fstab and ignition overlays
2025-08-01 01:43:53 -06:00
Jonathon Anderson
ae9d349e33 Fixed handling of comma-separated mount options in fstab and ignition overlays
- Fixed: #1950

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-08-01 01:43:25 -06:00
Xu YANG
3174b633c7 Merge pull request #1964 from anderbubble/reexec
Move reexec.Init() to beginning of wwctl
2025-08-01 16:37:24 +09:00
Jonathon Anderson
ebc101b2b1 Move reexec.Init() to beginning of wwctl
- Fixes: #1879

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-08-01 01:08:20 -06:00
Jonathon Anderson
073ecdf82c Merge pull request #1931 from ssimpson89/update-doc-numa
Add documentation for using tmpfs to distribute across numa nodes
2025-08-01 00:57:02 -06:00
Stephen Simpson
49db6fdb71 Add documentation for using tmpfs to distribute across numa nodes
Signed-off-by: Stephen Simpson <ssimpson89@users.noreply.github.com>
2025-08-01 00:49:35 -06:00
Jonathon Anderson
e5559747d3 Merge pull request #1957 from mslacken/warewuldConfigure
added warewuld configure option
2025-07-31 23:47:10 -06:00
Christian Goll
2c51ca7fff added warewuld configure option
Co-authored-by: Jonathon Anderson <janderson@ciq.com>
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-07-31 21:47:08 -06:00
Xu YANG
f2d06d5928 Merge pull request #1938 from anderbubble/wwctl-upgrade-kernel-args-already-list
Fix wwctl upgrade nodes to handle kernel argument lists
2025-08-01 10:07:22 +09:00
Jonathon Anderson
4b44de6688 Fix wwctl upgrade nodes to handle kernel argument lists
`wwctl upgrade nodes` could convert legacy kernel argument formats to
the new list format, but then wasn't properly parsing the new list
format for repeat runs.

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-07-31 19:01:47 -06:00
Jonathon Anderson
c7c6e78087 Merge pull request #1945 from anderbubble/wwapi-additions
additions to wwapi
2025-07-28 19:54:34 -06:00
Jonathon Anderson
7d0b73e452 Address copilot review from #1945
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-07-28 18:57:01 -06:00
Jonathon Anderson
5ceeb60c24 Refactor wwapi tests for proper isolation
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-07-28 18:18:48 -06:00
Jonathon Anderson
e149a332e6 Bugfix: cloning a site overlay when parent dir does not exist
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-07-28 18:18:48 -06:00
Jonathon Anderson
749e79b7ec Clone to a site overlay when adding files in wwapi
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-07-28 18:18:48 -06:00
Jonathon Anderson
9884aad504 Consolidated createOverlayFile and updateOverlayFile to addOverlayFile
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-07-28 18:18:48 -06:00
jason yang
62d1aa654d Support for creating and updating overlay file in wwapi
Signed-off-by: jason yang <jasonyangshadow@gmail.com>
2025-07-28 18:18:48 -06:00
Jonathon Anderson
7b2c0901ed Only return overlay files that refer to a path within the overlay
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-07-28 18:18:48 -06:00
jason yang
e089fe0101 add overlay file deletion support
Signed-off-by: jason yang <jasonyangshadow@gmail.com>
2025-07-28 18:18:48 -06:00
Jonathon Anderson
6b5115934b DELETE /api/overlays/{id}?force=true can delete overlays in use
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-07-28 18:18:48 -06:00
Jonathon Anderson
949dc9d46b Restore idempotency of PUT /api/nodes/{id}
HTTP PUT is supposed to be idempotent, so PUT for an existing node or
profile should replace the node or profile, not throw an error.

Generating an error on duplicate can now be requested using the
If-None-Match header with a `*` value.

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-07-28 18:18:41 -06:00
Jonathon Anderson
a0752a5bd0 Simplify overlay mtime api and add tests
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-07-28 18:18:22 -06:00
jason yang
a3dbf6aeee add node overlay buildtime
Signed-off-by: jason yang <jasonyangshadow@gmail.com>
2025-07-28 18:18:13 -06:00
Christian Goll
6de1b8f843 Merge pull request #1941 from anderbubble/netplan
Improved netplan support
2025-07-21 09:38:25 +02:00
Jonathon Anderson
cd14ee146f Improved netplan support
Amother other things, implements support for bonds.

- Fixes: #1873

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-07-21 09:38:00 +02:00
Jonathon Anderson
947bd1625e Merge pull request #1940 from anderbubble/fix-discoverable-autobuild
Rebuild overlays for discovered nodes
2025-07-14 15:04:23 -06:00
Jonathon Anderson
a2c7caa4ba Rebuild overlays for discovered nodes
- Fixes: #1468

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-07-09 14:29:38 -06:00
Jonathon Anderson
4f63790896 Restrict userdocs from building during pr when not modified
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-07-09 11:38:33 -06:00