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

9.6 KiB

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