diff --git a/CHANGELOG.md b/CHANGELOG.md index 4f83e30e..ae591043 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,34 +1,90 @@ # 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/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] -### Added -- Changed internal interacation between the on disk YAML format and the in memory - format. This enables the command line options to be autogenerated from the datastructures. - Also this keeps the options for profiles and node set/add commands in strict sync. -- Added `node edit/export/import` where the edit command exposes the YAML config for the - given nodes in an editor. Nodes can also be added with this command. The export command - simply drops the YAML config for the given nodes. With the import command nodes can be - imported as YAML or as a CSV file. The CSV file must havr a header in where the first field - must always be the nodename, the rest of the fields are the same as the long commandline - options. Network device must have the form net.$NETNAME.$NETOPTION, which would e.g. be - net.default.ipaddr -- The default value (like kernel args) are no read in from the configuration file - default.conf. If this file couldn't be read built in default values will be used. -- Template files for NetworkManager are now present in the wwinit overlay. A interface must - have the type ethernet or infiniband that these will be brought up by NetworkManager -- Listings of container via `wwctl container list` will now show the creation,modification - date and the size. -- Initial cut of the warewulf API. See https://github.com/hpcng/warewulf/pull/471 -### Bug fixes -- For the connections of `wwctl ssh` the primary interface will be used -- Fixed kernel version in `wwctl container show` -- remove the container image and not only the rootfs dir on delete -- include and exclude handling for container were fixed +### Added + +- Network interface configuration (`ifcfg`) files now include the + interface name and type. #575 + +### Fixed + +- `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. #495 +- `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 @@ -37,24 +93,24 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 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. +- 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 + 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 +- 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 + 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 +- 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 +### 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 @@ -64,12 +120,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 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 -### Fixed -- GID is no longer changed to `0` when unspecified during chown -- Proper handling of uid/gid arguments during `wwctl overlay chown` -- /etc/warewulf/excludes stored in the container definition is now - processed correctly, also excluding the contents of an excluded - directory automatically. ## [4.1.0] - 2021-07-29