From 489c8662d37f490c3938c61433fb0d6716d7e6d9 Mon Sep 17 00:00:00 2001 From: Jonathon Anderson Date: Fri, 5 Sep 2025 16:36:00 -0600 Subject: [PATCH] v4.6.4 release updates Signed-off-by: Jonathon Anderson --- .github/releases/v4.6.4.md | 13 ++++ CHANGELOG.md | 18 ++--- .../getting-started/debian-quickstart.rst | 2 +- userdocs/getting-started/el-quickstart.rst | 4 +- userdocs/release/v4.6.4.rst | 72 +++++++++++++++++++ userdocs/server/bootloaders.rst | 4 +- userdocs/server/installation.rst | 12 ++-- 7 files changed, 103 insertions(+), 22 deletions(-) create mode 100644 .github/releases/v4.6.4.md create mode 100644 userdocs/release/v4.6.4.rst diff --git a/.github/releases/v4.6.4.md b/.github/releases/v4.6.4.md new file mode 100644 index 00000000..c919a0b9 --- /dev/null +++ b/.github/releases/v4.6.4.md @@ -0,0 +1,13 @@ +Warewulf v4.6.4 is a regularly-scheduled minor release in the v4.6.x series. + +- EL10 support +- improved dnsmasq support +- enhancements to `wwclient` +- `wwctl configure warewulfd` +- fixes for NetworkManager and ifcfg overlays +- fixed unsetting boolean options with `wwctl` + +Significant changes are detailed in the [release +notes](https://warewulf.org/docs/v4.6.x/release/v4.6.4.html). Additional changes +may be listed in the +[CHANGELOG](https://github.com/warewulf/warewulf/blob/main/CHANGELOG.md). diff --git a/CHANGELOG.md b/CHANGELOG.md index 2d3e017f..26c5994c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,20 +4,21 @@ 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/). -## Unreleased +## v4.6.5, unreleased + +## v4.6.4, 2025-09-05 ### Added -- Build support for EL10, EL10 depends on `dnsmasq` and no longer `dhcpd-server` (EOL). #1974 -- `make rpm` added for local development rpm builds. #1974 +- Initial support for EL10 using `dnsmasq` in place of `dhcpd-server`. #1974 +- `make rpm` for local development rpm builds. #1974 - `wwclient --once` prompts wwclient to run once. #1226 -- Added default for warewulf 'systemd name' #1993 +- Added `wwctl configure warewulfd` ### Changed - `make dist` now uses `mktemp` instead of `.dist`. #1974 - Fixed dnsmasq template file to use basename for ipxe files. #1974 -- For EL10 default to dnsmasq for dhcpd and tftp. #1974 - Refactored overlay class. #1968 - `wwclient` places files from the runtime overlay atomically. #1307, #1975 - `wwclient` skips files that do not appear to have been modified. #1984 @@ -32,11 +33,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - Fixed a bug in `wwclient` which prevented proper cleanup of ephemeral files. - Fixed `wwclient --debug` to properly enable debug logging. - Updated golang BuildRequires in RPM specfile. #1990 -- Fixed handling of `wwctl` boolean options for disk related seetings. - -### Changed - -### Fixed +- Fixed handling of `wwctl` boolean options for disk related settings. - Set `SLAVE=yes` in ifcfg files when `MASTER` is set. #1980 ## v4.6.3, 2025-08-01 @@ -46,7 +43,6 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - Added system and runtime overlay built time to REST API. - Support If-None-Match header in `PUT /api/nodes/{id}` - Added `PUT|DELETE /api/overlays/{name}/file?path={path}` -- Added `wwctl configure warewulfd` - Added troubleshooting documentation regarding NUMA and tmpfs - Added support for IPv6 when booting with iPXE. #1852 diff --git a/userdocs/getting-started/debian-quickstart.rst b/userdocs/getting-started/debian-quickstart.rst index 839ee928..af7a0514 100644 --- a/userdocs/getting-started/debian-quickstart.rst +++ b/userdocs/getting-started/debian-quickstart.rst @@ -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.3' + git checkout main # or switch to a tag like 'v4.6.4' make all && sudo make install Configure firewalld diff --git a/userdocs/getting-started/el-quickstart.rst b/userdocs/getting-started/el-quickstart.rst index 477098a5..6c9b887f 100644 --- a/userdocs/getting-started/el-quickstart.rst +++ b/userdocs/getting-started/el-quickstart.rst @@ -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.3 release on Enterprise Linux 9: +v4.6.4 release on Enterprise Linux 9: .. code-block:: bash - dnf install https://github.com/warewulf/warewulf/releases/download/v4.6.3/warewulf-4.6.3-1.el9.x86_64.rpm + dnf install https://github.com/warewulf/warewulf/releases/download/v4.6.4/warewulf-4.6.4-1.el9.x86_64.rpm Packages are available for el8 and el9. diff --git a/userdocs/release/v4.6.4.rst b/userdocs/release/v4.6.4.rst new file mode 100644 index 00000000..0bbabe79 --- /dev/null +++ b/userdocs/release/v4.6.4.rst @@ -0,0 +1,72 @@ +==================== +v4.6.4 Release Notes +==================== + +v4.6.4 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 + +EL10 and dnsmasq support +======================== + +To support the ongoing development and upcoming release of OpenHPC 4, Warewulf +v4.6.4 adds initial support and automatic CI/CD builds for EL10. EL10 does not +include the ISC DHCP server, so EL10 packages depend on and use dnsmasq by +default. + +Warewulf v4 has included some support for dnsmasq since v4.4.0, but its +use by default in EL10 will bring additional visibility. For now, this includes: + +- A fix for a bug that prevented proper handling of iPXE files when using + dnsmasq. + +wwclient +======== + +v4.6.4 makes a number of enhancements to ``wwclient``, the daemon that +periodically re-applies the runtime overlay to cluster nodes. + +- ``wwclient`` now places files from the runtime overlay atomically, such that + any application concurrently reading an updated file will only ever see the + complete previous or updated content. +- ``wwclient`` now skips updating files that do not appear to have been + modified, as judged by file size and modification time. +- ``wwclient --once`` prompts wwclient to run once, which is useful both for + testing and for dispatching updates more dynamically (e.g., between compute + jobs). +- ``wwclient --debug`` now generates more and more useful debug output. + +wwctl configure warewulfd +========================= + +v4.6.4 adds the ability to enable and (re)start the warewulf server daemon +itself to apply updated configuration, either as part of ``wwctl configure -a`` +or ``wwctl configure warewulfd``. This only takes effect if a ``systemd name`` +for Warewulf is specified in ``warewulf.conf``. + +.. code-block:: yaml + + warewulf: + systemd name: warewulfd + +New installations will include ``systemd name: warewulfd`` by default. + +Network configuration fixes +=========================== + +- The NetworkManager overlay now omits the ``[ethernet]`` section for + non-ethernet interfaces. +- The NetworkManager overlay now sets ``ipv4:method=disabled`` if no address or + route is specified. +- The ifcfg overlay now sets ``SLAVE=yes`` when `MASTER` is set. #1980 + +Other fixes +=========== + +- Prevent brp-mangle-shebangs from changing files in overlays. (e.g., + ``/bin/sh`` to ``/usr/bin/sh``) +- Updated golang BuildRequires in the RPM specfile to 1.22. +- Fixed unsetting boolean options with ``wwctl``. diff --git a/userdocs/server/bootloaders.rst b/userdocs/server/bootloaders.rst index 40ff8f33..558a2bbb 100644 --- a/userdocs/server/bootloaders.rst +++ b/userdocs/server/bootloaders.rst @@ -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.3/warewulf-dracut-4.6.3-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.4/warewulf-dracut-4.6.4-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.3/warewulf-dracut-4.6.3-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.4/warewulf-dracut-4.6.4-1.suse.lp155.noarch.rpm wwctl image exec leap-15 -- /usr/bin/dracut --force --no-hostonly --add wwinit --regenerate-all .. note:: diff --git a/userdocs/server/installation.rst b/userdocs/server/installation.rst index 9a0c63e2..8df00c6a 100644 --- a/userdocs/server/installation.rst +++ b/userdocs/server/installation.rst @@ -18,14 +18,14 @@ Rocky Linux 9 .. code-block:: console - # dnf install https://github.com/warewulf/warewulf/releases/download/v4.6.3/warewulf-4.6.3-1.el9.x86_64.rpm + # dnf install https://github.com/warewulf/warewulf/releases/download/v4.6.4/warewulf-4.6.4-1.el9.x86_64.rpm openSuse Leap ------------- .. code-block:: console - # zypper install https://github.com/warewulf/warewulf/releases/download/v4.6.3/warewulf-4.6.3-1.suse.lp155.x86_64.rpm + # zypper install https://github.com/warewulf/warewulf/releases/download/v4.6.4/warewulf-4.6.4-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.3/warewulf-4.6.3.tar.gz - tar -xf warewulf-4.6.3.tar.gz - cd warewulf-4.6.3 + 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 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.3' + git checkout main # or switch to a tag like 'v4.6.4' make all && sudo make install Runtime Dependencies