Commit Graph

2973 Commits

Author SHA1 Message Date
Jonathon Anderson
875106a79b Include man pages and command reference in userdocs
- Closes: #1488

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-01-21 09:42:27 -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
284a87f27c Merge pull request #1653 from MiddelkoopT/tm-devcontainer
Add Dev Container support
2025-01-24 13:34:37 -07:00
Timothy Middelkoop
64084a471b Add Devcontainer support
Signed-off-by: Timothy Middelkoop <tmiddelkoop@internet2.edu>
2025-01-24 20:25:00 +00:00
Christian Goll
bdaaf903be Merge pull request #1630 from ResearchIT/ipxe-dracut-iface-config
have dracut explicitly configure defined interfaces
2025-01-24 17:05:52 +01:00
Shane Nehring
6bad4ed8d1 have dracut explicitly configure defined interfaces
Signed-off-by: Shane Nehring <snehring@iastate.edu>
2025-01-24 10:04:37 -06:00
Xu YANG
93157d5813 Merge pull request #1633 from anderbubble/fix-node-edit
Refactor and fix wwctl <node|profile> edit
2025-01-24 15:06:58 +09:00
Xu YANG
86d09902d3 Merge pull request #1648 from anderbubble/issue-newline
Fix newline handling in /etc/issue
2025-01-24 14:50:57 +09:00
Jonathon Anderson
adf5c500f0 Merge pull request #1647 from anderbubble/enhanced-field-formatting
Enhancements for node.Field formatting
2025-01-23 21:51:54 -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
Xu YANG
0400a21e85 Merge pull request #1645 from anderbubble/remove-upgrade-printf
Remove a vestigial printf from wwctl upgrade
2025-01-24 08:53:28 +09:00
Christian Goll
102deb3e43 Merge pull request #1643 from anderbubble/node-profile-expand
Expand nodes when rendering overlay templates
2025-01-23 21:02:16 +01: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
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
8e8349ccd0 Fix newline handling in /etc/issue
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-01-19 13:58:19 -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
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
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
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
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