Commit Graph

827 Commits

Author SHA1 Message Date
Jonathon Anderson
862cc8163f wwctl upgrade args and completions
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-02-09 16:14:10 -07:00
Jonathon Anderson
ee3ac172a0 wwctl ssh args and completions
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-02-09 16:14:10 -07:00
Jonathon Anderson
65f85a00a3 wwctl completions for no args
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-02-09 16:13:57 -07:00
Jonathon Anderson
760b6e5217 wwctl <node|profile> overlay list completions
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-02-09 16:13:53 -07:00
Jonathon Anderson
3fbc2fc75c wwctl profile args and completions
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-02-09 16:13:53 -07:00
Jonathon Anderson
32b9696b71 wwctl power args and completions
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-02-09 16:13:53 -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
08a8eb430c wwctl node args and completions
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-02-09 16:13:40 -07:00
Jonathon Anderson
5494424c09 wwctl image completions and arguments
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-02-09 16:13:21 -07:00
Jonathon Anderson
1d34477425 wwctl configure subcommands accept no positional arguments
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-02-07 22:38:32 -07:00
Jonathon Anderson
5e8e9cea14 wwctl clean accepts no positional arguments
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-02-07 22:22:05 -07:00
Jonathon Anderson
a0179f1432 Resolve issues identifies by staticcheck
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-02-06 22:11:17 -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
Jonathon Anderson
2e1466fc7e Fix handling of CIDR values in warewulf.conf
- Fixes: #1541
- Fixes: #1594

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
Xu YANG
5f7713cd4c Merge branch 'main' into image-size 2025-02-07 12:00:50 +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
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
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
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