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
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
Christian Goll
28a7b9fe84
removed NodeInfo and using NodeConf instead
...
This is a significant change in the undelying data model!
nodeDb, err := node.New()
will result in a structure which contains the on disk
values. Only
nodeDb.FindAllNodes() or nodeDb.GetNode(id) will give
the nodes with its merged in profiles.
Signed-off-by: Christian Goll <cgoll@suse.com >
2024-10-17 13:35:42 -04:00
Jonathon Anderson
cdbabfc834
Update IgnitionJson to sort the list of file systems
...
- Closes #1433
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2024-09-27 18:15:15 -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
Jonathon Anderson
4a5c1cad12
Simplified slice ordering fix and extended for runtime overlay
...
- Extends #1357
- Fixes #1259
Signed-off-by: Jonathon Anderson <janderson@ciq.com >
2024-09-04 19:59:59 -06:00
xu yang
cc617007cd
prefer profile overlay value over node one
...
Signed-off-by: xu yang <xyang@ciq.com >
2024-09-04 17:10:49 -06:00