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
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
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
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
9a3e48fa37
Explicitly enforce the number or arguments accepted by some wwctl subcommands. #1717
...
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2025-03-24 21:06:07 -06:00
Jonathon Anderson
c7bda5e655
Add tests for overlay import --overwrite
...
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2025-03-21 23:42:30 -06:00
Timothy Middelkoop
ae54fd207b
Add --overwrite to wwctl overlay import
...
- Closes : #386
Signed-off-by: Timothy Middelkoop <tmiddelkoop@internet2.edu >
2025-03-21 23:42:27 -06:00
Christian Goll
a97c204f53
Use wwctl overlay <import|build> --workers=0 to indicate default value
...
By default, uses `runtime.NumCPU()`
The default value is rendered in the generated man pages, which made
their content dependent on build system characteristics.
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2025-03-01 11:46:15 +01:00
Jonathon Anderson
4862d44aad
Make .ww suffix optional during wwctl overlay show --render
...
- Closes : #649
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2025-02-11 10:14:18 -07:00
Jonathon Anderson
3b963ee5a6
Simplify node, profile, and image completions
...
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2025-02-09 16:38:27 -07:00
Jonathon Anderson
eff5565886
wwctl overlay args and completions
...
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2025-02-09 16:13:53 -07:00
Jonathon Anderson
73f34d0099
Restore server network auto-detection
...
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2025-02-06 20:46:20 -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
Xu YANG
77bf4c7f98
Merge pull request #1704 from anderbubble/overlay-edit-file-path
...
Create temporary files in overlay directory during `wwctl overlay edit`
2025-02-06 13:11:39 +09:00
Jonathon Anderson
05923d4044
Create temporary files in overlay directory during wwctl overlay edit
...
- Fixes : #1473
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2025-02-05 20:27:55 -07:00
Jonathon Anderson
6a250f3f96
Set execute permissions for intermediate directories
...
- Fixes : #1655
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2025-02-05 20:04:22 -07:00
Jonathon Anderson
4f83885c5b
Show each overlay only once #1675
...
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2025-02-01 13:40:12 +01: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
c33b4dd4c2
Adjust umask during overlay build
...
- Fixes : #1629
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2025-01-17 23:05:13 -07:00
Jonathon Anderson
bc52f3b7d7
Recommended changes from review of #1568
...
- Make Resources an `interface{}` to support arbitrary yaml
- Remove `wwctl resource` as incompatible with arbitrary yaml
- Revert changes to host overlay templates
- Remove NFS mount options from warewulf.conf
- Replace NFS support / resource prefix with "fstab" resource
- Move resources to profiles
- Migrate warewulf.conf mounts to nodes.conf with `wwctl upgrade`
- Add documentation
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2025-01-17 10:33:37 -07:00
Jonathon Anderson
eff1edd038
Fixing tests in review of #1568
...
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2025-01-17 01:27:15 -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
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
9c42f3c475
Only import files into site overlays
...
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2024-12-20 11:12:47 +01:00
Jonathon Anderson
1fb67d666f
Avoid creating directories or cloning a site overlay until edit is ready to write
...
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2024-12-20 11:12:47 +01:00
Jonathon Anderson
0b00233ab7
Move tstruct.Overlay from wwctl to overlay.InitStruct
...
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2024-12-20 11:12:47 +01: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
Jonathon Anderson
717241aa18
Add methods to config.New().Paths for site and distribution overlays
...
- SiteOverlaySourcedir() uses WWOverlaydir (/var/lib/warewulf/overlays)
- DistributionOverlaySourcedir() uses Datadir (/usr/share/warewulf/overlays)
- config.New().Warewulf.DataStore moved to config.New().Paths.Datadir
- FindOverlays() ignores missing distribution overlay directory
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2024-12-20 11:12:47 +01:00
Christian Goll
e2c03ce863
added test for precedence
...
Signed-off-by: Christian Goll <cgoll@suse.com >
2024-12-20 11:12:46 +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
eace23802f
Remove wwctl overlay build --host #1419
...
Remove the ability to "build" the host overlay with `wwctl overlay
build`. This also obsoletes the `--nodes` flag, which is also removed.
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2024-11-24 22:48:19 -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
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
xu yang
97c6772e51
Return non-zero exit code on overlay sub-commands
...
Signed-off-by: xu yang <xyang@ciq.com >
2024-10-30 20:51:44 -06:00
Jonathon Anderson
30ac144044
Restored profile list tests and resolved exposed bugs
...
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2024-10-17 23:58:37 -04:00
Jonathon Anderson
6460ca827a
Remove debug output from a test
...
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2024-10-17 15:39:59 -04:00
Christian Goll
0c6e7cc58a
fixes for split overlays
...
Signed-off-by: Christian Goll <cgoll@suse.com >
2024-10-17 15:39:54 -04:00
Christian Goll
ac6cd69ca6
fix test to run without NodeInfo
...
Also removed --fullall from node list and profile list
Signed-off-by: Christian Goll <cgoll@suse.com >
2024-10-17 15:30:47 -04:00
Christian Goll
457c7c16b1
wwctl commands without NodeInfo
...
mostly remove Get and calls for the id
Signed-off-by: Christian Goll <cgoll@suse.com >
2024-10-17 13:35:42 -04:00
Jonathon Anderson
e9d3ad717c
Move umasking for overlay images to wwctl
...
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2024-09-27 11:53:19 -06:00
Jonathon Anderson
cac6ae1cd0
Fix wwlog.Output format strings during overlay show
...
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2024-09-26 10:48:40 -06:00
Jonathon Anderson
053dd9953a
Split overlays into discrete functionality and test
...
- Closes #987
To make the overlays testable in isolation, and after discussion with
the TSC, removed host/time/source from overlay files.
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2024-09-26 10:48:38 -06:00
Tobias Ribizel
c6b6caeb0b
fix lint warnings
...
Signed-off-by: Tobias Ribizel <mail@ribizel.de >
2024-09-16 12:55:27 +02:00
Tobias Ribizel
7692babd76
Return error code if overlay build fails
...
Signed-off-by: Tobias Ribizel <mail@ribizel.de >
2024-09-15 01:43:53 +02:00