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
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
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
Christian Goll
b8641b8569
more variables for the grub templates
...
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
Jonathon Anderson
f61dfdde87
Use jsonassert in test
...
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2025-06-16 17:09:34 -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
MatthewHink
0a1d12e6d4
Fail API add node if node exists
2025-06-13 12:22:03 -07: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
Jonathon Anderson
4367b56120
Restore some default behaviors
...
- If `init` is not specified, wwinit looks for /sbin/init, /etc/init,
and /bin/init, matching dracut behavior.
- assume ipxe template=default if not set
- Display a warning during overlay build if an overlay list is empty
Issues:
- Closes : #1808
- Closes : #1813
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2025-03-25 09:07:03 +01:00
Christian Goll
a4035faff9
Fix warewulfd panic when netdev is only in profile
...
Signed-off-by: Christian Goll <cgoll@suse.com >
2025-03-18 10:55:24 -06:00
Christian Goll
fafaaf9675
add failing test for #1817
...
Signed-off-by: Christian Goll <cgoll@suse.com >
2025-03-17 11:05:34 +01:00
Jonathon Anderson
fd49254ac5
Display auto-detected kernel version during iPXE and GRUB
...
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2025-02-18 17:00:21 -07:00
Xu YANG
470f8c65d5
Merge pull request #1707 from anderbubble/remove-syslog
...
Remove `warewulf.conf:syslog`
2025-02-07 12:08:48 +09:00
Jonathon Anderson
89721c6832
Remove warewulf.conf:syslog
...
- Fixes : #1606
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2025-02-05 21:58:39 -07:00
Jonathon Anderson
5bc82f97cc
Urlencode asset keys during dracut boot
...
- Fixes : #1610
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2025-02-03 13:49:29 -07:00
Jonathon Anderson
6ad7178ad8
Fix a panic in warewulfd when no kernel fields are specified
...
- Fixes : #1689
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2025-02-03 03:48:10 -07:00
Christian Goll
755411d3cb
Added warewulfd:/overlay-file/{overlay}/{path...}?render={nodeID}
...
Co-authored-by: Jonathon Anderson <janderson@ciq.com >
Signed-off-by: Christian Goll <cgoll@suse.com >
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2025-01-29 00:08:30 -07:00
Jonathon Anderson
51f61f93c4
Refactor kernel args as a slice
...
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2025-01-21 09:52:58 -07:00
Jonathon Anderson
45a690ca4e
Rename "container" to "image"
...
- Updated `wwctl upgrade` to handle updates
- Maintained `.Container` and `.ContainerName` in tstruct
- Added `ContainerName()` methods to node and profile objects
- Added `--container`, `-C` aliases to wwctl commands (`<node|profile> <add|set>`)
- Added `wwctl container` alias
- Added support for `container_exit.sh` if `image_exit.sh` is not found
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2025-01-19 05:54:19 -07:00
Jonathon Anderson
dae8d004b3
Use Node literal in MergeNode, not EmptyNode()
...
EmptyNode populates empty sub-structs, which interferes with omitempty during
serialization.
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2025-01-18 09:48:26 -07:00
Jonathon Anderson
a18913924d
Benchmarking for wwctl overlay build
...
- Benchmarks overlay build in an environment with 1000 nodes
- Updates testenv to support both benchmarks and tests
To execute:
```
go test github.com/warewulf/warewulf/internal/app/wwctl/overlay/build -bench Benchmark_Overlay_Build
```
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2024-12-25 12:34:23 -07:00
Jonathon Anderson
deaf9c99d7
Remove DEBUG logging in test suite
...
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2024-12-25 09:10:02 -07:00
Jonathon Anderson
c244adc7f6
Performance improvements for overlay build
...
Rendering overlay templates requires fetching and populating / merging all
other nodes, because overlay templates have access to all cluster node info.
This was previously being done for each template render, but is not being done
once for each render operation and re-used for each template render.
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2024-12-25 08:48:14 -07:00
Jonathon Anderson
a59403ab3b
Parallel overlay builds
...
- Closes #1018
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2024-12-25 08:48:14 -07:00
Jonathon Anderson
e3680438a6
Remove Chdir from overlay.BuildOverlayIndir
...
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2024-12-25 08:48:14 -07:00
Jonathon Anderson
c03dc9436b
Add an Overlay type with helper methods
...
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2024-12-20 11:12:47 +01:00
Jonathon Anderson
ac49ecef70
Rename and refactor overlay constructor functions
...
- Reduces redundancy
- Adds clarity
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2024-12-20 11:12:47 +01:00
Christian Goll
d5fc7e9320
introduce site overlays
...
site overlays are place in sysconfdir/overlays and take
precedence over distribution overlays with the same name.
Every `wwctl overlay` command changing overlays will create
an site overlay. distribution overlays can't be deleted or
modified with wwctl.
Signed-off-by: Christian Goll <cgoll@suse.com >
2024-12-20 11:12:41 +01:00
Jonathon Anderson
a80ba8ee01
Configure nodes.conf path dynamically from config
...
Removes the use of init() to initialize the variable.
- Closes : #1596
- See also: #1569
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2024-12-17 11:04:43 -07:00
Jonathon Anderson
a844379bc5
Merge --kerneloverride into --kernelversion
...
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2024-12-09 10:02:28 +01:00
Jonathon Anderson
8f21d54243
Refactor kernel support
...
- Remove kernel imports and kmods images
- Repurpose KernelOverride as container path
- Support Kernel.Version as version prefix for kernel selection
- Compare initramfs by version
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2024-12-09 10:02:22 +01:00
Christian Goll
8f196a9dce
added test for sending grub.cfg.ww
...
Signed-off-by: Christian Goll <cgoll@suse.com >
2024-11-14 19:25:48 -07:00
Christian Goll
68f62ed0a1
fix problem that tags don't show up in overlay
...
Signed-off-by: Christian Goll <cgoll@suse.com >
2024-11-14 19:25:22 -07:00
Jonathon Anderson
e80c639b11
Convert config to *bool
...
Supports leaving booleans unspecified in YAML.
Boolean methods allow the templates to continue using previous names for
boolean values.
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2024-11-11 00:09:48 -07:00
Jonathon Anderson
fdbdf88df0
Rename NodeConf to NodesConf
...
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2024-11-11 00:09:02 -07:00
Jonathon Anderson
a7325b6ffa
Remove WW_INTERNAL
...
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2024-11-11 00:08:54 -07:00
Jonathon Anderson
0665d5dc88
Refactor node
...
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2024-11-11 00:08:47 -07:00
Christian Goll
0dd0317740
replaced errors.Wrap with fmt.Errorf
...
Signed-off-by: Christian Goll <cgoll@suse.com >
2024-11-07 22:57:29 -07:00
Jonathon Anderson
82bf0ee6d4
Remove deadcode from warewulfd
...
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2024-10-31 14:58:24 -06:00
Jonathon Anderson
d33ca6ff53
Simplify warewulfd logging
...
- Collapse SEND and RECV logs into INFO.
- Add /etc/default/warewulfd
Closes #725
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2024-10-31 14:52:48 -06:00