15
.github/releases/v4.6.5.md
vendored
Normal file
15
.github/releases/v4.6.5.md
vendored
Normal 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).
|
||||
71
CHANGELOG.md
71
CHANGELOG.md
@@ -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/).
|
||||
|
||||
## v4.6.5, unreleased
|
||||
## v4.6.5, 2026-01-12
|
||||
|
||||
### Added
|
||||
|
||||
- `wwclient.aarch64` overlay always provides an aarch64 wwclient executable.
|
||||
- `wwclient.x86_64` overlay always provides an x86_64 wwclient executable.
|
||||
- systemd-networkd overlay with IPv6 support
|
||||
- `wwctl overlay info` lists the variables used by an overlay template
|
||||
- Added support for setting mtu and mac address on bonds with NetworkManager #2059
|
||||
- Added new Vagrant/Libvirt basic test/dev environment #2081, #2003
|
||||
- New `wwclient.aarch64` overlay provides an aarch64 wwclient executable. #2068
|
||||
- New `wwclient.x86_64` overlay provides an x86_64 wwclient executable. #2068
|
||||
- New `wwctl overlay info` command lists variables used by an overlay template. #2060
|
||||
- New Vagrant/Libvirt basic test/dev environment. #2081, #2003
|
||||
- New `bit-rate` IPMI tag. #2045
|
||||
- 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
|
||||
|
||||
- Renamed debian.interfaces overlay to ifupdown
|
||||
- Change the DHCP server package used on openeuler 24.03 to dnsmasq
|
||||
- Added configurable Serial over LAN speed via IPMI `bit-rate` tag in `50-ipmi` template
|
||||
- Manage SELinux context of TFTP directory. #1997
|
||||
- Dynamically write `$tftpdir/warewulf/grub.cfg` to the configured value from `warewulf.conf`
|
||||
- Absolute paths specified with `{{ file }}` in an overlay now write to that absolute path.
|
||||
- Use opencontainers/selinux to manage SELinux in wwclient.
|
||||
- Replace unused/unneeded IPv6net with IpCIDR6 and NetworkCIDR6 to align with IPv4
|
||||
- Improved IPv6 support
|
||||
- Add PrefixLen6 for prefix length, Gateway6, and IPv6 DHCP range
|
||||
- IPv6 support for Dnsmasq and NetworkManager
|
||||
- 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.
|
||||
- Renamed `debian.interfaces` overlay to `ifupdown`. #2011
|
||||
- Changed the openEuler 24.03 RPM package to use dnsmasq. #2030
|
||||
- Enhanced `wwctl configure tftp` to manage the SELinux context of TFTP directory. #1997
|
||||
- Enhanced overlay templates to support absolute paths with `{{ file }}`. #2055
|
||||
- Refactored `wwclient` to use opencontainers/selinux to manage SELinux. #2042
|
||||
- Renamed network device `ip6addr` to `ipaddr6`. #2068
|
||||
- Limited Warewulf server dnsmasq to the Warewulf server interface. #2068
|
||||
- Refactored `ignition` overlay systemd templates for clarity. #2077
|
||||
- Enhanced `hosts` overlay with IPv6 support. #2068
|
||||
- Enhanced dnsmasq and `/etc/hosts` server configuration with IPv6 support. #2068
|
||||
- Enhanced `wwclient` with IPv6 support. #2068
|
||||
|
||||
### Removed
|
||||
|
||||
- Remove unused Netdev `Prefix` field.
|
||||
- Remove unused Netdev `Prefix` field. #2068
|
||||
- Remove unused `IPv6net` from host configuration. #2068
|
||||
|
||||
### Fixed
|
||||
|
||||
- Fix "address already in use" in `wwclient` when `secure: true`. #2009
|
||||
- Use device names in netplan bonds. #2013
|
||||
- Fix ImageDelete API not returning error when checking if image is used by nodes/profiles
|
||||
- Fix warewulf-dracut to not run the wwinit module if root is not set to `root=wwclient*`
|
||||
- Fix `wwctl image import --update` #2066
|
||||
- Fix filesystem overwrite/force behavior in mkfs overlay. #2028
|
||||
- Fix `netplan` overlay to use device names bonds. #2013
|
||||
- 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*`. #2066
|
||||
- Fix `wwctl image import --update` #2073
|
||||
- Fix filesystem overwrite/force behavior in `mkfs` overlay. #2028
|
||||
- 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
|
||||
|
||||
- Updated github.com/ulikunitz/xz to 0.5.14 (CVE-2025-58058) #2007
|
||||
- Updated github.com/opencontainers/selinux to v1.13.1 (CVE-2025-52881)
|
||||
- Updated github.com/cyphar/filepath-securejoin to v0.5.1 (indirect via selinux version bump)
|
||||
- Update github.com/ulikunitz/xz to 0.5.14 (CVE-2025-58058) #2007
|
||||
- Update github.com/opencontainers/selinux to v1.13.1 (CVE-2025-52881) #2082
|
||||
|
||||
## v4.6.4, 2025-09-05
|
||||
|
||||
|
||||
@@ -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
|
||||
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
|
||||
https://github.com/warewulf/warewulf/actions, and verify the generated draft
|
||||
|
||||
@@ -31,7 +31,7 @@ Install Warewulf and dependencies
|
||||
cd ~/git
|
||||
git clone https://github.com/warewulf/warewulf.git
|
||||
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
|
||||
|
||||
Configure firewalld
|
||||
|
||||
@@ -10,11 +10,11 @@ Install Warewulf
|
||||
|
||||
The preferred way to install Warewulf on Enterprise Linux is using 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
|
||||
|
||||
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.
|
||||
|
||||
|
||||
@@ -94,3 +94,4 @@ Welcome to the Warewulf User Guide!
|
||||
v4.6.2 <release/v4.6.2>
|
||||
v4.6.3 <release/v4.6.3>
|
||||
v4.6.4 <release/v4.6.4>
|
||||
v4.6.5 <release/v4.6.5>
|
||||
|
||||
108
userdocs/release/v4.6.5.rst
Normal file
108
userdocs/release/v4.6.5.rst
Normal 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
|
||||
@@ -340,11 +340,11 @@ an initramfs inside the image.
|
||||
.. code-block:: shell
|
||||
|
||||
# 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
|
||||
|
||||
# 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
|
||||
|
||||
.. note::
|
||||
|
||||
@@ -18,14 +18,14 @@ Rocky Linux 9
|
||||
|
||||
.. 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
|
||||
-------------
|
||||
|
||||
.. 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
|
||||
================
|
||||
@@ -97,9 +97,9 @@ appropriate substitutions:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
curl -LO https://github.com/warewulf/warewulf/releases/download/v4.6.4/warewulf-4.6.4.tar.gz
|
||||
tar -xf warewulf-4.6.4.tar.gz
|
||||
cd warewulf-4.6.4
|
||||
curl -LO https://github.com/warewulf/warewulf/releases/download/v4.6.5/warewulf-4.6.5.tar.gz
|
||||
tar -xf warewulf-4.6.5.tar.gz
|
||||
cd warewulf-4.6.5
|
||||
make all && sudo make install
|
||||
|
||||
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
|
||||
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
|
||||
|
||||
Runtime Dependencies
|
||||
|
||||
Reference in New Issue
Block a user