Jonathon Anderson
8bf35c7657
Only calculate image chroot size when requested
...
- Fixes : #1504
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2025-02-05 20:51:41 -07:00
Jonathon Anderson
b05e384560
Refactor to completions.Profiles
...
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2025-02-05 19:09:04 -07:00
Christian Goll
60872bd42e
Add completion for profile list
...
- Closes : #1696
Signed-off-by: Christian Goll <cgoll@suse.com >
2025-02-05 19:08:58 -07:00
Jonathon Anderson
1f607b679b
wwctl node list <--yaml|--json> outputs a map keyed by node name
...
- Fixes : #1667
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2025-02-03 12:32:50 +01:00
Jonathon Anderson
8b26088083
Don't attempt to back-up an output file that doesn't exist during upgrade
...
- Fixes : #1671
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2025-02-03 12:17:41 +01:00
Jonathon Anderson
d56e83ab81
Remove a redundant "Building image" log message after image exec
...
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2025-01-30 16:58:55 -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
f931eb6a0a
Fixed negation for slice field elements during profile/node merge
...
- Fixes : #1677
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2025-02-01 13:32:10 +01:00
Jonathon Anderson
736f9dae48
Use configured warewulf.conf path in wwctl upgrade
...
- Fixes : #1658
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2025-01-30 10:55:22 -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
Xu YANG
ba9fb3c273
Merge pull request #1649 from anderbubble/images-directory
...
Change image provision directory to "images"
2025-01-28 09:27:29 +09:00
Jonathon Anderson
ca61494297
Change image provision directory to "images"
...
Previous name (before #1641 ) was "container." New name (from #1641 ) was "image"
but a plural name seems better.
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2025-01-19 14:42:45 -07:00
Jonathon Anderson
73a8ef8e0e
Refactor wwctl <node|profile> edit and fix bugs
...
`wwctl node edit` appears to not be working properly since MergeNode. This
refactor, partly towards #918 , resolves the issues with `node edit` and updates
`profile edit` to match.
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2025-01-19 13:02:18 -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
2408555748
Merge pull request #1628 from anderbubble/ciq-merge-fixes
...
Fixes for MergeNode handling of NetDevs, Tags, IpmiConf, KernelConf, and net.IP
2025-01-21 22:00:06 -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
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
Christian Goll
07c77a63d5
use list of resources in profiles/nodes
...
access the resource not at node or profile level but
in the templates as global variable
Signed-off-by: Christian Goll <cgoll@suse.com >
2025-01-16 23:00:37 -07:00
Christian Goll
5ff27061a3
added remote resources
...
Signed-off-by: Christian Goll <cgoll@suse.com >
2025-01-16 23:00:37 -07:00
Christian Goll
aec61328fc
added failing test for set --onboot
2025-01-15 10:36:22 +01: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
1a3b9a16ed
Add wwctl container <exec|shell> --build=false
...
- Closes #1490
- Closes #1489
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2025-01-08 20:37:29 +01:00
Christian Goll
8ef063a093
Check ip addresses formatting
...
Signed-off-by: Christian Goll <cgoll@suse.com >
2024-12-25 09:10:05 -07:00
Jonathon Anderson
83af6021c0
Recast Profiles as a Profile field and support recursion
...
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2024-12-25 09:10:05 -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
1a3d037703
Refactor GetNode merging with new MergeNode method
...
- Adds many tests for node+profile merging
- Ensures that tracked fields match mergo results
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2024-12-25 09:07:28 -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
d0f4eaa9bb
Remove wwctl overlay <build|import> --setdefault
...
- Closes : #1335
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2024-12-24 23:14:12 -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
facba28e0f
Rename "preferred" kernel to "default" kernel
...
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2024-12-09 10:02:29 +01:00
Jonathon Anderson
6f4d33b19e
Move wwctl kernel list to wwctl container kernels
...
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2024-12-09 10:02:28 +01: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
d584c14403
Merge pull request #1564 from anderbubble/issues/1447
...
Use a sentinel file to determine container readonly state
2024-12-02 09:03:02 +01:00
Jonathon Anderson
07f6402520
Use a sentinel file to determine container readonly state. #1447
...
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2024-11-29 10:37:52 -07:00
Christian Goll
ab0eddea53
Merge pull request #1565 from anderbubble/issues/1419
...
Remove wwctl overlay build --host
2024-11-28 08:43:05 +01:00
Jonathon Anderson
e098455f7c
Fix display of profiles in node list
...
- Closes #1496
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2024-11-25 11:32:03 +01: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
5834b82f93
Format errors in logs as strings
...
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2024-11-23 22:47:48 -07:00