From f22ab9e7b15be674303d76b72a7b49e2e9b6e4df Mon Sep 17 00:00:00 2001 From: Jonathon Anderson Date: Wed, 2 Jul 2025 17:01:17 -0600 Subject: [PATCH] v4.6.2 Signed-off-by: Jonathon Anderson --- .github/releases/v4.6.2.md | 11 ++++ CHANGELOG.md | 4 +- RELEASE.md | 10 +--- .../getting-started/debian-quickstart.rst | 2 +- userdocs/getting-started/el-quickstart.rst | 4 +- userdocs/index.rst | 1 + userdocs/nodes/nodes.rst | 6 ++ userdocs/release/v4.6.2.rst | 56 +++++++++++++++++++ userdocs/server/bootloaders.rst | 4 +- userdocs/server/installation.rst | 12 ++-- 10 files changed, 90 insertions(+), 20 deletions(-) create mode 100644 .github/releases/v4.6.2.md create mode 100644 userdocs/release/v4.6.2.rst diff --git a/.github/releases/v4.6.2.md b/.github/releases/v4.6.2.md new file mode 100644 index 00000000..e8043116 --- /dev/null +++ b/.github/releases/v4.6.2.md @@ -0,0 +1,11 @@ +Warewulf v4.6.2 is a regularly-scheduled minor release in the v4.6.x series. + +- support for provisioning to local disk +- improvements to the REST API +- removal of gRPC API infrastructure +- other misc. documentation and bug fixes + +Significant changes are detailed in the [release +notes](https://warewulf.org/docs/v4.6.x/release/v4.6.2.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 53d2236a..41a9eefb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,11 +4,10 @@ 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.2, 2025-07-09 ### Added -- Added override.conf for nm-wait-online-initrd.service with dracut. - Added userdocs for `wwctl node import` from yaml/csv. - Added uid, gid, and permissions to OverlayFile in REST API. #1925 - (preview) Support provisioning to local storage with `wwctl set --root=/path/to/disk`. #1894 @@ -30,6 +29,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - Fixed IPMI VLAN configuration. #1892 - Fixed `wwctl image shell --help` to fit properly within 80 columns. - Preserve existing permissions during `wwctl overlay edit`. #1886 +- Configure NetworkManager to wait for interfaces to come online before provisioning with Dracut. ### Changed diff --git a/RELEASE.md b/RELEASE.md index fdd41624..7d111b17 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -15,25 +15,21 @@ versions (e.g., v4.6.1) are tagged on a separate release branch. 2. Update `userdocs` references that imply the latest release to refer to the new version. - - `contents/installation.rst` - - `contributing/development-environment-vagrant.rst` - - `quickstart/debian12.rst` - - `quickstart/el.rst` 3. Add full release notes to `userdocs/release/` and update `userdocs/index.rst`. 4. Add summarized release notes to `.github/releases/`. -5. Cherry-pick updates from 1 and 2 above to a release branch if necessary. - (i.e., when not doing a new major release) +5. Cherry-pick updates to a release branch if necessary. (i.e., when not doing a + new major release) git cherry-pick -x -m1 --signoff 6. Create a signed tag for the release of the format v4.MINOR.PATCH, following the format specified in . - git tag --sign v4.6.1; git push origin v4.6.1 + git tag --sign v4.6.2; git push origin v4.6.2 7. Monitor the release action associated with the pushed tag at https://github.com/warewulf/warewulf/actions, and verify the generated draft diff --git a/userdocs/getting-started/debian-quickstart.rst b/userdocs/getting-started/debian-quickstart.rst index 63adc73e..d24c9f90 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.1' + git checkout main # or switch to a tag like 'v4.6.2' make all && sudo make install Configure firewalld diff --git a/userdocs/getting-started/el-quickstart.rst b/userdocs/getting-started/el-quickstart.rst index 4e701b8a..4cf67e9f 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.1 release on Enterprise Linux 9: +v4.6.2 release on Enterprise Linux 9: .. code-block:: bash - dnf install https://github.com/warewulf/warewulf/releases/download/v4.6.1/warewulf-4.6.1-1.el9.x86_64.rpm + dnf install https://github.com/warewulf/warewulf/releases/download/v4.6.2/warewulf-4.6.2-1.el9.x86_64.rpm Packages are available for el8 and el9. diff --git a/userdocs/index.rst b/userdocs/index.rst index 23a04c2d..10658113 100644 --- a/userdocs/index.rst +++ b/userdocs/index.rst @@ -91,3 +91,4 @@ Welcome to the Warewulf User Guide! v4.6.0 v4.6.1 + v4.6.2 diff --git a/userdocs/nodes/nodes.rst b/userdocs/nodes/nodes.rst index ebc3307f..a546be4a 100644 --- a/userdocs/nodes/nodes.rst +++ b/userdocs/nodes/nodes.rst @@ -206,6 +206,12 @@ Importing Nodes From a File You can import nodes into Warewulf by using the ``wwctl node import`` command. The file used must be in YAML format. +.. warning:: + Importing a node configuration will fully overwrite the existing settings, + including any customizations not present in the import file. If the node + already exists and you wish to update it, ensure that the import file + includes all the options you want to retain. + The YAML file must be a mapping of node names to their attributes, where each node is represented as a dictionary of attributes. To simplify the creation of the YAML file, you can use the wwctl node export command to export the current diff --git a/userdocs/release/v4.6.2.rst b/userdocs/release/v4.6.2.rst new file mode 100644 index 00000000..1bb540e9 --- /dev/null +++ b/userdocs/release/v4.6.2.rst @@ -0,0 +1,56 @@ +==================== +v4.6.2 Release Notes +==================== + +v4.6.2 is a regularly-scheduled minor release in the v4.6.x series. It also +includes a preview implementation of the ability to provision the node image to +a local disk. + +Significant changes are described below. Additional changes are listed in the +`CHANGELOG`_. + +.. _CHANGELOG: https://github.com/warewulf/warewulf/blob/main/CHANGELOG.md + +Provisioning to disk +==================== + +v4.6.2 includes a preview implementation of the ability to provision the node +image to a local disk. This includes the ability to provision disks earlier in +the boot process, primarily during the first phase of a two-phase boot using +dracut. + +Disks may be provisioned using ``ignition``, as before; but may now also be +provisioned using new ``sfdisk``, ``mkfs``, and ``mkswap`` overlays, and to +mount configured file systems using ``systemd.mount`` and ``systemd.swap`` +overlays. These overlays may also each be configured using overlay-specific +"resources", which may additional control compared to Warewulf's built-in disk, +partition, and file system configuration. + +To support more complext partition layouts, ``wwctl set +--parttype`` has been added to specify non-default partition types. This is +particularly useful when creating an EFI partition, which may be used in a +future release to configure serverless local booting. + +Finally, ``wwctl profile set`` has been fixed to now properly support +configuration of disks, partitions and file systems. + +For more information, see the :ref:`provision to disk` section. + +REST API +======== + +v4.6.2 continues development of the REST API, properly handling attempts to +create a node that already exists, and fetching uid, gid, and mode permissions +for overlay files. The previous gRPC-based API servers and client have also been +removed. + +Other fixes +=========== + +- NetworkManager now waits for interfaces to come online before provisioning with Dracut. +- The ``udev.netname`` overlay now properly handles InfiniBand interfaces in more cases. +- Fixed a regression in SELinux support by restoring the ``/run`` mount during wwinit. +- GRUB now properly reports errors and reboots when an error occurs. +- Fixed IPMI VLAN configuration. +- Preserve existing permissions during ``wwctl overlay edit``. +- Fix CSV processing during ``wwctl node import --csv``. diff --git a/userdocs/server/bootloaders.rst b/userdocs/server/bootloaders.rst index 26e09969..200109b3 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.1/warewulf-dracut-4.6.1-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.2/warewulf-dracut-4.6.2-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.1/warewulf-dracut-4.6.1-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.2/warewulf-dracut-4.6.2-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 a01e5f0f..1d1fe1b7 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.1/warewulf-4.6.1-1.el9.x86_64.rpm + # dnf install https://github.com/warewulf/warewulf/releases/download/v4.6.2/warewulf-4.6.2-1.el9.x86_64.rpm openSuse Leap ------------- .. code-block:: console - # zypper install https://github.com/warewulf/warewulf/releases/download/v4.6.1/warewulf-4.6.1-1.suse.lp155.x86_64.rpm + # zypper install https://github.com/warewulf/warewulf/releases/download/v4.6.2/warewulf-4.6.2-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.1/warewulf-4.6.1.tar.gz - tar -xf warewulf-4.6.1.tar.gz - cd warewulf-4.6.1 + curl -LO https://github.com/warewulf/warewulf/releases/download/v4.6.2/warewulf-4.6.2.tar.gz + tar -xf warewulf-4.6.2.tar.gz + cd warewulf-4.6.2 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.1' + git checkout main # or switch to a tag like 'v4.6.2' make all && sudo make install Runtime Dependencies