Releases: warewulf/warewulf
v4.6.0rc1
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 updatenodes.conf
andwarewulf.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 editingnodes.conf
orwarewulf.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 ofoverlay show --render
. #623 - Added command line parameters for credentials of a container registry
- Add flag
--build
towwctl 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
withcheynewallace/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 removedwwctl 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 co...
v4.5.8
Warewulf v4.5.8 simplifies the "wwinit" boot process for SELinux and configures tmpfs to spread the node image across all available NUMA nodes. It also improves the detection of kernels in the container image to more reliably detect the newest available kernel and to avoid debug / rescue kernels.
This release also includes additional bug fixes and documentation improvements.
Contributors for this release:
- "Jason" Xu Yang (CIQ)
- Elmar Pruesse (National Jewish Health)
- Tobias Ribizel
- Jonathon Anderson (CIQ)
- Christian Goll (Suse)
- Brandon Biggs (INL)
The full changelog is included below.
Known issues
Added
- Added
--syncuser
flag towwctl container shell
. #1358 - Added a troubleshooting guide. #1234
- Added documentation about
rootfstype=ramfs
for SELinux support. #1001 - Added workaround documentation for importing containers with sockets. #892
- Added documentation for building iPXE locally. #1114
- Documented that ignition is not available for Rocky Linux 8. #1373, #1272
- Additional help text when container
RunDir
already exists. #1389
Changed
- Interleave tmpfs across all available NUMA nodes. #1347, #1348
- Syncuser watches for changes in mtime rather than ctime. #1358
- Change the default permissions for provisioned overlay images to
0750
(dirs) and0660
(files). #1388
Fixed
- Return an error during
wwctl container import
if the archive filename includes a colon. #1371 - Correctly extract smbios asset key during GRUB boot. #1291
- Refactor of
wwinit/init
to more properly address rootfs options. #1098 - Fix autodetected kernel sorting and filtering. #1332
- Avoid a panic during container import. #1244
- Make sure that tftp files have unmasked permissions at creation time. #674
- Fix "onboot" behavior for NetworkManager, Debian networking, and Suse wicked. #1278
- Clarified missing steps in Enterprise Linux quickstart. #1179
v4.5.7
Warewulf v4.5.7 fixes the ability to override overlay files configured in profiles with overlays configured per-node; fixes a template processing bug bug in development-time overlay rendering; and improves the preview dracut-based boot process to better support a "secure" boot process.
It also adds the ability to temporarily copy files into containers for possible modification during wwctl container exec
and wwctl container shell.
Dracut booting in v4.5.7 breaks compatibility with earlier versions of warewulf-dracut
. To continue using dracut booting with Warewulf v4.5.7, update warewulf-dracut
in the container image and re-build an initramfs inside the container. (docs)
Contributors:
- Josh Burks (Arizona State University)
- Jonathon Anderson (CIQ)
- Elmar Pruessee (National Jewish Health)
- Christian Goll (Suse)
- "Jason" Xu Yang (CIQ)
- Tobias Poschwatta (Zuse Institute Berlin)
The full changelog is below:
Added
- Added option for wwclient port number. #1349
- Additional helper directions during syncuser conflict. #1359
- Add
:copy
suffix towwctl container exec --bind
to temporarily copy files into the node image. #1365
Changed
- Added a link to an example SELinux-enabled node image in documentation. #1305
- Refine error handling for
wwctl configure
. #1273 - Updated dracut guidance for building initramfs. #1369
Fixed
v4.5.6
Warewulf v4.5.6 includes a significant fix for overlay autobuild, resolving a bug in v4.5.5 that caused autobuilt overlays to be empty. We've also added tab completion for the remaining subcommands of wwctl overlay
, and simplified the wwctl container list
command to break-out size calculations as optional and only report one type of size at a time. (Previously, container size was reported as the sum of the chroot, the uncompressed archive, and the compressed archive.)
The full changelog is below:
Added
- Show more information during
wwctl container <shell|exec>
about when and if the container image will be rebuilt. #1302 - Command-line completion for
wwctl overlay <edit|delete|chmod|chown>
. #1298 - Display an error during boot if no container is defined. #1295
wwctl conatiner list --kernel
shows the kernel detected for each container. #1283wwctl container list --size
shows the uncompressed size of each container.--compressed
shows the compressed size, and--chroot
shows the size of the container source on the server. #954, #1117- Add a logrotate config for
warewulfd.log
. #1311
Fixed
- Ensure autobuilt overlays include contextual overlay contents. #1296
- Fix the failure when updating overlay files existing on different partitions. #1312
- Escape asset tag for
wwclient
query strings when pulling runtime overlays. #1310
Changed
wwctl container list
only lists names by default. (--long
shows all attributes.) #1117
v4.5.5
Warewulf v4.5.5 includes usability improvements and bugfixes for the v4.5.x line. This includes the restoration of previous behavior when running DHCP in "static" mode, reliability improvements for wwctl overlay edit
, and fixes for overlay autobuild.
Known issues
- The fix for overlay autobuild mistakenly autobuilds empty overlays. We recommend manually disabling autobuild in
warewulf.conf
in v4.5.5. Fixed in #1301.
Fixed
- Support leading and trailing slashes in
/etc/warewulf/excludes
. #1266 - Fix a regression in overlay autobuild. #1216
- Fix wwclient not reading asset-tag. #1110
- Fix dhcp not passing asset tag or uuid to iPXE. #1110
- Restored previous static dhcp behavior. #1263
- Capture "broken" symlinks during container build. #1267
- Fix the issue that removing lines during wwctl overlay edit didn't work. #1235
- Fix the issue that new files created with wwctl overlay edit have 755 permissions. #1236
- Fix tab-completion for
wwctl overlay list
. #1260
Changed
v4.5.4
v4.5.3
Warewulf v4.5.3 includes additional functionality, documentation, usability improvements, and bugfixes. This includes an initial preview of 2-stage boot support based on dracut; significant efficiency improvements for "syncuser"; a remedy for a regression that affected the generation of ssh host keys during initial configuration; and improved handling of temporary files generated during container shell and exec commands.
Added
- Initial support for dracut-based 2-stage boot. See https://warewulf.org/docs/v4.5.x/contents/boot-management.html#booting-with-dracut for more information.
- Add
stage=initramfs
to warewulfd provision to serve initramfs from container image. #1115 - Add
warewulf-dracut
package to support building Warewulf-compatible initramfs images with dracut. #1115 - Add iPXE template
dracut.ipxe
to boot a dracut initramfs. #1115 - Add dracut menuentry to
grub.cfg.ww
to boot a dracut initramfs. #1115 - Add
.NetDevs
variable to iPXE and GRUB templates, similar to overlay templates. #1115 - Add
.Tags
variable to iPXE and GRUB templates, similar to overlay templates. #1115
- Add
Changed
wwctl container import
now only runs syncuser if explicitly requested. #1212- Improved detection of SELinux capable root fs #1093
Fixed
- Block unprivileged requests for arbitrary overlays in secure mode. #1215
- Fix the issue that warewulf.conf parse does not support CIDR format. #1130
- Reduce the number of times syncuser walks the container file system. #1209
- Create ssh keys when calling
wwctl configure --all
#1250 - Create temporary overlayfs directories alongside container rootfs and remove them after use #1180
Documentation
- Add examples for building overlays in parallel to documentation. (https://warewulf.org/docs/v4.5.x/contents/overlays.html#build)
- Replace reference to docusaurus with Sphinx (https://warewulf.org/docs/v4.5.x/contributing/documentation.html#documentation)
- Fix installation docs to use github.com/warewulf instead of github.com/hpcng. #1219 (https://warewulf.org/docs/v4.5.x/contents/installation.html)
Dependencies
- Bump golang.org/x/net from 0.22.0 to 0.23.0. #1223
v4.5.2
Warewulf v4.5.2 is primarily a security fix release to address CVE-2024-3727.
Other fixes and changes already staged for v4.5.x are also included. The full changelog is below.
Added
- Allow specification of the ssh-keys to be to be created. #1185
Fixed
- Fix nightly release build failure issue. #1195
- Reorder dnsmasq config to put iPXE last. #1146
- Update a reference to
--addprofile
to be--profile
. #1085 - Update a dependency to address CVE-2024-3727. #1221
v4.5.1
Warewulf v4.5.1 is primarily a bugfix and dependency update release.
Updates to dependencies broke compatibility with CentOS 7, so we have also dropped support for CentOS 7 (which, itself, goes EOL at the end of June) in this release. (This only affects the ability to run the Warewulf server on CentOS 7: Warewulf can still provision compute node images running CentOS 7.)
Added
- Document warewulf.conf:paths. #635
- New "Overlay" template variable contains the name of the overlay being built. #1052
Changed
- Update the glossary. #819
- Upgrade the golang version to 1.20.
- Bump github.com/opencontainers/umoci to 0.4.7
- Bump github.com/containers/image/v5 to 5.30.0
- Bump github.com/docker/docker to 25.0.5+incompatible
- Bump github.com/go-jose/go-jose/v3 to 3.0.3
- Bump gopkg.in/go-jose/go-jose.v2 to 2.6.3
- Bump github.com/opencontainers/runc to 1.1.12
- Dynamically calculate version and release from Git. #1162
- Update quickstarts to configure firewalld for dhcp. #1133
- Omit building the API on EL7. #1171
- Syncuser only walks the file system if it is going to write. #1207
Fixed
- Fix
wwctl profile list -a
format when kernerargs are set. - Don't attempt to rebuild protocol buffers in offline mode. #1155
- Fix Suse package by moving yq command to
%install
section. #1169 - Fix a rendering bug in the documentation for GRUB boot support. #1132
- Fix a locking issue with concurrent read/writes for node status. #1174
- Fix shim and grub detection for aarch64. #1145
- wwctl [profile|node] list -a now handles slices correclty. #1113
- Fix parsing of /etc/group during syncuser. #1202
v4.5.0
The Warewulf project is pleased to announce the release of v4.5.0.
There's a lot in this release! Some of the more prominent changes are described here. For a more complete list of changes, see the changelog.
Testing, linting, and code formatting
In this release we have significantly increased our focus on testing. Code changes, especially bug fixes, are increasingly accompanied by additional tests in the automated test suite, and this test suite is automatically run by GitHub against every pull request and every release.
Use the make test
target to run the test suite locally whenever you're doing development of your own.
Additional Makefile targets have also been introduced (or improved) to aid in overall maintenance of the code base:
make vet
uses standard golang heuristics to flag potential troublemake fmt
applies a uniform source code format
Documentation
Documentation continues to be an area for growth in Warewulf; but v4.5.x brings a number of improvements, some foundational:
- v4.5.x documentation is now published separately, in addition to documentation for the
main
branch. - The quickstart guides have been updated, particularly combining the guides for Enterprise Linux (e.g., Rocky Linux, CentOS, and RHEL).
- We've added a guide for using Vagrant as a development environment.
There have been a few other specific additions: for example, there is now explicit documentation for how to configure multiple networks on a cluster node, and documentation for the "hostlist" syntax used by multiple wwctl
commands.
Please reach out via Slack if you'd be interested in helping to improve the project's documentation!
Preview features
This release brings three new features in a preview status: they haven't quite had enough use, testing, integration, or documentation to be ready for production, but they represent interesting new capabilities for the project and we are eager to hear about your experiences!
Initialize storage with Ignition
You can now initialize file systems, partitions, and disks on attached storage during node boot using the Ignition utility. This does not yet support provisioning the node image to local disk; but it can be used to provision storage to be mounted into the node image; for example, to initialize a swap partition, to format a scratch disk, or to prepare local storage for system logs.
More information is available in the documentation.
Use dnsmasq for dhcp and tftp
You can now use dnsmasq as a dhcp and tftp server in place of dhcpd and tftp-server. dnsmasq may become the default implementation in the future, unifying Warewulf on a single code-base for some of its down-stream services.
More information is available in the documentation.
Use GRUB as a node bootloader
You can now use GNU GRUB as a node bootloader in place of iPXE. Using GRUB introduces support for secureboot, and may also help us to overcome some limitations on node image size that we have encountered with the available releases of iPXE.
More information is available in the documentation.
wwctl commands and arguments
This release introduces multiple improvements to the wwctl
utility.
New commands
wwctl container copy
duplicates a container image to a new name, simplifying the process of testing a change in a test image.wwctl container rename
adds support for renaming a container image in-place. (Nodes and profiles that refer to the old name must be updated separately.)
New command options and flags
wwctl container syncuser --build
automatically (re)builds a container image after syncuser.wwctl <node|profile> list --all
now only shows attributes that have a value set.wwctl <node|profile> list --fullall
shows all attributes, including those which do not have a set value.
wwctl <node|profile> set --primarynet
sets the primary network device for the node, to be used for Warewulf provisioning.wwctl <node|profile> set --ipmiescapechar
changes theipmitool
escape character.wwctl overlay import --parents
automatically creates intermediate parent directories.
Fixes and improvements
wwctl node edit
is now much more reliable, with multiple bugfixes and a general rewrite of its temporary file handling.wwctl <node|profile> set --mtu
now correctly accepts valid MTU values.wwctl container import
can now import a container archive using a relative path.wwctl container import --force
no longer fails when replacing an existing container.wwctl <node|profile> list
now supports a comma-separated list of nodes or profiles to filter the list to be displayed.wwctl overlay
tab completion now supports completing files within an overlay.
Overlays
Much of Warewulf's functionality is actually implemented using its bundled overlays.
- Nodes that use multiple profiles now include overlays from all associated profiles, applied in the order that the profiles are listed on the node (last wins). Individual overlays can be excluded using a
~
prefix. - Built overlay images are no longer erroneously / confusingly mixed with overlay sources by default. (For example, overlay sources may be included in
/var/lib/warewulf/overlays
, and overlay images will now be built in/var/lib/warewulf/provision/overlays
.) - Built overlay images are now named either
__SYSTEM__
or__RUNTIME__
by default, replacing the previous format that was a comma-separated list of the contained overlays.
wwinit
- Network configuration files now correctly configure MTU.
- Access to
/warewulf/config
is now restricted to root only. - Configuration of network device names is now more reliable, particularly for nodes with multiple interfaces.
ONBOOT
is now correctly configured when usingifcfg
.- Bonded network interfaces can now be configured via NetworkManager.
generic
- The primary interface hostname is now used as the canonical name in
/etc/hosts
. - The Warewulf server FQDN is now used as the canonical name in
/etc/hosts
.
Tags
Warewulf suports arbitrary key-value tags on nodes, network devices, and ipmi interfaces. These tags can then be used by built-in and custom overlays.
- Multiple bugs in the handling of node and profile tags have been fixed, making them a much more robust and reliable component of the Warewulf feature set.
- The
wwinit
overlay now usesDNS
network tags (includingDNS1
,DNS2
, etc.) to configure DNS resolution in network configuration files.
Configuration
Warewulf is primarily configured using two configuration files, warewulf.conf
and nodes.conf
.
warewulf.conf
ipaddr
now supports CIDR format, optionally inferring netmask and network.paths
can be used to override compiled-in paths, e.g., for overlays, containers, and provisioned images.tftp:ipxe
now supports full paths.
All available configuration options can be seen in context using wwctl genconfig warewulfconf print
.
nodes.conf
PrimaryNetDev
now defines a single network interface as primary for a node (or profile), deprecating theprimary
boolean on each individual network device.
Build and packaging
Finally, a number of improvements have been made to the Warewulf build system, including its Makefile and RPM specfile.
- Warewulf no longer bundles an iPXE binary within its source code or packages, preferring, in stead, the version of iPXE included with the host disribution.
- A local, updated build of iPXE can still be built using an updated helper script at
scripts/build-ipxe.sh
. (Usewarwulf.conf:tftp:ipxe
to configure Warewulf to use a local iPXE build.)
- A local, updated build of iPXE can still be built using an updated helper script at
- Warewulf can now be built on Fedora.
- New releases now include a build for Rocky Linux 9.
- New releases now include a build for OpenSUSE Leap 15.5 (replacing older versions of OpenSUSE Leap).
- A nightly release is now published on GitHub.