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_dirkilling the provision server
cli:
- split the CLI into the
grendeldserver and thegrendelclient, 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 matchingservicesconfig option - moved
discover lldptogrendel lldp, which no longer demands--subnet - reworked various
listcommand outputs with a custom table formatter - renamed the
showsubcommands ofauth user,auth roleandbmc jobtolist - non disruptive command like
grendel node listimplyallby 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-listennot working fromserve - fixed
--listenoverriding per service listen flags that were set explicitly - fixed
bmc configure importargument handling - fixed
bmc job clearappending the nodeset to the job list - fixed
--tagfiltering instatusandstatus nodes - fixed
bmc firmware upgrade --clear-jobs - fixed API error messages in
node editandimage edit - fixed
auth user addquitting on theqkeystroke and its TUI focus running out of range - fixed the off by one cursor in the
auth role editTUI
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