- 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>
- 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>
- 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>
- 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>
- Closes#1093
- Extends #822
Restores the acceptable use of the initramfs options to avoid deprecation in a
v4.5.x maintenance release.
Moves mounting of kernel file systems earlier in the script so that we
can use the same reboot pattern for all error conditions.
Flattens nested if/else logic.
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
- Closes#1093
- Show rootfs type on-screen during boot.
- Fix logic flow for deciding to pivot or not.
- Add Informational message about 'initramfs' option.
- Allow unset WWROOT to continue to wwinit.
Signed-off-by: Adam Michel <elfurbe@furbism.com>
initramfs uses tmpfs regardless of whether root=tmpfs in Warewulf. As
such, 90-selinux needs to be updated to detect the actual provenance of
/, rather than the configured setting.
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
dracut.ipxe boots an initramfs detected in the container image. This
required a few small changes to warewulfd and the wwinit overlay to
accommodate the dracut initramfs configuring the network interface
before wwinit:
- Include .NetDevs in the ipxe configuration template, so that dracut
can configure interfaces with the correct names.
- Configure NetworkManager to not keep the initramfs configuration, in
stead applying the configuration found by wwinit.
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
sprig replaces slice with a function that only operates on sprig lists.
substr is required for use with strings.
- Fixes: #1139
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
on unused/unmanaged network interfaces. Only act on interfaces.
configured via wwctl otherwise system NetworkManager-wait-online.service.
runs into a time out.
Move all overlay contents to a rootfs subdirectory, which was already
supported, and set ownership to root:root.
Closes#1078
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
80-wwclient was previously supplanted by 80-wwclient.ww, but the static
version was retained. Meanwhile, the static version can only detect
systemd when it is running, which it isn't during wwinit. This led to
wwclient starting during wwinit and then being killed by systemd.
Closes#1066
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
persistent-net should not use the warewulf interface name as a default device
name because the network configuration scripts don't.
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
ww4-disks.target.ww was committed with a trailing space in its filename
which is both incorrect and breaks rendering of the template.
Signed-off-by: Christian Goll <cgoll@suse.com>