Commit Graph

596 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
jason yang
a3dbf6aeee add node overlay buildtime
Signed-off-by: jason yang <jasonyangshadow@gmail.com>
2025-07-28 18:18:13 -06: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
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
f22ab9e7b1 v4.6.2
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-07-09 09:36:58 -06:00
Tobias Ribizel
c2a51c2a7e format and changelog
Signed-off-by: Tobias Ribizel <mail@ribizel.de>
2025-07-07 15:44:11 +02:00
Jonathon Anderson
2ba6e28215 Remove wwctl node import --csv
- Closes #1862

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-07-02 21:25:54 -06:00
Jonathon Anderson
dda51d2426 Additional nettag documentation in userdocs
- Fixes #1856

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-07-02 15:45:19 -06:00
Jonathon Anderson
48bace55f6 Preserve file permissions during wwctl overlay edit
- Fixes: #1886

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-07-02 08:06:13 -06:00
Jonathon Anderson
3db131eadf Fix width of wwctl image shell --help
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-07-02 13:54:56 +02:00
Jonathon Anderson
987eeb019b Fixed IPMI VLAN configuration
- Closed: #1892

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-07-02 13:53:11 +02:00
Jonathon Anderson
f2b091d4cb Fixed sleep/reboot on error during GRUB boot
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-06-30 23:26:42 -06:00
Jonathon Anderson
db3a3fee05 Additional overlays to support provision-to-disk without ignition
- sfdisk - partitions the disk
- mkfs - formats partitions
- mkswap - formats partitions for swap
- systemd.mount - explicit creation of systemd mount units
- systemd.swap - explicit creation of systemd swap units

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-06-30 23:24:20 -06:00
Jonathon Anderson
b98eae4b01 Refactor ignition support during dracut
- Control root device using the node/profile root field
- Add support for `/warewulf/wwinit.d` to run scripts during first stage
- Move first-stage ignition support to `/warewulf/wwinit.d/`
- Add `wwctl <node|profile> set --parttype`
- Add overlay template functions `SystemdEscape` and `SystemdEscapePath`
- Support configuring ignition with resources

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-06-30 23:19:31 -06:00
Christian Goll
608ef89d40 documented diskfull installation
Signed-off-by: Christian Goll <cgoll@suse.com>
2025-06-17 01:34:23 -06:00
Jonathon Anderson
7d437e9e58 Merge pull request #1925 from MatthewHink/mhink-ovl
Add uid, gid, and permissions to OverlayFile struct
2025-06-16 17:13:20 -06:00
MatthewHink
b6c33d9567 Add uid, gid, and permissions to OverlayFile struct
There is an existing test for this. uid, gid, and permissions seem
consistent across test boxes.
2025-06-16 17:09:24 -06:00
Jonathon Anderson
680ecfb3fd Minor updates to wwclient log messages
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-06-16 11:02:40 +02:00
Christian Goll
aebf58971a Merge pull request #1922 from anderbubble/move-wwclient-to-overlay
Move the wwclient binary to wwclient overlay
2025-06-16 10:53:06 +02:00
MatthewHink
0a1d12e6d4 Fail API add node if node exists 2025-06-13 12:22:03 -07:00
Jonathon Anderson
4b23d11c54 Move the wwclient binary to wwclient overlay
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-06-11 21:07:21 -06:00
Stephen Simpson
f1d16990b5 Add documentation for wwctl import
Signed-off-by: Stephen Simpson <ssimpson89@users.noreply.github.com>
2025-05-27 14:03:22 -06:00
Christian Goll
e72368cd26 fix wwctl profile set for disk/fs/part
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-05-27 13:56:04 -06:00
Stephen Simpson
a880de2626 Updated Warewulf SOS Plugin
Modify the `wwctl container list` command to use -l to gather more information.

Signed-off-by: Stephen Simpson <ssimpson89@users.noreply.github.com>
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-05-27 13:41:32 -06:00
Jonathon Anderson
8c2723f16c Fixed a regression in SELinux support by restoring the /run mount during wwinit. #1910
https://systemd.io/INITRD_INTERFACE/

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-05-12 21:26:59 -06:00
Matt Hink
be73ac056a Initial cut for removing the old API.
Remove API reverse proxy server and google dependencies.
Remove API config.
Remove API client.
Remove API GRPC server.
Remove unused ImageCopy function. image.Duplicate is used.
Update Makefile to avoid protobuf builds.

Signed-off-by: Matt Hink <mhink@ciq.com>
2025-05-10 10:58:03 -06:00
Stephen Simpson
9b94c6c8c3 Updated udev overlay for case-insensitive
Co-authored-by: acabrera86 <acabrera86@users.noreply.github.com>
Signed-off-by: Stephen Simpson <ssimpson89@users.noreply.github.com>
2025-05-02 16:50:13 -05:00
Shane Nehring
d9db96a453 adding override for nm-wait-online-initrd.service to wait for interface config
Signed-off-by: Shane Nehring <snehring@iastate.edu>
2025-04-21 13:59:41 -05:00
Timothy Middelkoop
9f1a5279ce Merge branch 'main' into dracut-curl-retry-connrefused 2025-04-10 10:07:14 -05:00
Jonathon Anderson
5971d8d908 Fix changelog entry for sos plugin
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-04-04 23:10:14 -06:00
Jonathon Anderson
4a246e1b72 Release v4.6.1
- Back-port previous GitHub release notes to `.github/releases/`
- Fix SUSE and Rocky Linux 8 builds

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-04-04 05:12:57 -06:00
Jonathon Anderson
4005afac4c Add a new OpenAPI v3 REST API to warewulfd at /api
Co-authored-by: jason yang <jasonyangshadow@gmail.com>

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-04-03 07:12:03 -06:00
Christian Goll
eb9a20fa01 fix SUSE specific udev regression
Signed-off-by: Christian Goll <cgoll@suse.com>
2025-04-02 20:39:41 -06:00
Jonathon Anderson
51786b5e4a Fix a panic during wwctl node list --ipmi for nodes with no ipmi configuration. #1847
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-04-01 16:48:43 -06:00
Jonathon Anderson
dd2d256179 wwctl upgrade nodes --replace-overlays avoids applying overlays multiple times
- Closes: #1823

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-03-28 03:49:22 -06:00