0.27.0
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
- Introduce WebSocket-based RPC v2 by @edigaryev in #239
- Bump github.com/golang/glog from 1.2.0 to 1.2.4 by @dependabot in #241
- Allow creating VMs with implicit CPU and memory by @edigaryev in #243
- Support scheduling by labels by @edigaryev in #244
- Small timout for worker notification by @fkorotkov in #242
- Avoid including " and $ characters in bootstrap admin's token by @edigaryev in #245
- Worker notification improvements by @edigaryev in #246
Full Changelog: 0.26.4...0.27.0