Files
warewulf/.github/releases/v4.6.0rc1.md
Jonathon Anderson 4a246e1b72 Release v4.6.1
- Back-port previous GitHub release notes to `.github/releases/`
- Fix SUSE and Rocky Linux 8 builds

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-04-04 05:12:57 -06:00

195 lines
9.6 KiB
Markdown

Warewulf v4.6.0rc1 is the first release candidate for the upcoming v4.6.0. Warewulf v4.6.0 is a major release that includes many significant enhancements, fixes, and changes.
- rename "containers" to "images"
- "sprig" functions in overlay templates
- support for yaml and json formatted output
- `wwctl upgrade` to automatically update `nodes.conf` and `warewulf.conf`
- completely re-designed kernel selection support
- nested profiles
- arbitrary node and profile data in new "resources" structure
- moved NFS mount options to resources / fstab overlay
- split overlays by function
- split overlays, site vs distribution
- replaced `defaults.conf` with settings on default profile
- improved tabular output
- parallel overlay build
- improved networking functionality (static route, vlans, and bonds)
- kernel arguments as a list
- non-zero exit codes on wwctl errors
- fixed argument parsing for `wwctl image exec`
This release also includes numerous additional bug fixes and other.
Contributors for this release:
- Adam Michel
- Arian
- Benedikt Braunger
- Beni
- Brandon Biggs
- Brian Clemens (CIQ)
- Christian Goll (Suse)
- Daniele Colombo
- David McFarlane
- Dietmar Rieder
- Elmar Pruesse
- John "griznog" Hanks
- Howard Van Der Wal (CIQ)
- Ian Kaufman
- Josh Burks (ASU)
- Jonathon Anderson (CIQ)
- Nicholas Porter
- Shane Nehring (Iowa State University)
- Stephen Simpson (CIQ)
- Timothy Middelkoop (internet2)
- Tobias Poschwatta
- Tobias Ribizel
- "Jason" Xu Yang
- Yong Qin (Nividia)
The full changelog is included below.
# Added
- Added Netplan NIC support for Debian/Ubuntu #1463
- Added documentation on ensuring `systemctl restart warewulfd` is ran when editing `nodes.conf` or `warewulf.conf`
- Add the ability to boot nodes with `wwid=[interface]`, which replaces
`interface` with the interface MAC address
- Added https://github.com/Masterminds/sprig functions to templates #1030
- Add multiple output formats (yaml & json) support. #447
- More aliases for many wwctl commands
- Add support to render template using `host` or `$(uname -n)` as the value of `overlay show --render`. #623
- Added command line parameters for credentials of a container registry
- Add flag `--build` to `wwctl container copy`. #1378
- Add `wwctl clean` to remove OCI cache and overlays from deleted nodes
- Add `wwctl container import --platform`. #1381
- Read environment variables from `/etc/default/warewulfd` #725
- Add support for VLANs to NetworkManager, wicked, ifcfg, debian.network_interfaces overlays. #1257
- Add support for static routes to NetworkManager, wicked, ifcfg, debian.network_interfaces overlays. #1257
- Add `wwctl upgrade <config|nodes>`. #230, #517
- Better handling of InfiniBand udev net naming. #1227
- use templating mechanism for power commands. #1004
- Document "known issues."
- Add `wwctl <node|profile> <add|set> --kernelversion` to specify the desired kernel version or path. #1556
- Add `wwctl container kernels` to list discovered kernels from containers. #1556
- Add possibility to define a softlink target with an overlay template
- Support defining a symlink with an overlay template. #1303
- New "localtime" overlay to define the system time zone. #1303
- Add support for nested profiles. #1572, #1598
- Adds `wwctl container <exec|shell> --build=false` to prevent automatically (re)building the container. #1490, #1489
- Added resources as generic, arbitrary YAML data for nodes and profiles. #1568
- New `fstab` resource configures mounts in fstab overlay, including NFS mounts. #515
- Add Dev Container support #1653
- Add man pages and command reference to userdocs. #1488
- Document building images from scratch with Apptainer. #1485
- Added warewulfd:/overlay-file/{overlay}/{path...}?render={id}
# Changed
- Renamed "container" to "image" throughout wwctl and overlay templates. #1385
- Locally defined `tr` has been dropped, templates updated to use Sprig replace.
- Bump github.com/opencontainers/image-spec to 1.1.0
- Bump google.golang.org/grpc 1.62.1
- Bump google.golang.org/protobuf to 1.33.0
- Bump github.com/containers/image/v5 to 5.30.0
- Bump github.com/docker/docker to 25.0.5+incompatible
- Bump github.com/grpc-ecosystem/grpc-gateway/v2 from 2.18.0 to 2.19.1 #1165
- Bump github.com/spf13/cobra from 1.7.0 to 1.8.0 #1166
- Bump github.com/fatih/color from 1.15.0 to 1.17.0 #1224
- Bump github.com/coreos/ignition/v2 from 2.15.0 to 2.19.0 #1239
- Bump github.com/spf13/cobra from 1.8.0 to 1.8.1 #1481
- Bump google.golang.org/protobuf from 1.34.1 to 1.35.1 #1480
- Bump golang.org/x/term from 0.20.0 to 0.25.0 #1476
- Bump github.com/grpc-ecosystem/grpc-gateway/v2 from 2.19.1 to 2.23.0 #1513
- Bump github.com/containers/image/v5 from 5.30.1 to 5.32.2 #1366
- Bump github.com/fatih/color from 1.17.0 to 1.18.0 #1523
- Disable building containers by default when calling `wwctl container copy`. #1378
- Split wwinit and generic overlays into discrete functionality. #987
- Updated IgnitionJson to sort filesystems. #1433
- `wwctl node set` requires mandatory pattern input. #502
- Remove NodeInfo (in-memory-only) data structure, consolidating onto NodeConf. #916
- Replace `defaults.conf` with settings on the default profile. #917
- Switched from yaml.v2 to yaml.v3 #1462
- Make OCIBlobCache a seperate path and point it to `/var/cache` #1459
- Updated various shell scripts for POSIX compatibility. #1464
- Update `wwctl server` to always run in the foreground #508
- Update `wwctl server` to log to stdout rather than a file #503
- Changed `wwctl server` to use "INFO" for send and receive logs #725
- Remove a 3-second sleep during iPXE boot. #1500
- Don't package the API in RPM packages by default. #1493
- Update default `warewulfd` port to match shipped configuration. #1448
- Replace `olekukonko/tablewriter` with `cheynewallace/tabby`. #1497, #1498
- replaced deprecated errors.Wrapf with fmr.Errorf. #1534
- Rename udev net naming file to 70-persistent-net.rules. #1227
- Manage warewulfd template data as a pointer. #1548
- Added test for sending grub.cfg.ww. #1548
- Use a sentinel file to determine container readonly state. #1447
- Bump github.com/Masterminds/sprig/v3 from 3.2.3 to 3.3.0 #1553
- Bump github.com/golang/glog from 1.2.0 to 1.2.3 #1527
- Bump github.com/opencontainers/runc from 1.1.12 to 1.1.14
- Repurpose Kernel.Override to specify the path to the desired kernel within the container. #1556
- Merge Kernel.Override into Kernel.Version to specify the desired kernel version or path. #1556
- Provide detected kernel version to overlay templates. #1556
- Bump github.com/containers/storage from 1.53.0 to 1.55.2 #1316, #892
- Process nodes.conf path dynamically from config. #1595, #1596, #1569
- Split overlays into distribution and site overlays. #831
- Added note to booting userdoc for removing machine-id. #1609
- Log cpio errors more prominently. #1615
- Improved syncuser conflict help text. #1614
- Parallelized overlay build. #1018
- Parallelized and optimized overlay build. #1018
- Added note about dnsmasq interface options in Rocky 9.
- Added retries to curl in wwinit dracut module. #1631
- Added ip= argument to dracut ipxe script. #1630
- Updated network interface bonding configuration and documentation. #1482, #1280
- Refactor Kernel arguments as a slice (list) rather than a single string. #1656
# Removed
- `wwctl node list --fullall` has been removed
- `wwctl profile list --fullall` has been removed
- Remove `wwctl server <start,stop,status,restart,reload>` #508
- Remove `wwctl overlay build --host` #1419
- Remove `wwctl overlay build --nodes` #1419
- Remove `wwctl kernel` #1556
- Remove `wwctl <node|profile> <add|set> --kerneloverride` #1556
- Remove `wwctl container <build|import> --setdefault` #1335
- Remove NFS mount options from warewulf.conf. #515
# Fixed
- Update links on contributing page to point to warewulf repo.
- Prevent Networkmanager from trying to optain IP address via DHCP
on unused/unmanaged network interfaces.
- Systems with no SMBIOS (Raspberry Pi) will create a UUID from
`/sys/firmware/devicetree/base/serial-number`
- Replace slice in templates with sprig substr. #1093
- Fix an invalid format issue for the GitHub nightly build action. #1258
- Return non-zero exit code on overlay build failure #1393
- Return non-zero exit code on container copy failure #1377
- Return non-zero exit code on container sub-commands #1414
- Fix excessive line spacing issue when listing nodes. #1241
- Return non-zero exit code on node sub-commands #1421
- Fix panic when getting a long container list before building the container. #1391
- Return non-zero exit code on power sub-commands #1439
- Fix issue that pattern matching broken on `node set` #964
- Fix issue that domain globs not supported during wwctl node delete. #1449
- Fix overlay permissions in /root/ and /root/.ssh/. #1452
- Return non-zero exit code on container sub-commands #1437
- Return non-zero exit code on profile sub-commands #1435
- Fix issue that NetworkManager marks managed interfaces "unmanaged" if they do
not have a device specified. #1154
- Return non-zero exit code on overlay sub-commands #1423
- Simplify passing of arguments to commands through `wwctl container exec`. #253
- Don't update IPMI if password isn't set. #638
- Fix issue that `--nettagdel` does not work properly. #1503
- Fix test for dhcp static configuration #1536 #1537
- Fix issue that initrd fails at downloading runtime overlay with permission denied error,
when warewulf secure option in warewulf.conf is enabled. #806
- Allow iPXE to continue booting without runtime overlay. #806
- Format errors in logs as strings. #1563
- Fix display of profiles during node list. #1496
- Fix internal DelProfile function to correctly operate on profiles rather than nodes. #1622
- Fix parsing of bool command line variables #1627
- Fix newline handling in /etc/issue. #1648