Jonathon Anderson
a8fab3e844
Enhancements for node.Field formatting
...
- Complex values are now marshalled as json
- Booleans are now represented as truth values
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2025-01-19 12:55:19 -07:00
Jonathon Anderson
d6d1e37c83
Merge pull request #1641 from anderbubble/rename-container-node-image
...
Rename "container" to "image"
2025-01-23 21:45:41 -07:00
Xu YANG
55c2f155b3
Merge pull request #1644 from anderbubble/vscode-recommendations
...
Linting fixes called-out by vscode
2025-01-24 08:55:47 +09: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
4be3e6db9f
Linting fixes called-out by vscode
...
A few linting issues that were called out by vscode.
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2025-01-19 05:26:43 -07:00
Jonathon Anderson
57d28c5bc9
Expand nodes when rendering overlay templates
...
Before #1628 , all default constructors for nodes and profiles attempted to
construct objects with pre-populated empty fields (e.g., for pointers to member
structs and for collections that default to nil). Changes to MergeNode in #1629
changed this behavior intentionally to simplify the generation of minimal json;
but this had the unintended side-effect of breaking existing templates that may
now encounter a nil pointer, particularly when accessing member structs.
Introduced here, the Expand() methods on Node and Profile are now responsible
for populating such fields, and Node.Expand() is now called during template
processing.
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2025-01-19 04:26:01 -07:00
Jonathon Anderson
c06f558cf4
fixup! Use Node literal in MergeNode, not EmptyNode()
...
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2025-01-18 10:12:08 -07:00
Jonathon Anderson
b50fb3f3ef
Fix handling of net.IP during node merge
...
Because net.IP is derived from []byte, it was being handled by mergo as a
slice. This adds an additional transformer that handles net.IP specifically,
and also watches for this type in field tracking.
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2025-01-18 10:07: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
f0e634183e
Consolidate MergeNode merge behavior to an inner merge function
...
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2025-01-18 09:47:45 -07:00
Jonathon Anderson
e478adc45d
Add InterfaceTransformer{} to a Merge call that omitted it
...
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2025-01-18 07:33:11 -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
455d9b65e4
Fix panic ObjectIsEmpty for bool
...
Signed-off-by: Christian Goll <cgoll@suse.com >
2025-01-15 13:34:45 +01:00
Jonathon Anderson
7e742b0d8a
Fix DelProfile to operate on profiles, not nodes.
...
- Fixes : #1622
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2024-12-27 05:58:46 -07:00
Jonathon Anderson
749f1eba1d
Fix a panic introduced by #1598
...
- Fixes : #1618
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2024-12-25 13:46:04 -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
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
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
Jonathon Anderson
981d11a012
Initial wwctl upgrade command
...
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2024-11-11 00:09:38 -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
a2c778b7ee
Remove ExportedYml
...
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2024-11-11 00:08:59 -07:00
Jonathon Anderson
8a602e8a76
Return OnBoot to wwtype.WWbool
...
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2024-11-11 00:08:55 -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
ab293d88ea
Fix extraneous whitespace in flag definition
...
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2024-11-11 00:08:52 -07:00
Jonathon Anderson
0665d5dc88
Refactor node
...
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2024-11-11 00:08:47 -07:00
Jonathon Anderson
9ddb491ba3
Rename BmcTemplate to Template
...
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2024-11-07 23:01:32 -07:00
Christian Goll
10ea0ac78d
use ipmi interface from node.NodeConf
...
Signed-off-by: Christian Goll <cgoll@suse.com >
2024-11-07 23:01:32 -07:00
Jonathon Anderson
a3ede90093
Use "default" netname during add, set
...
- Closes #1499
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2024-11-07 22:40:58 -07:00
Jonathon Anderson
093c74add4
Remove unused IsZero function
...
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2024-11-01 18:39:40 -06:00
Jonathon Anderson
fcc15eb8ef
Fix boolean pointer handling
...
- Refactor field reflection for clarity
- Update tests for clarity
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2024-10-31 15:52:01 -06:00
xu yang
82aaf9b9ec
tidy and update related dependencies
...
Signed-off-by: xu yang <xyang@ciq.com >
2024-10-31 10:34:59 -06:00
Jonathon Anderson
b331fd12af
Remove dead code
...
Verified with
```
deadcode -test ./...
```
Followed-up with a lint check.
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2024-10-18 15:09:01 -06:00
Jonathon Anderson
d3cd31fdc0
Restore a commented-out test
...
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2024-10-18 00:06:22 -04: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
bb5d1d17ed
Revert NetDevs.Manual back to NetDevs.OnBoot
...
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2024-10-17 23:00:57 -04:00
Jonathon Anderson
df37018f79
Fix wwctl node edit
...
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2024-10-17 23:00:52 -04:00
Jonathon Anderson
d91d273ac7
Use ProfileConf rather than NodeConf for profile commands
...
This removes node-only attributes, like a profile list, from profile commands.
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
c08cd82e68
don't use net.IPMask
...
net.IPMask doesn't have any advantages, as it would
marshalled to
mask:
- 1
- 2
- 3
- 4
Signed-off-by: Christian Goll <cgoll@suse.com >
2024-10-17 15:30:54 -04:00
Christian Goll
9fdb9ca792
updated overlays
...
Signed-off-by: Christian Goll <cgoll@suse.com >
2024-10-17 15:30:54 -04:00
Christian Goll
342236b9b9
updated test for yaml/v3
...
Signed-off-by: Christian Goll <cgoll@suse.com >
2024-10-17 15:30:54 -04:00
Christian Goll
5bd4fd4712
use yaml/v3 and don't export Nodes
...
introduced wwbool and don't export
Nodes and NodeConfs. This requires new
explict Yaml (un)marshaling as the standard
marshaller won't touch these fields
Signed-off-by: Christian Goll <cgoll@suse.com >
2024-10-17 15:30: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