Skip to main content

VM Controller 3.12.3

Tera Insights Team
Tera Insights Team
tiCrypt Team

What is in this release​


New​

  • Images can set registrationConfig.delaySeconds to delay the VM controller stub's registration by that many seconds

Changes​

  • The list of available controller versions now keeps only the latest patch of each older minor release
  • Release notes for each version are now readable sentences
  • Updated Go dependencies, including gRPC, golang.org/x/crypto and golang.org/x/net, to address published security advisories
  • The VM controller now reports its version to the backend when it starts
  • Requests to a service that is turned off in the image config or excluded by the site service list now fail with a service-disabled error instead of service-unavailable
  • When secure transfer is enabled and the list names no recognised protocol, uploads are now disabled instead of left unrestricted, and unrecognised protocol names are logged as warnings
  • Constellation terminal streams are now closed on both ends when either side closes

Fixes​

  • File uploads no longer add an empty path for each selected file
  • On Windows VMs, commands the VM controller runs no longer open a PowerShell window
  • Fix CI workflows and slim build images
  • Fail Windows user registration cleanly when the home directory can't be moved
  • SLURM batch nodes now close and log a failed client handshake instead of panicking in the connection handler
  • Image config list fields such as the user directories to create and the tunnel groups now keep their configured order when a config amendment is merged in, instead of being shuffled on every VM start
  • The VM controller now exits with a readable error message when it cannot read its configuration or open its database at startup, instead of crashing with a panic
  • Stream errors for unknown or duplicate streams are now reported to the connecting client instead of being sent as empty messages. This also stops two connections from exchanging empty messages indefinitely when both sides have forgotten a stream
  • A batch controller whose SLURM setup fails now reports the cause through the slurm service and the core init errors instead of silently leaving the service out
  • The allowed transfer protocols list in the image config is now only applied when secure transfer is enabled, so an image with secure transfer off no longer restricts uploads to encrypted zips
  • Windows VMs now set each of the VM ID, VM name and VM config ID environment variables independently, so an empty or failing value no longer prevents the others from being set
  • The VM controller no longer crashes when a connected client sends an empty encrypted message. The offending connection is now closed with an error and other connections and the controller itself keep running
  • Fixed a crash in the VM controller when a request to another VM, such as a SLURM worker node or a constellation member, failed to send because that connection had closed. Such failures are now reported as a connection closed error instead
  • Detaching from a terminal now releases its stream and stops the controller from sending output to it, instead of leaking a goroutine per attach