v4.6.5 release

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
This commit is contained in:
Jonathon Anderson
2026-01-12 18:37:03 -07:00
parent 9f79e3774b
commit c7fc14c3ae
9 changed files with 172 additions and 47 deletions

15
.github/releases/v4.6.5.md vendored Normal file
View File

@@ -0,0 +1,15 @@
Warewulf v4.6.5 is a regularly-scheduled minor release in the v4.6.x series.
- new `wwctl overlay info` command
- fixed `wwctl image import --update` option
- cross-arch support for `wwclient`
- improved IPv6 support
- improved support for bonded interfaces
- renamed `debian.interfaces` overlay to `ifupdown`
- new `systemd-networkd` overlay
- `warewulf-dracut` fixes, including "provision-to-disk" fixes
Significant changes are detailed in the [release
notes](https://warewulf.org/docs/v4.6.x/release/v4.6.5.html). Additional changes
may be listed in the
[CHANGELOG](https://github.com/warewulf/warewulf/blob/main/CHANGELOG.md).

View File

@@ -4,58 +4,59 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
## v4.6.5, unreleased ## v4.6.5, 2026-01-12
### Added ### Added
- `wwclient.aarch64` overlay always provides an aarch64 wwclient executable. - New `wwclient.aarch64` overlay provides an aarch64 wwclient executable. #2068
- `wwclient.x86_64` overlay always provides an x86_64 wwclient executable. - New `wwclient.x86_64` overlay provides an x86_64 wwclient executable. #2068
- systemd-networkd overlay with IPv6 support - New `wwctl overlay info` command lists variables used by an overlay template. #2060
- `wwctl overlay info` lists the variables used by an overlay template - New Vagrant/Libvirt basic test/dev environment. #2081, #2003
- Added support for setting mtu and mac address on bonds with NetworkManager #2059 - New `bit-rate` IPMI tag. #2045
- Added new Vagrant/Libvirt basic test/dev environment #2081, #2003 - New `prefixlen6` parameter in `warewulf.conf`. #2068
- New `cloned-mac-address` network device tag for `NetworkManager` overlay. #2017
- New `range6 start` and `range6 end` in `warewulf.conf:dhcp`. #2068
- New `Gateway6` network device field. #2068
- New `systemd-networkd` overlay. #2068
### Changed ### Changed
- Renamed debian.interfaces overlay to ifupdown - Renamed `debian.interfaces` overlay to `ifupdown`. #2011
- Change the DHCP server package used on openeuler 24.03 to dnsmasq - Changed the openEuler 24.03 RPM package to use dnsmasq. #2030
- Added configurable Serial over LAN speed via IPMI `bit-rate` tag in `50-ipmi` template - Enhanced `wwctl configure tftp` to manage the SELinux context of TFTP directory. #1997
- Manage SELinux context of TFTP directory. #1997 - Enhanced overlay templates to support absolute paths with `{{ file }}`. #2055
- Dynamically write `$tftpdir/warewulf/grub.cfg` to the configured value from `warewulf.conf` - Refactored `wwclient` to use opencontainers/selinux to manage SELinux. #2042
- Absolute paths specified with `{{ file }}` in an overlay now write to that absolute path. - Renamed network device `ip6addr` to `ipaddr6`. #2068
- Use opencontainers/selinux to manage SELinux in wwclient. - Limited Warewulf server dnsmasq to the Warewulf server interface. #2068
- Replace unused/unneeded IPv6net with IpCIDR6 and NetworkCIDR6 to align with IPv4 - Refactored `ignition` overlay systemd templates for clarity. #2077
- Improved IPv6 support - Enhanced `hosts` overlay with IPv6 support. #2068
- Add PrefixLen6 for prefix length, Gateway6, and IPv6 DHCP range - Enhanced dnsmasq and `/etc/hosts` server configuration with IPv6 support. #2068
- IPv6 support for Dnsmasq and NetworkManager - Enhanced `wwclient` with IPv6 support. #2068
- Rename Netdev ip6addr to ipaddr6 for consistency
- Set `addr-gen-mode=eui64`
- Set dnsmasq to listen to the Warewulf interface to prevent to binding to localhost:53
- Added Ipv6 support to `/etc/hosts` on host and nodes.
- Added IPv6 support to wwclient
- `sfdisk` overlay creates a GPT label when wiping disks. #2025
- Renamed systemd templates in the `ignition` overlay for clarity.
### Removed ### Removed
- Remove unused Netdev `Prefix` field. - Remove unused Netdev `Prefix` field. #2068
- Remove unused `IPv6net` from host configuration. #2068
### Fixed ### Fixed
- Fix "address already in use" in `wwclient` when `secure: true`. #2009 - Fix "address already in use" in `wwclient` when `secure: true`. #2009
- Use device names in netplan bonds. #2013 - Fix `netplan` overlay to use device names bonds. #2013
- Fix ImageDelete API not returning error when checking if image is used by nodes/profiles - Fix ImageDelete API not returning error when checking if image is used by nodes/profiles. #1705
- Fix warewulf-dracut to not run the wwinit module if root is not set to `root=wwclient*` - Fix warewulf-dracut to not run the wwinit module if root is not set to `root=wwclient*`. #2066
- Fix `wwctl image import --update` #2066 - Fix `wwctl image import --update` #2073
- Fix filesystem overwrite/force behavior in mkfs overlay. #2028 - Fix filesystem overwrite/force behavior in `mkfs` overlay. #2028
- Prevent ignition from running twice in a provision-to-disk configuration. #1981 - Prevent ignition from running twice in a provision-to-disk configuration. #1981
- Fix `warewulf.spec.in` to resolve a build break for openSUSE 15.x - Remove `%elif` from `warewulf.spec.in` to resolve a build break for openSUSE 15.x. #2082
- Fixed IPv6 support in `NetworkManager` overlay. #2068
- Write `$tftpdir/warewulf/grub.cfg` to `tftproot` as configured in `warewulf.conf`. #2055
- Automatically create a GPT label when `sfdisk` overlay wipes disks. #2025
- Fix configuration of MTU on bonds with `NetworkManager`. #2059
### Dependencies ### Dependencies
- Updated github.com/ulikunitz/xz to 0.5.14 (CVE-2025-58058) #2007 - Update github.com/ulikunitz/xz to 0.5.14 (CVE-2025-58058) #2007
- Updated github.com/opencontainers/selinux to v1.13.1 (CVE-2025-52881) - Update github.com/opencontainers/selinux to v1.13.1 (CVE-2025-52881) #2082
- Updated github.com/cyphar/filepath-securejoin to v0.5.1 (indirect via selinux version bump)
## v4.6.4, 2025-09-05 ## v4.6.4, 2025-09-05

View File

@@ -29,7 +29,7 @@ versions (e.g., v4.6.3) are tagged on a separate release branch.
6. Create a signed tag for the release of the format v4.MINOR.PATCH, following 6. Create a signed tag for the release of the format v4.MINOR.PATCH, following
the format specified in <MAINTAINING.md>. the format specified in <MAINTAINING.md>.
git tag --sign v4.6.3; git push origin v4.6.3 git tag --sign v4.6.5; git push origin v4.6.5
7. Monitor the release action associated with the pushed tag at 7. Monitor the release action associated with the pushed tag at
https://github.com/warewulf/warewulf/actions, and verify the generated draft https://github.com/warewulf/warewulf/actions, and verify the generated draft

View File

@@ -31,7 +31,7 @@ Install Warewulf and dependencies
cd ~/git cd ~/git
git clone https://github.com/warewulf/warewulf.git git clone https://github.com/warewulf/warewulf.git
cd warewulf cd warewulf
git checkout main # or switch to a tag like 'v4.6.4' git checkout main # or switch to a tag like 'v4.6.5'
make all && sudo make install make all && sudo make install
Configure firewalld Configure firewalld

View File

@@ -10,11 +10,11 @@ Install Warewulf
The preferred way to install Warewulf on Enterprise Linux is using the The preferred way to install Warewulf on Enterprise Linux is using the
the RPMs published in `GitHub releases`_. For example, to install the the RPMs published in `GitHub releases`_. For example, to install the
v4.6.4 release on Enterprise Linux 9: v4.6.5 release on Enterprise Linux 9:
.. code-block:: bash .. code-block:: bash
dnf install https://github.com/warewulf/warewulf/releases/download/v4.6.4/warewulf-4.6.4-1.el9.x86_64.rpm dnf install https://github.com/warewulf/warewulf/releases/download/v4.6.5/warewulf-4.6.5-1.el9.x86_64.rpm
Packages are available for el8 and el9. Packages are available for el8 and el9.

View File

@@ -94,3 +94,4 @@ Welcome to the Warewulf User Guide!
v4.6.2 <release/v4.6.2> v4.6.2 <release/v4.6.2>
v4.6.3 <release/v4.6.3> v4.6.3 <release/v4.6.3>
v4.6.4 <release/v4.6.4> v4.6.4 <release/v4.6.4>
v4.6.5 <release/v4.6.5>

108
userdocs/release/v4.6.5.rst Normal file
View File

@@ -0,0 +1,108 @@
====================
v4.6.5 Release Notes
====================
v4.6.5 is a regularly-scheduled minor release in the v4.6.x series.
Significant changes are described below. Additional changes are listed in the
`CHANGELOG`_.
.. _CHANGELOG: https://github.com/warewulf/warewulf/blob/main/CHANGELOG.md
wwctl overlay info
==================
A new ``wwctl overlay info`` command lists variables used by an overlay
template, including the ``wwctl <node|profile> set`` argument used to set that
variable.
.. code-block: console
# wwctl overlay info ifcfg /etc/sysconfig/network-scripts/ifcfg.ww
VARIABLE OPTION TYPE HELP
-------- ------ ---- ----
$netdev.Device --netdev string Set the device for given network
$netdev.Gateway --gateway IP Set the node's IPv4 network device gateway
$netdev.Hwaddr --hwaddr MAC Set the device's HW address for given network
$netdev.Ipaddr --ipaddr IP IPv4 address in given network
$netdev.Ipaddr6 --ipaddr6 IP IPv6 address in given network
$netdev.MTU --mtu uint Set the mtu
$netdev.Netmask --netmask IP Set the networks netmask
$netdev.OnBoot --onboot wwtype.WWbool Enable/disable network device (true/false)
$netdev.Tags map[string]string
$netdev.Tags.DNSSEARCH string
$netdev.Tags.master string
$netdev.Type --type string Set device type of given network
.NetDevs map[string]*node.NetDev
Other variables and the overlay itself can also be documented explicitly within a template.
.. code-block:: text
{{/* wwdoc: Configures chronyd to synchronize time with a specific time server. */}}
{{/* .Tags.ntp_server: the NTP server to synchonize with */}}
wwctl image import --update
===========================
The ``wwctl image import`` come has included an ``--update`` option since
v4.6.0, but it has not been functional. The option now imports an image
on-top-of an existing image and is meant to be used to update an existing image
with new files from an updated upstream or external image (e.g., by importing a
new version of an image from an OCI registry).
wwclient
========
One of the last real impediments to multi-architecture support in Warewulf has
been the wwclient daemon which, though distributed to cluster nodes, has been
built only for the architecture of the Warewulf server. Now, new
``wwclient.aarch64`` and ``wwclient.x86_64`` overlays provide
architecture-specific builds of wwclient for aarch64 and x86_64 nodes,
respectively.
wwclient has also been enhanced with IPv6 support, and now properly handles
recently-used addresses when restarting.
Network management
==================
A number of network management improvements have been made. Most deal with
improving IPv6 support. The ``debian.interfaces`` overlay has been renamed to
``ifupdown`` to better reflect its support for both Debian, Ubuntu, and Alpine
systems. The ``netplan`` and ``NetworkManager`` overlay have improved support
for bonded interfaces; and a new ``systemd-networkd`` overlay adds support for
the systemd networking daemon.
Packaging
=========
The openEuler 24.03 RPM package now uses dnsmasq by default.
Development
===========
Work has resumed on support for using Vagrant to initialize a basic testing /
development environment with libvirt.
warewulf-dracut
===============
A bug between ``warewulf-dracut`` and the ``ignition`` overlay previously caused
non-root filesystems from mounting when provisioning the image to disk. A fix in
``warewulf-dracut`` prevents ignition from running twice, allowing all file
systems to mount properly. The ``wwinit`` dracut module also no longer runs the
wwinit module if root is not set to `root=wwclient*`.
These fixes require installing the updated ``warewulf-dracut`` package in the
node image.
Other fixes
===========
- Enhanced `wwctl configure tftp` to manage the SELinux context of TFTP directory. #1997
- Enhanced overlay templates to support absolute paths with `{{ file }}`. #2055
- Fix ImageDelete API not returning error when checking if image is used by nodes/profiles. #1705
- Fix filesystem overwrite/force behavior in `mkfs` overlay. #2028
- Write `$tftpdir/warewulf/grub.cfg` to `tftproot` as configured in `warewulf.conf`. #2055
- Automatically create a GPT label when `sfdisk` overlay wipes disks. #2025

View File

@@ -340,11 +340,11 @@ an initramfs inside the image.
.. code-block:: shell .. code-block:: shell
# Enterprise Linux # Enterprise Linux
wwctl image exec rockylinux-9 --build=false -- /usr/bin/dnf -y install https://github.com/warewulf/warewulf/releases/download/v4.6.4/warewulf-dracut-4.6.4-1.el9.noarch.rpm wwctl image exec rockylinux-9 --build=false -- /usr/bin/dnf -y install https://github.com/warewulf/warewulf/releases/download/v4.6.5/warewulf-dracut-4.6.5-1.el9.noarch.rpm
wwctl image exec rockylinux-9 -- /usr/bin/dracut --force --no-hostonly --add wwinit --regenerate-all wwctl image exec rockylinux-9 -- /usr/bin/dracut --force --no-hostonly --add wwinit --regenerate-all
# SUSE # SUSE
wwctl image exec leap-15 --build=false -- /usr/bin/zypper -y install https://github.com/warewulf/warewulf/releases/download/v4.6.4/warewulf-dracut-4.6.4-1.suse.lp155.noarch.rpm wwctl image exec leap-15 --build=false -- /usr/bin/zypper -y install https://github.com/warewulf/warewulf/releases/download/v4.6.5/warewulf-dracut-4.6.5-1.suse.lp155.noarch.rpm
wwctl image exec leap-15 -- /usr/bin/dracut --force --no-hostonly --add wwinit --regenerate-all wwctl image exec leap-15 -- /usr/bin/dracut --force --no-hostonly --add wwinit --regenerate-all
.. note:: .. note::

View File

@@ -18,14 +18,14 @@ Rocky Linux 9
.. code-block:: console .. code-block:: console
# dnf install https://github.com/warewulf/warewulf/releases/download/v4.6.4/warewulf-4.6.4-1.el9.x86_64.rpm # dnf install https://github.com/warewulf/warewulf/releases/download/v4.6.5/warewulf-4.6.5-1.el9.x86_64.rpm
openSuse Leap openSuse Leap
------------- -------------
.. code-block:: console .. code-block:: console
# zypper install https://github.com/warewulf/warewulf/releases/download/v4.6.4/warewulf-4.6.4-1.suse.lp155.x86_64.rpm # zypper install https://github.com/warewulf/warewulf/releases/download/v4.6.5/warewulf-4.6.5-1.suse.lp155.x86_64.rpm
Container images Container images
================ ================
@@ -97,9 +97,9 @@ appropriate substitutions:
.. code-block:: bash .. code-block:: bash
curl -LO https://github.com/warewulf/warewulf/releases/download/v4.6.4/warewulf-4.6.4.tar.gz curl -LO https://github.com/warewulf/warewulf/releases/download/v4.6.5/warewulf-4.6.5.tar.gz
tar -xf warewulf-4.6.4.tar.gz tar -xf warewulf-4.6.5.tar.gz
cd warewulf-4.6.4 cd warewulf-4.6.5
make all && sudo make install make all && sudo make install
Git Git
@@ -118,7 +118,7 @@ from the main site, the GitHub releases page, or from a Git tag.
git clone https://github.com/warewulf/warewulf.git git clone https://github.com/warewulf/warewulf.git
cd warewulf cd warewulf
git checkout main # or switch to a tag like 'v4.6.4' git checkout main # or switch to a tag like 'v4.6.5'
make all && sudo make install make all && sudo make install
Runtime Dependencies Runtime Dependencies