v0.24.0
firecracker-microvm/firecrackerv0.24.0Dec 23, 2020by sandreim
AI Summary
A significant feature release introducing snapshot capabilities, including incremental snapshots and aarch64 support, alongside new device support and API improvements.
Key Highlights
- Added support for incremental guest memory snapshots and aarch64 snapshotting.
- Added virtio traditional memory ballooning device support.
- Added optional `resume_vm` field to `/snapshot/load` API call.
- Increased maximum number of virtio devices from 11 to 19.
- Removed deprecated jailer `--extra-args` parameter.
Breaking Changes
- Removed the jailer `--extra-args` parameter.
New Features
- Incremental guest memory snapshot support
- aarch64 snapshot support
- virtio traditional memory ballooning device
- Optional `resume_vm` field in snapshot/load API
- Block rate limiter PATCH support
- devtool cpuset confinement flags
- UART non-blocking serial write behavior
Full Release Notes
### Added - Added optional `resume_vm` field to `/snapshot/load` API call. - Added support for block rate limiter PATCH. - Added devtool test `-c|--cpuset-cpus` flag for cpus confinement when tests run. - Added devtool test `-m|--cpuset-mems` flag for memory confinement when tests run. - Added the virtio traditional memory ballooning device. - Added a mechanism to handle vCPU/VMM errors that result in process termination. - Added incremental guest memory snapshot support. - Added aarch64 snapshot support. ### Changed - Change the information provided in `DescribeInstance` command to provide microVM state information (Not started/Running/Paused) instead of whether it's started or not. - Removed the jailer `--extra-args` parameter. It was a noop, having been replaced by the `--` separator for extra arguments. - Changed the output of the `--version` command line parameter to include a list of supported snapshot data format versions for the firecracker binary. - Increased the maximum number of virtio devices from 11 to 19. - Added a new check that prevents creating v0.23 snapshots when more than 11 devices are attached. - If the stdout buffer is full and non-blocking, the serial writes no longer block. Any new bytes will be lost, until the buffer is freed. The device also logs these errors and increments the `uart.error_count` metric for each lost byte. ### Fixed - Fixed inconsistency in YAML file InstanceInfo definition