Skip to content

0.27.0

Compare
Choose a tag to compare
@edigaryev edigaryev released this 06 Feb 21:09
· 17 commits to main since this release
8dd74db

New features

WebSocket-based RPC v2

You can now pass --experimental-rpc-v2 command-line argument to orchard controller run to enable the new and simplified RPC protocol for Controller ↔︎ Workers communication.

Workers (need to be of version 0.27.0 or higher) will detect that the new protocol is enabled and switch to it automatically.

Old workers will continue to use gRPC over HTTP/2 until upgraded to 0.27.0, even with the new version of controller.

The main goal of the this new protocol is to only use HTTP/1.1 over a single port and avoid multiplexing issues with nginx and other proxies/load balancers, behind which the Orchard Controller is typically deployed.

Scheduling by labels

You can now specify --labels command-line argument to orchard create vm, which will cause the VM to be only schedulable on a worker having these labels.

A list of labels supported by the worker is set by providing a --labels command-line argument to orchard worker run.

For example, a VM created with orchard create vm --labels node=large,type=tests will only be scheduled:

  • on the orchard worker run --labels node=large,type=tests,dc=nyc1 worker
  • ...but not on the orchard worker run --labels node=large,dc=nyc1 worker

Default CPU and memory on workers

VMs can now be created with zero CPU and/or memory, and workers can now provide a default value via --default-cpu and --default-memory command-line arguments.

This allows to fully utilize the resources available on hosts of different configurations (e.g. Mac Minis and Mac Studios), since one doesn't generally know on which type of host the VM will be scheduled on.

What's Changed

Full Changelog: 0.26.4...0.27.0