Welcome to Zen Computer Systems Sdn Bhd's GitLab

Skip to content
Tags give the ability to mark specific points in history as being important
  • v0.4.0
    Added
    
    * The CPU Template can be set with an API call on PUT /machine-config. The only
      available template is T2.
    * Hyperthreading can be enabled/disabled with an API call on PUT
      /machine-config. By default, hyperthreading is disabled.
    * Added boot time performance test (tests/performance/test_boottime.py).
    * Added Rate Limiter for Virtio block and net devices. The Rate Limiter uses
      two token buckets to limit rate on bytes/s and ops/s. The rate limiter can be
      (optionally) configured per drive with a PUT on /drives/{drive_id} and per
      network interface with a PUT on /network-interface/{iface_id}.
    * Implemented pre-boot PUT updates for /boot-source, /drives, /network-interfaces
      and /vsock.
    * Added integration tests for PUT updates.
    
    Changed
    
    * Moved the API definition (swagger/firecracker-beta.yaml) to the api_server i
      crate.
    * Removed "console=ttyS0" and added "8250.nr_uarts=0" to the default kernel
      command line to decrease the boot time.
    * Changed the CPU topology to have all logical CPUs on a single socket.
    * Removed the upper bound on CPU count as with musl there is no good way to get
      the total number of logical processors on a host.
    * Build time tests now print the full output of commands.
    * Disabled the Performance Monitor Unit and the Turbo Boost.
    * Check the expected KVM capabilities before starting the VM.
    * Logs now have timestamps.
    
    Fixed
    
    * testrun.sh can run on platforms with more than one package manager by setting
      the package manager via a command line parameter (-p).
    * Allow correct set up of multiple network-interfaces with autogenerated MAC.
    * Fixed sporadic bug in virtio which was causing lost packages.
    * Don't allow PUT requests with empty body on /machine-config.
    * Deny PUT operations after the microvm boots (exception: the temporarily fix
      for live resize of block devices).
    
    Removed
    
    * Removed examples crate. This used to have a Python example of starting
      Firecracker. This is replaced by test_api.py integration tests.
    * Removed helper scripts for getting coverage and coding style errors. These
      were replaced by test_coverage.py and test_style.py test integration tests.
    * Removed --vmm-no-api command line option. Firecracker can only be started via
      the API.
  • v0.3.0
    Added
    
    * Users can interrogate the Machine Configuration (i.e. vcpu count and memory size) using a GET request on /machine-config.
    * The logging system can be configured through the API using a PUT on /logger.
    * Block devices support live resize by calling PUT with the same parameters as when the block was created.
    * Release builds have Link Time Optimization (LTO) enabled.
    * Firecracker is built with musl, resulting in a statically linked binary.
    * More in-tree integration tests were added as part of the continuous integration system.
    
    Changed
    
    * The vcpu count is enforced to 1 or an even number.
    * The Swagger definition of rate limiters was updated.
    * Syslog-enabled logs were replaced with a hostfile backed mechanism.
    
    Fixed
    
    * The host topology of the CPU and the caches is not leaked into the microvm anymore.
    * Boot time was improved by advertising the availability of the TSC deadline timer.
    * Fixed an issue which prevented Firecracker from working on 4.14 (or newer) host kernels.
    * Specifying the MAC address for an interface through the API is optional.
    
    Removed
    
    * Removed support for attaching vsock devices.
    * Removed support for building Firecracker with glibc.
  • v0.2.0
  • v0.1.1
    [0.1.1]
    
    Changed:
    
    * Users can now specify the MAC address of a guest network interface via the
    PUT network interface API request. Previously, the guest MAC address
    parameter was ignored.
    
    Fixed:
    
    * Fixed a guest memory allocation issue, which previously led to a
    potentially significant memory chunk being wasted.
    * Fixed an issue which caused compilation problems, due to a compatibility
    breaking transitive dependency in the tokio suite of crates.
  • v0.1.0