Skip to content

v4.4.0

Choose a tag to compare

@mslacken mslacken released this 18 Jan 20:35
· 10 commits to d6f6fedb1510ee1a8a4fa937a71ad3ff2190a5bb since this release
afcdb21

Final release of 4.4.0

Changes to node and profile subcommands

Warewulf 4.4.0 unifies the underlying implementation of nodes and profiles to prevent divergence in their features and attributes going forward; but this necessitated an update to their respective command-line arguments to unify them as well. Changes to those arguments is detailed here:

wwctl node add

  • --discoverable becomes --discoverable=true

wwctl node set

  • --addprofile has been removed
  • --assetkey becomes --asset
  • --delprofile has been removed
  • --discoverable becomes --discoverable=true
  • --netdeltag becomes --nettagdel
  • --nettag becomes --nettagadd
  • --system becomes --wwinit
  • --tag becomes --tagadd
  • --undiscoverable becomes --discoverable=false

internal/app/wwctl/profile/set/root.go

  • --assetkey becomes --asset
  • --discoverable becomes --discoverable=true
  • --netdeltag becomes --nettagdel
  • --nettag becomes --nettagadd
  • --system becomes --wwinit
  • --tag becomes --tagadd
  • --undiscoverable becomes --discoverable=false

All changes introduced since v4.3.0 are summarized below.

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 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 #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
  • 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
  • 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
  • New Docker container node image for CentOS 7. #621

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
  • No longer ask for confirmation when deleting 0 nodes. #603
  • Ask for confirmation during wwctl container delete. #606

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
  • 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
  • Directories within overlays no longer lose group/other write permissions #584
  • 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
  • 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