Commit Graph

2953 Commits

Author SHA1 Message Date
Jonathon Anderson
2e057d3a81 Remove a vestigial printf from wwctl upgrade
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-01-19 07:24:45 -07:00
Jonathon Anderson
96396ed47e Merge pull request #1642 from anderbubble/fix-upgrade-nfs-client
Fix a null-pointer bug in `wwctl upgrade config`
2025-01-22 20:07:47 -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
Christian Goll
ad90874797 Merge pull request #1632 from anderbubble/fix-1629
Adjust umask during overlay build
2025-01-21 08:47:42 +01:00
Christian Goll
abc2bd884b Merge pull request #1568 from mslacken/remoteRes
Introduce Resource concept
2025-01-20 11:46:43 +01:00
Jonathon Anderson
22657fed36 Fix a null-pointer bug in wwctl upgrade config
Also removing some vestigial development-debug output.

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-01-19 00:35:34 -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
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
Christian Goll
c3833b5ba0 Merge pull request #1631 from ResearchIT/dracut-curl-retry
adding retry to curl in wwinit dracut module
2025-01-17 14:32:30 +01: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
847d11611b creating exports from resource
Signed-off-by: Christian Goll <cgoll@suse.com>
2025-01-16 23:00:37 -07:00
Christian Goll
77bdfba816 create fstab from resource
Signed-off-by: Christian Goll <cgoll@suse.com>
2025-01-16 23:00:37 -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
Jonathon Anderson
a36b33dcf8 Merge pull request #1626 from mslacken/FailedSetOnBoot
added failing test for set --onboot
2025-01-15 15:14:54 -07:00
Shane Nehring
e1b3a65129 adding change to CHANGELOG.md
Signed-off-by: Shane Nehring <snehring@iastate.edu>
2025-01-15 14:56:09 -06:00
Shane Nehring
c31c226487 adding retry to curl in wwinit dracut module
Signed-off-by: Shane Nehring <snehring@iastate.edu>
2025-01-15 14:51:24 -06: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
Christian Goll
aec61328fc added failing test for set --onboot 2025-01-15 10:36:22 +01:00
Christian Goll
16269abf62 Merge pull request #1621 from ssimpson89/update-dnsmasq
Update dnsmasq Documentation
2025-01-13 08:49:08 +01:00
Christian Goll
2f1d74142b Merge pull request #1623 from anderbubble/DelProfile
Fix DelProfile to operate on profiles, not nodes.
2025-01-13 08:04:55 +01:00
Stephen Simpson
71d02f0f07 Update dnsmasq Documentation
Signed-off-by: Stephen Simpson <ssimpson89@users.noreply.github.com>
2025-01-10 17:06:10 -06:00
griznog
5afd548832 Merge pull request #1619 from anderbubble/panic-node-list
Fix a panic introduced by #1598
2025-01-09 14:51:39 -06:00
Jonathon Anderson
ae47fdfcca Merge pull request #1612 from anderbubble/overlay-build-benchmark
Benchmark test for overlay build
2025-01-08 15:22:58 -07:00
Christian Goll
276e67fc54 Merge pull request #1603 from anderbubble/container-build-false
Add wwctl container <exec|shell> --build=false
2025-01-08 20:37:47 +01: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
ebf53bae22 Merge pull request #1598 from anderbubble/nested-profiles
Support nested profiles
2025-01-08 20:33:42 +01:00
Jonathon Anderson
baf8124186 Merge pull request #1604 from anderbubble/parallel-overlay-build
Parallel and optimized overlay builds
2025-01-08 11:13:01 -07:00
Christian Goll
e64396cfab Merge pull request #1614 from anderbubble/syncuser-help-test
Improve syncuser conflict help text
2025-01-08 15:51:49 +01:00
Jonathon Anderson
74616f578d Improve syncuser conflict help text
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-01-08 15:50:45 +01:00
Christian Goll
f1e587eb23 Merge pull request #1613 from anderbubble/remove-setdefault
Remove `wwctl overlay <build|import> --setdefault`
2025-01-08 15:45:10 +01:00
Christian Goll
ac687a363f Merge pull request #1616 from anderbubble/cpio-error-verbosity
Log cpio errors more prominently
2025-01-08 09:27:50 +01:00
Jonathon Anderson
3bbe859e07 Merge pull request #1609 from ssimpson89/main
Add note in userdoc regarding dracut and machine-id
2025-01-06 15:04:43 -07:00
Stephen Simpson
8af74bdb69 Add machine-id note
This note informs that it may be necessary to remove /etc/machine-id for dracut to properly generate. The nodes will fail to boot otherwise
2025-01-03 16:03:55 -06:00
Jonathon Anderson
86d10a1a0a Update copyright dates
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2024-12-30 00:48:00 -07: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
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
53e5805fbe Remove os.Umask from overlay.BuildOverlayIndir
Adds tests to ensure that the overlay image contains the correct permissions.

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2024-12-25 08:48:14 -07:00