Commit Graph

792 Commits

Author SHA1 Message Date
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
984c056b03 Add missing hostlist support for wwctl nodes
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-02-09 16:14:10 -07:00
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