Files
kata-containers/versions.yaml
Jose Carlos Venegas Munoz 89836cd31a versions: cloud-hypervisor 0.9.0
[ Port from runtime commit 0dcbbd8dc113878c2aa8c78b5300e4853a7e64be ]

Highlights for cloud-hypervisor version 0.9.0 include:
virtiofs updates to new dax implementation based in qemu 5.0
Fixed random issues caused due to seccomp filters

io_uring Based Block Device Support

If the io_uring feature is enabled and the host kernel supports it then io_uring will be used for block devices. This results a very significant performance improvement.
Block and Network Device Statistics

Statistics for activity of the virtio network and block devices is now exposed through a new vm.counters HTTP API entry point. These take the form of simple counters which can be used to observe the activity of the VM.
HTTP API Responses

The HTTP API for adding devices now responds with the name that was assigned to the device as well the PCI BDF.
CPU Topology

A topology parameter has been added to --cpus which allows the configuration of the guest CPU topology allowing the user to specify the numbers of sockets, packages per socket, cores per package and threads per core.
Release Build Optimization

Our release build is now built with LTO (Link Time Optimization) which results in a ~20% reduction in the binary size.
Hypervisor Abstraction

A new abstraction has been introduced, in the form of a hypervisor crate so as to enable the support of additional hypervisors beyond KVM.
Snapshot/Restore Improvements

Multiple improvements have been made to the VM snapshot/restore support that was added in the last release. This includes persisting more vCPU state and in particular preserving the guest paravirtualized clock in order to avoid vCPU hangs inside the guest when running with multiple vCPUs.
Virtio Memory Ballooning Support

A virtio-balloon device has been added, controlled through the resize control, which allows the reclamation of host memory by resizing a memory balloon inside the guest.
Enhancements to ARM64 Support

The ARM64 support introduced in the last release has been further enhanced with support for using PCI for exposing devices into the guest as well as multiple bug fixes. It also now supports using an initramfs when booting.
Intel SGX Support

The guest can now use Intel SGX if the host supports it. Details can be found in the dedicated SGX documentation.
Seccomp Sandbox Improvements

The most frequently used virtio devices are now isolated with their own seccomp filters. It is also now possible to pass --seccomp=log which result in the logging of requests that would have otherwise been denied to further aid development.
Notable Bug Fixes

    Our virtio-vsock implementation has been resynced with the implementation from Firecracker and includes multiple bug fixes.
    CPU hotplug has been fixed so that it is now possible to add, remove, and re-add vCPUs (#1338)
    A workaround is now in place for when KVM reports MSRs available MSRs that are in fact unreadable preventing snapshot/restore from working correctly (#1543).
    virtio-mmio based devices are now more widely tested (#275).
    Multiple issues have been fixed with virtio device configuration (#1217)
    Console input was wrongly consumed by both virtio-console and the serial. (#1521)

Fixes: #461

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
Signed-off-by: Bo Chen <chen.bo@intel.com>
2020-08-20 14:00:11 -07:00

314 lines
9.6 KiB
YAML

#
# Copyright (c) 2018 Intel Corporation
#
# SPDX-License-Identifier: Apache-2.0
#
---
description: |
This file contains version details that are used by various
repositories for setting up the correct environment to run
tests and package components.
format: |
Each entry in this file MUST conform to the following format:
<group>:
description: "<brief-description>"
notes: "<notes>"
<project>:
description: "<brief-description>"
notes: "<notes>"
url: "<project-url>"
issue: "<bug-url>"
commit: "<commit>"
version: "<version>"
uscan-opts: "<optional uscan options>"
uscan-url: "<url regex for uscan to list versions>"
release: "<version>"
branch: "<git-branch>"
meta:
<key-1>: "<value-1>"
<key-n>: "<value-n>"
Notes:
- All sections (except "meta") MUST include a description where
applicable. This is expected to be a brief summary.
- A section MAY specify a "notes" section which may be multi-line.
It is expected to be expand on the information specified in
"description".
- All sections (except "meta") MUST include a URL where applicable.
- A section MAY specify a bug URL using the "issue" field.
- A section MAY define a "meta" section to store additional
information about a project or group.
- Each entry MUST specify ATLEAST one of "commit", "version", "release"
and "branch".
- WARNING: Gotcha alert! Remember to double-quote all strings
(except multi-line strings)! This avoids the possibility of a
version containing a period being treated as a floating point
number (and truncated!)
- NOTE: For the uscan related entries, refer to the following uscan pages:
https://manpages.debian.org/stretch/devscripts/uscan.1.en.html
https://wiki.debian.org/debian/watch
Particularly note the 'Common mistakes' section.
Also note, if you place the uscan strings on single lines in this file then
'\'s need to be '\'d, so are replaced with '\\', but this does not apply
for '>-' multi line entries, which can then use the normal uscan syntax.
assets:
description: "Additional required system elements"
hypervisor:
description: "Component used to create virtual machines"
cloud_hypervisor:
description: "Cloud Hypervisor is an open source Virtual Machine Monitor"
url: "https://github.com/cloud-hypervisor/cloud-hypervisor"
uscan-url: >-
https://github.com/cloud-hypervisor/cloud-hypervisor/tags.*/v?(\d\S+)\.tar\.gz
version: "v0.9.0"
firecracker:
description: "Firecracker micro-VMM"
url: "https://github.com/firecracker-microvm/firecracker"
uscan-url: >-
https://github.com/firecracker-microvm/firecracker/tags
.*/v?(\d\S+)\.tar\.gz
version: "v0.21.1"
qemu:
description: "VMM that uses KVM"
url: "https://github.com/qemu/qemu"
version: "5.0.0"
tag: "v5.0.0"
# Do not include any non-full release versions
# Break the line *without CR or space being appended*, to appease
# yamllint, and note the deliberate ' ' at the end of the expression.
uscan-opts: "opts=uversionmangle=s/(\\d)[_\\.\\-\\+]?\
((RC|rc|pre|dev|beta|alpha)\\d*)$/$1~$2/ "
uscan-url: >-
https://github.com/qemu/qemu/tags
.*/v?(\d\S+)\.tar\.gz
architecture:
aarch64:
version: "stable-2.11"
branch: "master"
tag: "v3.1.0-rc2"
commit: "47c1cc30e440860aa695358f7c2dd0b9d7b53d16"
qemu-experimental:
description: "QEMU with virtiofs support"
url: "https://gitlab.com/virtio-fs/qemu.git"
tag: "qemu5.0-virtiofs-with51bits-dax"
image:
description: |
Root filesystem disk image used to boot the guest virtual
machine.
url: "https://github.com/kata-containers/osbuilder"
architecture:
aarch64:
name: "ubuntu"
version: "latest"
ppc64le:
name: "centos"
version: "latest"
s390x:
name: "ubuntu"
version: "latest"
x86_64:
name: &default-image-name "clearlinux"
version: "latest"
meta:
image-type: *default-image-name
initrd:
description: |
Root filesystem initrd used to boot the guest virtual
machine.
url: "https://github.com/kata-containers/osbuilder"
architecture:
aarch64:
name: &default-initrd-name "alpine"
version: &default-initrd-version "3.7"
ppc64le:
name: *default-initrd-name
version: *default-initrd-version
s390x:
name: *default-initrd-name
version: *default-initrd-version
x86_64:
name: *default-initrd-name
version: *default-initrd-version
kernel:
description: "Linux kernel optimised for virtual machines"
url: "https://cdn.kernel.org/pub/linux/kernel/v4.x/"
uscan-url: >-
https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-(5\.4\..+)\.tar\.gz
version: "v5.4.32"
kernel-experimental:
description: "Linux kernel with virtio-fs support"
url: "https://gitlab.com/virtio-fs/linux.git"
tag: "kata-v5.6-april-09-2020"
components:
description: "Core system functionality"
agent:
description: |
Container management service running in the guest virtual machines
root context.
url: "https://github.com/kata-containers/agent"
commit: "6f6e9ecd8aded0783c31968b304a9d6589114363"
externals:
description: "Third-party projects used by the system"
cni-plugins:
description: "CNI network plugins"
url: "https://github.com/containernetworking/plugins"
commit: "485be65581341430f9106a194a98f0f2412245fb"
conmon:
description: "An OCI container runtime monitor"
url: "https://github.com/containers/conmon"
version: "v2.0.5"
crio:
description: |
OCI-based Kubernetes Container Runtime Interface implementation
url: "https://github.com/cri-o/cri-o"
version: "0eec454168e381e460b3d6de07bf50bfd9b0d082"
meta:
openshift: "6273bea4c9ed788aeb3d051ebf2d030060c05b6c"
crictl: 1.0.0-beta.2
cri-containerd:
description: |
Containerd Plugin for Kubernetes Container Runtime Interface.
url: "github.com/containerd/cri"
tarball_url: "https://storage.googleapis.com/cri-containerd-release"
# Next commit from 1.3 branch contains fix to be able to run
# tests using go 1.13
version: "3a4acfbc99aa976849f51a8edd4af20ead51d8d7"
critools:
description: "CLI tool for Container Runtime Interface (CRI)"
url: "https://github.com/kubernetes-sigs/cri-tools"
version: "1.17.0"
docker:
description: "Moby project container manager"
notes: "Docker Swarm requires an older version of Docker."
url: "https://github.com/moby/moby"
version: "v18.06-ce"
meta:
swarm-version: "1.12.1"
kubernetes:
description: "Kubernetes project container manager"
url: "https://github.com/kubernetes/kubernetes"
# regexp formed to match 'd.tar.gz', deliberately to not match any alpha or
# beta type releases
uscan-url: >-
https://github.com/kubernetes/kubernetes/tags
.*/v?([\d\.]+)\.tar\.gz
version: "1.17.3-00"
openshift:
description: |
Distribution of Kubernetes optimized for continuous application
development and multi-tenant deployment.
url: "https://github.com/openshift/origin"
uscan-url: >-
https://github.com/openshift/origin/tags
.*/v?([\d\.]+)\.tar\.gz
version: "v3.10.0"
commit: "dd10d17"
runc:
description: "OCI CLI reference runtime implementation"
url: "https://github.com/opencontainers/runc"
# Oddly, here we do want rc versions, as there appears to be little else
# really for runc.
uscan-url: >-
https://github.com/opencontainers/runc/tags
.*/v?(\d\S+)\.tar\.gz
version: "v1.0.0-rc5"
cmake:
description: |
Build system, to build grpc-rs.
url: "https://github.com/Kitware/CMake"
uscan-url: >-
https://github.com/Kitware/CMake/releases/download/
v?([\d\.]+)/cmake-([\d\.]+)\.tar\.gz
version: "3.15.3"
meta:
description: |
'newest-version' is the latest version known to work.
newest-version: "3.15.3"
musl:
description: |
The musl library is used to build the rust agent.
url: "https://www.musl-libc.org/"
uscan-url: >-
https://www.musl-libc.org/releases/
musl-([\d\.]+)\.tar\.gz
version: "1.1.23"
meta:
description: |
'newest-version' is the latest version known to work.
newest-version: "1.1.23"
languages:
description: |
Details of programming languages required to build system
components.
golang:
description: "Google's 'go' language"
notes: "'version' is the default minimum version used by this project."
issue: "https://github.com/golang/go/issues/20676"
uscan-url: >-
https://github.com/golang/go/tags .*/go?([\d\.]+)\.tar\.gz
version: "1.11.10"
meta:
description: |
'newest-version' is the latest version known to work when
building Kata
newest-version: "1.14.4"
rust:
description: "Rust language"
notes: "'version' is the default minimum version used by this project."
version: "1.38.0"
meta:
description: |
'newest-version' is the latest version known to work when
building Kata
newest-version: "1.44.1"
specs:
description: "Details of important specifications"
oci:
description: "Open Containers Initiative runtime specification"
url: "https://github.com/opencontainers/runtime-spec/releases"
uscan-url: >-
https://github.com/opencontainers/runtime-spec/tags
.*/v?(\d\S+)\.tar\.gz
version: "v1.0.0-rc5"