- Update dracut scripts, iPXE template, and GRUB config templates to use new route paths and TLS-aware logic - Minor troubleshooting doc cleanup Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Signed-off-by: Jonathon Anderson <janderson@ciq.com>
1086 lines
50 KiB
Markdown
1086 lines
50 KiB
Markdown
# Changelog
|
|
|
|
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.7.0, unreleased
|
|
|
|
### Fixed
|
|
|
|
- Include api configuration during `wwctl upgrade config`
|
|
- Prevent `assetkey` from leaking into wwclient logs.
|
|
- Remove requisite dependency between ignition disk target and ignition service. #2083
|
|
- Return HTTP 409 status when creating an existing overlay
|
|
- Allow whitespace to be trimmed for wwdoc comments. #2109
|
|
- update go-chi to 5.2.5 to fix CVE-2025-69725
|
|
- Prevented profile `comment` field from being inherited by nodes. #2078
|
|
- Error handling for /newroot mount during single-stage boot
|
|
- Bugfix for command-line arguments during single-stage image unpacking
|
|
- Fix path traversal vulnerability (CWE-23) by validating overlay names in `overlay.Get()` and `overlay.Create()`
|
|
- Upgrade golang version to 1.25 to resolve stdlib CVEs (CVE-2025-4673, CVE-2025-58187, CVE-2025-61723, CVE-2025-58188, CVE-2025-61725, CVE-2025-61726, CVE-2025-47907, CVE-2025-58189, CVE-2025-47906, CVE-2025-58186, CVE-2025-61727, CVE-2025-61724, CVE-2025-58185, CVE-2025-47912, CVE-2025-61729, CVE-2025-0913, CVE-2025-22873, CVE-2024-45336, CVE-2024-45341, CVE-2025-58183, CVE-2025-68121, CVE-2025-61730)
|
|
- Fix path traversal vulnerability (CWE-23) in overlay cleanup function
|
|
|
|
### Dependencies
|
|
|
|
- Bump golang.org/x/term from 0.28.0 to 0.41.0 #2037
|
|
- Bump golang.org/x/sys from 0.29.0 to 0.42.0 #2036
|
|
- Bump golang.org/x/crypto from 0.31.0 to 0.49.0
|
|
- Bump golang.org/x/net from 0.33.0 to 0.49.0 #1819
|
|
- Bump github.com/grpc-ecosystem/grpc-gateway/v2 from 2.26.1 to 2.28.0 #2032
|
|
- Bump google.golang.org/grpc from 1.70.0 to 1.79.3
|
|
- Bump google.golang.org/protobuf from 1.36.3 to 1.36.11
|
|
- Bump github.com/containers/image/v5 from 5.32.2 to 5.36.2 #1996
|
|
- Bump github.com/containers/storage from 1.57.1 to 1.59.1 #1970
|
|
- Bump github.com/coreos/ignition/v2 from 2.20.0 to 2.26.0
|
|
- Bump github.com/coreos/go-systemd/v22 from 22.5.0 to 22.7.0
|
|
- Bump github.com/spf13/cobra from 1.9.1 to 1.10.2
|
|
- Bump github.com/stretchr/testify from 1.10.0 to 1.11.1
|
|
- Bump github.com/swaggest/openapi-go from 0.2.55 to 0.2.60
|
|
- Bump github.com/swaggest/rest from 0.2.73 to 0.2.75
|
|
- Bump github.com/swaggest/swgui from 1.8.2 to 1.8.5
|
|
- Bump github.com/hashicorp/go-version from 1.7.0 to 1.8.0
|
|
- Bump github.com/opencontainers/umoci from 0.4.7 to 0.6.0
|
|
- Migrate github.com/talos-systems/go-smbios to github.com/siderolabs/go-smbios v0.3.3 (module renamed)
|
|
|
|
### Added
|
|
|
|
- Document reclaiming RAM by moving the image to swap
|
|
- New `--partwipe` flag for profile and node set
|
|
- Updated arguments for `ValidString` to match `regexp.MatchString`
|
|
- New `mig` overlay to configure NVIDIA MIG devices. #2102
|
|
- Documented that booting a node twice fixes broken partition tables
|
|
- TLS support for `warewulfd` and REST API.
|
|
- New `wwctl configure tls` command to generate and configure TLS keys and
|
|
certificates.
|
|
- New dedicated `warewulfd` server routes (`/ipxe/`, `/kernel/`, `/image/`,
|
|
`/initramfs/`, `/system/`, `/runtime/`, `/grub/`, `/efiboot/`).
|
|
- Documented how to detect shadowed overlays in troubleshooting.
|
|
- Documented `wwctl clean`. #2034
|
|
- Documented the status of various top-level Warewulf features.
|
|
- Initial one-page quick reference guide
|
|
- Document configuring the arp cache for large clusters
|
|
- Expand troubleshooting documentation for container runtimes
|
|
|
|
### Changed
|
|
|
|
- Runtime overlay download failure during dracut/wwinit boot is now non-fatal;
|
|
the node continues to boot and `wwclient` retries the download at runtime.
|
|
- `hosts` overlay added to the default system overlay list
|
|
- Distinguish between OS images and overlay images in documentation
|
|
- Updated iPXE, GRUB, and dracut boot scripts to use dedicated server routes
|
|
(`/kernel/`, `/image/`, `/system/`, `/runtime/`, `/initramfs/`) instead of
|
|
`/provision/{hwaddr}?stage=X`
|
|
- Updated `wwclient` to use the `/runtime/` route for runtime overlay downloads
|
|
- New `wwinit.server` kernel parameter for dracut/wwinit boot; `wwinit.uri`
|
|
remains supported for backward compatibility
|
|
- Updated troubleshooting documentation examples to reflect the new URL scheme
|
|
|
|
### Changed
|
|
|
|
- Updated `MAINTAINING.md` to document golang version policy
|
|
- Clarified functionality of syncuser commands and overlay in documentation
|
|
- Audit and correct documentation, cobra help text, and log messages for accuracy
|
|
|
|
## v4.6.5, 2026-01-12
|
|
|
|
### Added
|
|
|
|
- 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`. #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. #2068
|
|
- Remove unused `IPv6net` from host configuration. #2068
|
|
|
|
### Fixed
|
|
|
|
- Fix "address already in use" in `wwclient` when `secure: true`. #2009
|
|
- 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
|
|
- 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
|
|
|
|
- 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
|
|
|
|
### Added
|
|
|
|
- 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 `wwctl configure warewulfd`
|
|
|
|
### Changed
|
|
|
|
- `make dist` now uses `mktemp` instead of `.dist`. #1974
|
|
- Fixed dnsmasq template file to use basename for ipxe files. #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
|
|
- `wwctl overlay edit` again writes temporary files to the default location.
|
|
(After #1886 better resolves the underlying issue from #1473.) #1946
|
|
- Prevent brp-mangle-shebangs from changing files in overlays.
|
|
- The NetworkManager overlay now only adds an `[ethernet]` section for ethernet interfaces.
|
|
- The NetworkManager overlay now sets `ipv4:method=disabled` if no address or route is specified. #1986
|
|
|
|
### Fixed
|
|
|
|
- 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 settings.
|
|
- Set `SLAVE=yes` in ifcfg files when `MASTER` is set. #1980
|
|
|
|
## v4.6.3, 2025-08-01
|
|
|
|
### Added
|
|
|
|
- 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 troubleshooting documentation regarding NUMA and tmpfs
|
|
- Added support for IPv6 when booting with iPXE. #1852
|
|
|
|
### Changed
|
|
|
|
- Restore default idempotency of `PUT /api/nodes/{id}`
|
|
- `DELETE /api/overlays/{name}?force=true` can delete overlays that are in use
|
|
- `warewulfd` overlay autobuild rebuilds overlays after node discovery. #1468
|
|
- Improved netplan support. #1873
|
|
|
|
### Fixed
|
|
|
|
- Fixed a bug when cloning an overlay to site when parent is missing
|
|
- Fixed `wwctl upgrade nodes` to properly handle kernel argument lists. #1938
|
|
- Fixed a panic during `wwctl overlay edit` due to missing `reexec.Init()`. #1879
|
|
- Fixed handling of comma-separated mount options in `fstab` and `ignition` overlays. #1950
|
|
- Fixed a race condition in `wwctl overlay edit`. #1947
|
|
- Fixed a syntax error in the RPM specfile.
|
|
|
|
## v4.6.2, 2025-07-09
|
|
|
|
### Added
|
|
|
|
- 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 <node|partition> set --root=/path/to/disk`. #1894
|
|
- (preview) Support disk provisioning during dracut boot stage with Ignition, sfdisk, mkfs, and mkswap. #1894
|
|
- Support creating multiple symlinks from a single overlay template. #1894
|
|
- Added systemd.mount and systemd.swap overlays. #1894
|
|
- Support configuring Ignition with resources. #1894
|
|
- Added `wwctl <node|partition> set --parttype`. #1894
|
|
- Added additional documentation for network tags. #1856
|
|
- Added node pattern description to commands that use it. #1936
|
|
|
|
### Fixed
|
|
|
|
- Updated 70-persistent-net.rules.ww to use `(lower $netdev.Type)` for case-insensitive comparison of "infiniband".
|
|
- Fixed a regression in SELinux support by restoring the `/run` mount during wwinit. #1910
|
|
- Fixed `wwctl profile set` for disks, partitions and file systems. #1883
|
|
- Do not let API add a node that exists
|
|
- Fixed sleep/rebooting on error during GRUB boot. #1894
|
|
- 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
|
|
|
|
- Added `-l` flag to `wwctl image list` within the sos plugin for better reporting. #1855
|
|
- Moved `wwclient` binary to the `wwclient` overlay.
|
|
- Minor updates to `wwclient` log messages
|
|
|
|
### Removed
|
|
|
|
- Removed the gRPC API servers and client. #1876
|
|
- Removed `wwctl node import --csv`. #1862
|
|
|
|
## v4.6.1, 2025-04-04
|
|
|
|
### Added
|
|
|
|
- Added `wwctl overlay import --overwrite` to overwrite existing overlay file.
|
|
- wwclient uses `WW_IPADDR`, if set, to contact the Warewulf server. #1788
|
|
- Add `wwctl node import --yes` to assume yes to confirmations.
|
|
- Set an IPMI tag `vlan` to configure the vlan during `ipmiwrite`. #1031
|
|
- Added net.ifnames=1 to default kernel argument list. #1820
|
|
- Add a new OpenAPI v3 REST API to warewulfd at /api. #1588
|
|
- New sos plugin in `warewulf-sos` subpackage. #1822
|
|
- Add `--retry-connrefused` to dracut curl commands. #1800
|
|
|
|
### Fixed
|
|
|
|
- Fixed panic in warewulfd if node netdev is only defined in a profile. #1817
|
|
- Replaced unreadable >= character external sphinx module for pdf doc build.
|
|
- Handle missing ipmi fields during bmc commands. #1768
|
|
- Properly configure a default IPMI template during `wwctl upgrade nodes --add-defaults`.
|
|
- Fixed display of dotted field names. #1825
|
|
- Add single quote around escapechar in ipmitool template #1830
|
|
- Update nodes and profiles when renaming an image. #1637
|
|
- If init is not specified, wwinit looks for /sbin/init, /etc/init, and /bin/init. #1808
|
|
- assume ipxe template=default if not set. #1808, #1813
|
|
- Display a warning during overlay build if an overlay list is empty. #1808
|
|
- Fix processing of UNDEF and UNSET during `wwctl <node|profile> set`. #1837
|
|
- Actually cause grub to sleep and reboot when log messages indiacte. #1838
|
|
- Fixed issue with importing new nodes from yaml. #1842
|
|
- `wwctl upgrade nodes --replace-overlays` avoids applying overlays multiple times. #1823
|
|
- Fix a panic during `wwctl node list --ipmi` for nodes with no ipmi configuration. #1847
|
|
- Allow `--verbose` and `--debug` to set log level for warewulfd. #1801
|
|
|
|
### Changed
|
|
|
|
- Update GitHub actions to build aarch64 artifacts.
|
|
- Explicitly enforce the number or arguments accepted by some `wwctl` subcommands. #1717
|
|
- Renamed `wwctl node import --cvs` to `--csv`.
|
|
- Update JSON output to match YAML field names. #1588
|
|
- Update JSON output to omit empty values. #1588
|
|
|
|
### Removed
|
|
|
|
- Removed "Auto generated by" tag from generated docs.
|
|
|
|
### Dependencies
|
|
|
|
- Bump github.com/spf13/cobra from 1.8.1 to 1.9.1 #1795
|
|
- Bump github.com/creasty/defaults from 1.7.0 to 1.8.0 #1794
|
|
|
|
## v4.6.0, 2025-03-02
|
|
|
|
### Added
|
|
|
|
- Support Ubuntu-style dracut initrd images.
|
|
|
|
### Fixed
|
|
|
|
- Fix nightly builds.
|
|
- Better handling for missing NetDev.Device. #1777
|
|
- Remove dracut NetworkManager connections between boot phases. #1780
|
|
|
|
### Changed
|
|
|
|
- Match default kernel arguments from `wwctl upgrade nodes` with the distributed `nodes.conf`.
|
|
- Use `wwctl overlay <import|build> --workers=0` to indicate `runtime.NumCPU()`. #1782
|
|
|
|
### Dependencies
|
|
|
|
- Bump github.com/grpc-ecosystem/grpc-gateway/v2 from 2.23.0 to 2.26.1 #1724
|
|
- Bump google.golang.org/protobuf from 1.35.1 to 1.36.5 #1712
|
|
- Bump github.com/containers/storage from 1.55.2 to 1.57.1 #1676
|
|
- Bump google.golang.org/grpc from 1.67.1 to 1.70.0 #1650
|
|
- Bump golang.org/x/crypto from 0.28.0 to 0.31.0 #1772
|
|
- Bump golang.org/x/net from 0.30.0 to 0.33.0 #1774
|
|
- Bump github.com/go-jose/go-jose/v4 from 4.0.2 to 4.0.5 #1773
|
|
- Bump github.com/golang/glog from 1.2.3 to 1.2.4 #1771
|
|
|
|
## v4.6.0rc3, 2025-02-23
|
|
|
|
### Added
|
|
|
|
- Added missing hostlist support for `wwctl node` and `wwctl overlay build`. #1635
|
|
- Added support for comma-separated hostlist patterns. #1635
|
|
- Added default value for `warewulf.conf:dhcp.template`. #1725
|
|
- Added `UniqueField` template function. #829
|
|
- Added `wwctl image build --syncuser`. #1321
|
|
- Added support for a DNSSEARCH netdev tag in network configuration overlays. #1256
|
|
- Added `WW_HISTFILE` to control shell history location during `wwctl image shell`. #1732
|
|
- Added target help in Makefile. #1740
|
|
- Added fstab mounts for `/home` and `/opt` to initial default profile. #1744
|
|
- Add support for an `IPXEMenuEntry` tag to select the boot method during iPXE.
|
|
|
|
### Changed
|
|
|
|
- Hide internal `wwctl completion` and `wwctl genconfig` commands. #1716
|
|
- Make .ww suffix optional during `wwctl overlay show --render`. #649
|
|
- DHCP template generates as much of the subnet and range definition as possible. #1469
|
|
- Updated overlay flags to `wwctl <node|profile> <add|set> [--runtime-overlays|--system-overlays]`. #1495
|
|
- syncuser overlay reads host passwd and group database from sysconfdir. #1736
|
|
- syncuser overlay skips duplicate users and groups in passwd and group databases. #829
|
|
- `wwctl image syncuser --write` is true by default. #1736
|
|
- Update syncuser documentation. #1736
|
|
- Update PS1 during `wwctl image shell` to include working directory by default,
|
|
and to include `PS1` from the environment if present. #1245
|
|
- DHCP template generates as much of the subnet and range definition as possible. #1469
|
|
- Updated overlay flags to `wwctl <node|profile> <add|set> [--runtime-overlays|--system-overlays]`. #1495
|
|
- Added logging and updated output during iPXE and GRUB. #1156
|
|
- Defined a menu for iPXE. #1156
|
|
- Added logging to wwinit scripts. #1156
|
|
- Renamed /warewulf/wwinit to /warewulf/prescripts. #1156
|
|
- Display auto-detected kernel version during iPXE and GRUB. #1742
|
|
- Reduced default verbosity of `wwctl overlay build`.
|
|
- Reorganized and updated userdocs. #1116, #1324
|
|
|
|
### Fixed
|
|
|
|
- Fixed detection of overlay files in `wwctl overlay list --long`.
|
|
- Fixed panics in `wwctl node sensors` and `wwctl node console` when ipmi not configured.
|
|
- Fixed completions for `wwctl` commands.
|
|
- Return "" when NetDev.IpCIDR is empty.
|
|
- Updated `wwctl node export` to include node IDs. #1718
|
|
- Don't add "default" profile to new nodes if it does not exist. #1721
|
|
- Make DHCP range optional.
|
|
- Don't use DHCP for interfaces attached to a bond. #1743
|
|
- Wait until ignition has completed before trying to mount.
|
|
- Fix timeout problem for wwclient. #1741
|
|
- Fixed default "true" state of NetDev.OnBoot. #1754
|
|
- Port NFS mounts during `wwctl upgrade nodes` before applying defaults. #1758
|
|
|
|
### Removed
|
|
|
|
- Removed partial support for regex searches in node and profile lists. #1635
|
|
- Remove redundant `wwctl genconfig completions` command. #1716
|
|
- Remove syncuser warning messages in `wwctl` that assume its use. #1321
|
|
- Remove syncuser from the list of default runtime overlays. #1322
|
|
- Removed check for "discoverable" profiles during `wwctl upgrade nodes`.
|
|
- Removed `dracut.ipxe` template. (Use `default.ipxe` and set tag `IPXEMenuEntry=dracut`.)
|
|
|
|
## v4.6.0rc2, 2025-02-07
|
|
|
|
### Added
|
|
|
|
- Document defining kernel args that include commas. #1679
|
|
- Recommend installing ipmitool with Warewulf package. #970
|
|
- Add completion for profile list. #1695
|
|
- Add OPTIONS argument for `warewulfd.service`. #1707
|
|
- Document `warewulf.conf:dhcp.template`. #1701
|
|
- New template field `IpCIDR`. #1700
|
|
- `wwctl configure` persists auto-detected server network settings to `warewulf.conf`. #1700
|
|
- Run staticcheck as part of GitHub CI. #1657
|
|
|
|
### Changed
|
|
|
|
- `wwctl node list <--yaml|--json>` outputs a map keyed by node name. #1667
|
|
- Don't mount /run during wwinit. #1566
|
|
- Simpler permissions in official RPM packages. #1696
|
|
- Only calculate image chroot size when requested. #1504
|
|
- Create temporary files in overlay directory during `wwctl overlay edit`. #1473
|
|
- Re-order SSH key types to make ed25519 default. #981
|
|
- Don't assume default values for `warewulf.conf` network settings. #1700
|
|
- Omit DHCP pool from `dhcpd.conf` if any required fields are missing. #1700
|
|
- `warewulf.conf:ipaddr6` is no longer required to be a `/64` or smaller. #1700
|
|
|
|
### Fixed
|
|
|
|
- Fix default nodes.conf to use the new kernel command line list format. #1670
|
|
- Fix `make install` when `sudo` does not set `$PWD`. #1660
|
|
- Use sh to parse and exec IPMI command. #1663
|
|
- Use configured warewulf.conf path in `wwctl upgrade`. #1658
|
|
- Fixed negation for slice field elements during profile/node merge. #1677
|
|
- Show each overlay only once, even when both site and distribution versions exist. #1675
|
|
- Remove a redundant "Building image" log message after image exec. #1694
|
|
- Don't populate NetDevs[].Type or NetDevs[].Netmask during upgrade. #1661
|
|
- Prefer parent profile values over child profile values. #1672
|
|
- Don't attempt to back-up an output file that doesn't exist during upgrade. #1671
|
|
- Specify init=/init when booting with Grub+dracut. #1573
|
|
- Fix a warewulfd panic when no kernel fields are specified. #1689
|
|
- Create site overlay directory. #1690
|
|
- Urlencode asset keys during dracut boot. #1610
|
|
- Set execute permissions for intermediate directories during `wwctl overlay import --parents`. #1655
|
|
- Fix log output formatting during overlay build.
|
|
- Prevent merging of zero-value net.IP fields. #1710
|
|
|
|
### Removed
|
|
|
|
- Remove `warewulf.conf:syslog`. #1606
|
|
- Properly handle parsing of server network and netmask from CIDR `warewulf.conf:ipaddr`. #1541, #1594
|
|
- Populate template field `NetworkCIDR`. #1700
|
|
|
|
### Dependencies
|
|
|
|
- Bump github.com/coreos/ignition/v2 from 2.19.0 to 2.20.0. #1583
|
|
|
|
## v4.6.0rc1, 2025-01-29
|
|
|
|
### Added
|
|
|
|
- Added Netplan NIC support for Debian/Ubuntu #1463
|
|
- Added documentation on ensuring `systemctl restart warewulfd` is ran when editing `nodes.conf` or `warewulf.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 of `overlay show --render`. #623
|
|
- Added command line parameters for credentials of a container registry
|
|
- Add flag `--build` to `wwctl 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.interfaces overlays. #1257
|
|
- Add support for static routes to NetworkManager, wicked, ifcfg, debian.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 separate 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` with `cheynewallace/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 removed
|
|
- `wwctl 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 obtain 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. #1139
|
|
- 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 command line variables #1627
|
|
- Fix newline handling in /etc/issue. #1648
|
|
|
|
## v4.5.8, 2024-10-01
|
|
|
|
### Added
|
|
|
|
- Added `--syncuser` flag to `wwctl 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) and `0660` (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
|
|
- Fix dhcpd.conf static template to include next-server and dhcp-range #1536
|
|
- Fix panic when adding tag with existing netdev #1546
|
|
|
|
## v4.5.7, 2024-09-11
|
|
|
|
### Added
|
|
|
|
- Added option for wwclient port number. #1349
|
|
- Additional helper directions during syncuser conflict. #1359
|
|
- Add `:copy` suffix to `wwctl 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
|
|
|
|
- Fixed application of node overlays such that they override overlapping files from profile overlays. #1259
|
|
- Prevent overlays from being improperly used as format strings during `wwctl overlay show --render`. #1363
|
|
- Fix dracut booting with secure mode. #1261
|
|
|
|
## v4.5.6, 2024-08-05
|
|
|
|
### 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. #1283
|
|
- `wwctl 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
|
|
|
|
### Changed
|
|
|
|
- Refactor URL handling in wwclient to consistently escape arguments.
|
|
|
|
### 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, 2024-07-05
|
|
|
|
### 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
|
|
|
|
- Explicitly ignore compat-style NIS lines in passwd/group during syncuser. #1286
|
|
- Accept `+` within kernel version. #1268
|
|
- Mount `/sys` and `/run` during `wwctl container exec`. #1287
|
|
|
|
## v4.5.4, 2024-06-12
|
|
|
|
### Fixed
|
|
|
|
- Fix a regression that caused an error when passing flags to `wwctl container exec` and `wwctl container shell`. #1250
|
|
|
|
## v4.5.3, 2024-06-07
|
|
|
|
### Added
|
|
|
|
- Add examples for building overlays in parallel to documentation
|
|
- 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
|
|
|
|
### Changed
|
|
|
|
- Replace reference to docusaurus with Sphinx
|
|
- `wwctl container import` now only runs syncuser if explicitly requested. #1212
|
|
- wwinit now configures NetworkManager to not retain configurations from dracut. #1115
|
|
- Improved detection of SELinux capable root fs #1093
|
|
|
|
### Fixed
|
|
|
|
- Block unprivileged requests for arbitrary overlays in secure mode. #1215
|
|
- Fix installation docs to use github.com/warewulf instead of github.com/hpcng. #1219
|
|
- 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 key also when calling `wwctl configure --all` #1250
|
|
- Remove the temporary overlayfs dir and create them besides rootfs #1180
|
|
|
|
### Security
|
|
|
|
- Bump golang.org/x/net from 0.22.0 to 0.23.0. #1223
|
|
|
|
## v4.5.2, 2024-05-13
|
|
|
|
### Added
|
|
|
|
- Allow specification of the ssh-keys to be to be created. #1185
|
|
|
|
### Changed
|
|
|
|
- The command `wwctl container exec` locks now this container during execution. #830
|
|
|
|
### 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, 2024-04-30
|
|
|
|
### Added
|
|
|
|
- Document warewulf.conf:paths. #635
|
|
- New "Overlay" template variable contains the name of the overlay being built. #1052
|
|
- Documented HTTP proxy environment variables for `wwctl container import`. #1214
|
|
|
|
### 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 handles now slices correclty. #1113
|
|
- Fix parsing of /etc/group during syncuser. #1202
|
|
|
|
## 4.5.0, 2024-02-08
|
|
|
|
Official v4.5.0 release.
|
|
|
|
### Added
|
|
|
|
- Publish v4.5.x documentation separately from `main`. #919
|
|
- Update quickstart for Enterprise Linux. #394, #401, #977
|
|
|
|
### Fixed
|
|
|
|
- Fix `Requires: ipxe-bootimgs` for building an Enterprise Linux 7 RPM. #1126
|
|
|
|
## 4.5.0rc2, 2024-02-21
|
|
|
|
### Fixed
|
|
|
|
- Fix mounting local partitions into sub-directories with Ignition. #1073
|
|
- Fix a panic in `wwctl node set` when modifying a network device that is only defined in a profile. #1094
|
|
|
|
## 4.5.0rc1, 2024-02-08
|
|
|
|
### Added
|
|
|
|
- Start building packages for Rocky Linux 9. #951
|
|
- Start building nightly GitHub releases. #969
|
|
- Support building on Fedora. #988
|
|
- New command `wwctl container copy` to duplicate a container image. #130
|
|
- New command `wwctl container rename` to rename a container image. #583
|
|
- New command `wwctl genconf` generates shell completions, initial configuration files, and documentation. #721
|
|
- New flag `wwctl container syncuser --build` automatically (re)builds a container image after syncuser. #509
|
|
- New flag `wwctl overlay import --parents` automatically creates intermediate parent directories. #481, #608
|
|
- New flag `wwctl <node|profile> list --fullall` shows all attributes, including those which do not have a set value. #786
|
|
- New option `wwctl <node|profile> set --ipmiescapechar` changes the `ipmitool` escape character. #999
|
|
- New option `wwclient --warewulfconf` specifies the location of `warewulf.conf`.
|
|
- New configuration option `warewulf.conf:paths` to override compiled-in paths. #721, #960, #1037
|
|
- Support configuring full paths to iPXE binaries in `warewulf.conf:tftp:ipxe`. #784
|
|
- Use `DNS` network tags to configure DNS resolution in network configuration overlays. #922
|
|
- Support a command-separated list of nodes or profiles in `wwctl <node|profile> list`. #739
|
|
- Support specifying `warewulf.conf:ipaddr` in CIDR format, optionally inferring netmask and network. #1016
|
|
- Support bonded network interfaces with NetworkManager using new network device types `bond` and `bond-slave`. #1071
|
|
- Support tab completion for overlay files in `wwctl overlay`. #813
|
|
- New `localdisk.ipxe` script to boot from local disk. #1058
|
|
- New example template to create genders database for use with clush, pdsh, and others. #825
|
|
- Document the "hostlist" syntax used by `wwctl`. #611
|
|
- Document using Vagrant as a development environment. #855
|
|
- Document quickstart for Enterprise Linux 9. #849
|
|
- Document configuring nodes with multiple networks. #1043
|
|
- (preview) Added support for initializing file systems, partitions and disks with Ignition. #786
|
|
- (preview) Added support for dnsmasq as a tftp and dhcp provider. #727, #1041
|
|
- (preview) Support booting nodes with GNU GRUB as an alternative to iPXE. #859
|
|
|
|
### Fixed
|
|
|
|
- Fix configuration of network device MTU in network configuration overlays. #807
|
|
- Separate provisioned overlays from overlay sources. #972
|
|
- Display the correct header for `wwctl overlay list --all --long`. #485
|
|
- Prevent column overflow in `wwctl <subcommand> list` with dynamic tabular output. #690
|
|
- Support relative path to a container image archive in `wwctl container import`. #493
|
|
- Correctly configure `ONBOOT` in `wwinit:etc/sysconfig/network-scripts/ifcfg.ww`. #644
|
|
- Fix multiple bugs in `wwctl node edit`. #691, #902, #1024
|
|
- Fix formatting of kernel arguments in `wwctl <node|profile> list`. #828
|
|
- Fix the ability to build the Warewulf API with `make`. #854
|
|
- Fix the ability to set MTU with `wwctl`. #947
|
|
- Fix multiple bugs in the handling of node and profile tags. #884, #967
|
|
- Fix an error when using `wwctl container import --force` to replace an existing container. #474
|
|
- Fix configuration of network device names. #926
|
|
- Fix a bug that prevented `wwclient` from starting on systemd hosts. #1066
|
|
- Set default ownership of built-in overlay files to `root:root`. #1078
|
|
- Fix a SIGSEGV error when building Warewulf on a host without network access. #907
|
|
- Use `sysrq-trigger` to reboot during wwinit, as `reboot` may require systemd, which is not yet running. #871
|
|
- Only write IPMI configuration if `ipmiwrite` is explicitly set to true. #823
|
|
- Don't show an error during `wwctl container list` if images are missing. #933
|
|
- Fix a bug preventing containers with symlinked `/bin/sh` from being imported. #797
|
|
- Fix a bug that caused syncuser to panic if `/etc/passwd` was malformed. #527
|
|
- Fix inclusion of kernel modules for imported kernels. #836
|
|
- Fix a bug that caused `wwctl overlay show` to write to stderr. #1000
|
|
- Correct "shebang" lines in `wwinit:warewulf/init.d` scripts. #821
|
|
|
|
### Changed
|
|
|
|
- Rebase OpenSUSE Leap build to 15.5. #951
|
|
- Update default `Makefile` provision directory to match RPM specfile. #972
|
|
- Replace deprecated `io.utils` functions with new `os` functions. #883
|
|
- Sort node and profiles by name in `wwctl <node|profile> list`. #816
|
|
- Use the mountpoint file system for `wwctl exec` bind mounts. #897
|
|
- Reduce a warning message during `overlay build` from `Warn` to `Debug`. #1025
|
|
- Use the primary interface hostname and the Warewulf server FQDN as the canonical name in `/etc/hosts`. #693
|
|
- Refactor `wwctl profile add` to behave more like `wwctl node add`. #658 #659
|
|
- Write `wwctl` error messages to stderr rather than stdout. #758
|
|
- `wwctl` now validates IP and MAC address format.
|
|
- Refactor `Makefile` for clarity and reliability. #890
|
|
- Move primary network interface definition to `PrimaryNetDev` on the node. #682
|
|
- `wwctl <node|profile> list --all` now only shows attributes that have a set value. #786
|
|
- Name system and runtime overlay images as `__SYSTEM__` and `__RUNTIME__` by default. #852, #876, #896
|
|
- Always prefer a node's primary network interface during node discovery. #775
|
|
- Stop bundling iPXE with Warewulf and use iPXE from the host distribution. #784
|
|
- Update and simplify the iPXE build script, now at `scripts/build-ipxe.sh`. #1026
|
|
- Merge overlays from multiple profiles on a single node, and exclude overlays with a `~` prefix. #885
|
|
- Move `hostlist` package into `internal` directory alongside other Warewulf packages. #804
|
|
- Move built-in overlay files to a transparent `rootfs` directory. #1086
|
|
- Update quickstart guides. #847, #848
|
|
|
|
## 4.4.1, 2023-05-07-05
|
|
|
|
### Fixed
|
|
|
|
- Properly update container file GIDs during syncuser. #840
|
|
- Add a missing `.ww` extension to the `70-ww4-netname.rules` template in the wwinit overlay. #724
|
|
- Restrict access to `/warewulf/config` to root only. #728
|
|
|
|
## 4.4.0, 2023-01-18
|
|
|
|
### Added
|
|
|
|
- New Docker container node image for CentOS 7. #621
|
|
|
|
### Fixed
|
|
|
|
- Replaced an invalid variable name in a NetworkManager overlay
|
|
template. #626
|
|
- The 'nodes' alias now correctly refers to 'node' rather than
|
|
'profile'.
|
|
- Fixed a typo in a log message. #631
|
|
- Boolean attributes now correctly account for profile and default
|
|
values. #630
|
|
- Kernel version is shown correctly for symlink'd kernels #640
|
|
- Changing a profile always adds an empty default interface. #661
|
|
|
|
## 4.4.0rc3, 2022-12-23
|
|
|
|
### Added
|
|
|
|
- New `defaults.conf` man page. #593
|
|
- A new debug overlay includes a template which demonstrates accessing
|
|
all available variables. #599
|
|
- Distribute a README along with staticfiles. #189
|
|
- Add a `-y` flag to `wwctl profile add`. #610
|
|
- Distribute a source RPM with GitHub releases. #614
|
|
|
|
### Changed
|
|
|
|
- No longer ask for confirmation when deleting 0 nodes. #603
|
|
- Ask for confirmation during `wwctl container delete`. #606
|
|
|
|
### Fixed
|
|
|
|
- `wwctl profile set` now indicates "profiles" in output where it
|
|
previously mistakenly indicated "nodes." #600
|
|
- Set correct overlay permissions for a NetworkManager configuration
|
|
file. #591
|
|
|
|
### Fixed
|
|
|
|
- Directories within overlays no longer lose group/other write permissions #584
|
|
|
|
## 4.4.0rc2, 2022-12-09
|
|
|
|
### Added
|
|
|
|
- The environment variable `WW_CONTAINER_SHELL` is defined in a `wwctl
|
|
container shell` environment to indicate the container in use. #579
|
|
- Network interface configuration (`ifcfg`) files now include the
|
|
interface name and type. #457
|
|
|
|
### Fixed
|
|
|
|
- Work-around for older versions of gzip that lack a `--keep` flag
|
|
during `wwctl container build`. #580
|
|
- The default ipxe template is once again specified as a built-in
|
|
default and in `defaults.conf`. #581
|
|
- `wwctl container list` no longer segfaults when a container chroot
|
|
is present without a built image. #585
|
|
- `wwctl configure hostfile` now correctly detects the presence of the
|
|
hostfile overlay template. #571
|
|
- `wwctl overlay build` no longer panics when rendering an template
|
|
for a node which has tags set. #568
|
|
- Minor typographical fixes. #569
|
|
|
|
## 4.4.0rc1, 2022-10-27
|
|
|
|
### Added
|
|
|
|
- iPXE binaries included with Warewulf now support VLAN tagging. #563
|
|
- `wwctl container list` now shows the container creation date,
|
|
modification date, and size. #537
|
|
- `wwctl node edit` supports directly editing or defining node
|
|
configuration YAML in an editor. #540
|
|
- `wwctl node export` and `wwctl node import` support importing and
|
|
exporting node definitions as YAML or (for import) CSV. The CSV file
|
|
must have a header in where the first field must always be the
|
|
nodename, and the rest of the fields are the same as the long
|
|
commandline options. Network device must have the form
|
|
`net.$NETNAME.$NETOPTION`. (e.g., `net.default.ipaddr`) #540
|
|
- The `warewulfd.service` systemd unit file now supports `execreload`
|
|
and `execstop`. #550
|
|
- Network interfaces now accept an `mtu` attribute. #549
|
|
- The `wwinit` overlay now supports network interface configuration
|
|
via NetworkManager for Ethernet and InfiniBand interfaces. #539
|
|
- Default node attribute values (e.g., for kernel arguments) are now
|
|
read in from a `defaults.conf` configuration file. If this file
|
|
is not present, built-in default values are used. #539
|
|
- [Warewulf documentation](https://warewulf.org/docs/) is now managed
|
|
alongside the Warewulf source code in a single code repository so
|
|
that documentation may be updated alongside code changes.
|
|
- New man pages for `warewulf.conf` and `nodes.conf` #510
|
|
- An initial cut of the [Warewulf API](API.md) #471
|
|
- `wwctl show --render` shows overlay templates as they would be
|
|
rendered on a given target node. #467
|
|
- `wwctl ssh` now supports Bash completion. #466
|
|
|
|
### Changed
|
|
|
|
- `wwctl overlay edit` no longer saves a new template to the overlay
|
|
if the template is not modified from its initial state. #522
|
|
- The wwinit overlay now only sets a name for a network interface if
|
|
that interface has a MAC address defined. #553
|
|
- `wwctl container delete` now also deletes the built images
|
|
associated with that container. #214
|
|
- Unified internal code paths for `wwctl profile` and `wwctl node`
|
|
commands, and between the on disk YAML format and the in memory
|
|
format, enabling the command-line options to be autogenerated from
|
|
the datastructures and ensuring that profile and node capabilities
|
|
remain in sync. Multiple command line arguments have been updated or
|
|
changed. #495, #637
|
|
- `wwctl power` commands no longer separates node output with
|
|
additional whitespace. #514
|
|
|
|
### Fixed
|
|
|
|
- `/etc/warewulf/excludes` (read from the node image) once again
|
|
excludes files from being included in the node image. #532
|
|
- `wwctl ssh` always uses a node's primary interface. #544
|
|
- `wwctl container show` now correctly shows the kernel version. #542
|
|
- System users are no longer prevented from logging into compute
|
|
nodes. #538
|
|
- `wwctl overlay chown` now correctly handles uid and gid arguments. #530
|
|
- `wwctl overlay chown` no longer sets gid to `0` when unspecified. #531
|
|
- Corrected the path for `.wwbackup` files in some situations. #524
|
|
- Bypass `imgextract` for legacy BIOS machines to avoid 32-bit memory
|
|
limitations. #497
|
|
- `warewulfd` no longer panics when network interface tags are
|
|
defined. #468
|
|
- The wwinit overlay now configures the network device type. #465
|
|
- Minor typographical fixes. #528, #519
|
|
|
|
## 4.3.0, 2022-06-25
|
|
|
|
### Added
|
|
|
|
- All configurations files for the host (/etc/exports, /etc/dhcpd.conf, /etc/hosts) are now
|
|
populated from the (OVERLAYDIR/host/etc/{exports|dhcpd|hosts}.ww . Also other configuration
|
|
files like prometheus.yml.ww or slurm.conf.ww which depend on the cluster nodes can be
|
|
placed. Also the new templated functions {{ abort }}, {{ IncludeBlock }} abd {{ no_backup }}
|
|
are allowed now.
|
|
- nodes and profiles can now have multiple system and runtime overlays, as a comma separated list.
|
|
The overlays of the profile and the nodes are combined.
|
|
- simple ipv6 support is now enabled. In `warewulf.conf` the option `ipaddr6`/`Ipv6net` must
|
|
be set to enable ipv6. If enabled on of these options is set a node will get a derived
|
|
ipv6 in the scheme `ipv6net:ipaddr4`. This address can also be overwritten for every
|
|
node
|
|
- Multiple files can now created from a single `template.ww` file with the `{{ file FILENAME }}`
|
|
command in the template. The command is expanded to the magic template command
|
|
`{{ /* file FILENAME */}}` which is picked up by wwctl and everything which comes after this
|
|
magic comment will be written to the file `FILENAME`. This mechanism is leveraged in the
|
|
configuration files for the network, see `ifcfg.xml.ww` and `ifcgf.ww`.
|
|
- Networks can now have arbitrary keys value pairs in the profiles and on the node, so that
|
|
things like bridges and mtu sizes can be set
|
|
- oci container tar balls can be imported with the 'file://$PATH' scheme
|
|
- uids and gids of a container can now get synced at import time, so that at least users with the
|
|
same name have the same uid. This is not necessarily needed for warewulf, but services like
|
|
munge.
|
|
|
|
### Changed
|
|
|
|
- Provision interface is not tied to 'eth0' any more. The provision interface must be have the
|
|
'primary' flag now. The file `nodes.conf' must be changed accordingly.
|
|
- the provisioning network is now called primary and not default
|
|
- Creating of '/etc/exports' can now be disabled, so that `wwctl configure -a` wont overwrite
|
|
a existing '/etc/exports'.
|
|
- The yaml format for nodes has now sub-keys for ipmi and kernel, old nodes.conf files have to
|
|
to be changed accordingly
|
|
- host overlays can globaly disbaled, but are enabled per default
|
|
- `wwctl overlay build -H` will only build the overlays which are assigned to the nodes
|
|
|
|
## 4.1.0, 2021-07-29
|
|
|
|
### Added
|
|
|
|
- Support for ARM nodes
|
|
- firewalld service file for warewulfd
|
|
- `-y` option to skip "Are you sure" queries
|
|
- `wwctl kernel delete` command
|
|
- `wwctl vnfs` alias for `wwctl container`
|
|
- Support for authenticated OCI registries
|
|
- warewulfd can reload config on SIGHUP and when the config file changes
|
|
- Node database index to improve lookup speeds
|
|
- Kernels and containers can be imported from a chroot subdirectory
|
|
- Systemd service file
|
|
|
|
### Changed
|
|
|
|
- `wwctl node list` output beautification
|
|
- Log timestamps are more precise
|
|
- PID file and log files are now in `/var/run` and `/var/log`, respectively
|
|
- `make install` no longer overwrites preexisting configuration files
|
|
- Kernel modules and overlays are now compressed
|
|
- `rootfstype` now uses `rootfs` in default kernel arguments
|
|
- iPXE binaries updated
|
|
- Installed container directory is deleted when import fails
|
|
- Default iPXE script now reboots erroring nodes every 15 seconds
|
|
- Only open `/etc/hosts` when writing
|
|
|
|
### Removed
|
|
|
|
- `wwctl configure` `--persist` flags have been removed. `configure` commands persist changes by default unless `--show` is used
|
|
- In-repository documentation: has been moved to it's own repository
|
|
|
|
### Fixed
|
|
|
|
- Importing containers from directory
|
|
- Debug log verbosity option takes precedence over verbose option
|
|
- `wwctl node list -n` output is formatted corectly
|
|
- Container names can contain an underscore
|
|
- `wwctl overlay build --all` does not require an argument
|
|
- specfile date format works with older versions of rpmbuild
|
|
- Use SystemOverlay when building system overlay
|
|
- dhcpd template now references correct wwctl subcommand
|
|
- `wwctl node set kernelargs` and `wwctl profile set kernelargs` change kernel arguments
|