Skip to content

v0.2.9

Latest

Choose a tag to compare

@jafurlan jafurlan released this 18 Aug 13:20
847ffe4

Warning

Grendel now ships two binaries. grendeld runs the server and the privileged discovery commands, grendel is the API client for everything else. Server commands move: grendel serve -> grendeld serve, grendel discover -> grendeld discover. Both binaries are installed by the rpm/deb packages and shipped in the release tarball.

NICs now hold a single FQDN. Comma separated names are no longer supported. The migration keeps the first name on each interface and logs every name it drops, run grendel db dump prior to upgrade

The $.nic.HostNameIndex template function was removed. Provision templates using it will need to be updated.

Some commands were renamed: auth user show -> auth user list, auth role show -> auth role list, bmc job show -> bmc job list.

With the crypto library upgrade, API token signatures will be invalid. Regenerate them after upgrading

api:

  • added GET /v1/grendel/version
  • fixed API server shutdown handling
  • marked the Redfish arrays nullable in the OpenAPI spec

store:

  • capped the read only connection pool to stop large reads from exhausting CPU, tunable with database.max_read_conns
  • fixed the read only connection not actually being read only
  • split NIC CIDRs into separate address and prefix columns
  • improved and indexed MAC address query
  • improved and indexed FQDN query
  • dropped comma separated FQDNs from NICs

dns:

  • added a query timeout, dns.query_timeout, defaulting to 2s so abandoned queries stop holding database connections
  • answer SERVFAIL on a timeout query rather than dropping the response and forcing the client to retransmit

provision:

  • fixed an empty provision.templates_dir killing the provision server

cli:

  • split the CLI into the grendeld server and the grendel client, which builds without cgo
  • added grendel version, which prints the client and server version over the API
  • added service selection to grendeld serve, either as args or through --services, with a matching services config option
  • moved discover lldp to grendel lldp, which no longer demands --subnet
  • reworked various list command outputs with a custom table formatter
  • renamed the show subcommands of auth user, auth role and bmc job to list
  • non disruptive command like grendel node list imply all by default
  • made usage strings consistent
  • allowed force quitting an edit command after a failed save
  • fixed API requests not being cancelled with the CLI context
  • fixed sub service flags such as --dhcp-listen not working from serve
  • fixed --listen overriding per service listen flags that were set explicitly
  • fixed bmc configure import argument handling
  • fixed bmc job clear appending the nodeset to the job list
  • fixed --tag filtering in status and status nodes
  • fixed bmc firmware upgrade --clear-jobs
  • fixed API error messages in node edit and image edit
  • fixed auth user add quitting on the q keystroke and its TUI focus running out of range
  • fixed the off by one cursor in the auth role edit TUI

misc:

  • added a Dockerfile and a GoReleaser container build
  • added an example configs/docker-compose.yml
  • fixed SIGTERM shutdown handling
  • fixed the database directory permissions set by the package postinstall script
  • auto install completion scripts in deb and RPM packages
  • updated deps