82 lines
3.7 KiB
TOML
82 lines
3.7 KiB
TOML
# commit to be tagged for new release
|
|
commit = "HEAD"
|
|
|
|
project_name = "containerd"
|
|
github_repo = "containerd/containerd"
|
|
|
|
# previous release
|
|
previous = "v1.0.0-beta.3"
|
|
|
|
pre_release = true
|
|
|
|
preface = """\
|
|
The final 1.0 release stretch has been reached after 7 alphas and 4 betas full
|
|
of stability fixes, hardening, and API improvements. This release candidate
|
|
continues that pattern in including stability fixes, usability improvements and
|
|
performance optimizations.
|
|
|
|
As part of the preparation for supporting the release of Containerd 1.0, the
|
|
governance model has been updated. The same as in previous versions, the day to
|
|
day management of the project is taken care of by the maintainers. The roles
|
|
of chief maintainer and BDFL have been removed and a technical steering
|
|
committee has been added as an escalation point when consensus cannot be reached
|
|
among maintainers. See https://github.com/moby/tsc."""
|
|
|
|
# notable prs to include in the release notes, 1234 is the pr number
|
|
[notes]
|
|
|
|
[notes.ctr]
|
|
title= "Shim Memory Improvements"
|
|
description = """\
|
|
The shim memory usage has been identified as a key component to optimize. The
|
|
shim gets run for every container making memory usage multiplied by the
|
|
number of containers on a machine, requiring lower memory usage in order to
|
|
increase density.
|
|
|
|
In profiling the memory usage of the shim, it was discovered that the HTTP2
|
|
and GRPC stacks were accounting for a majority of the usage. Since the RPC
|
|
requests to the shim are fairly simple and there is no need for handling many
|
|
clients, a simpler protocol is now used with much less overhead. In order to
|
|
avoid changing the client or server code, ttrpc is used to generate code
|
|
similar to GRPC using the same protocol definitions, but using the lighter
|
|
weight protocol. This had the effect of drastically reducing the memory
|
|
usage of the shim.
|
|
|
|
Memory improvements over beta 2...
|
|
```
|
|
RSS CMD
|
|
3644 containerd-shim -namespace default -workdir /var/lib/containerd/io.containerd.runtime.v1.linux/default/test10 -address /run/containerd/containerd.sock -containerd-binary /usr/local/bin/containerd -debug
|
|
15320 docker-containerd-shim --namespace moby --workdir /var/lib/docker/containerd/daemon/io.containerd.runtime.v1.linux/moby/ffa219303c1419b179393a1123f176bb4268337432b0ca7945bc7ac66db73cad --address /var/run/docker/containerd/docker-containerd.sock --runtime-root /var/run/docker/
|
|
```
|
|
|
|
See [ttrpc repository](https://github.com/stevvooe/ttrpc) for implementation."""
|
|
|
|
[notes.gc]
|
|
title= "Garbage Collector Improvements"
|
|
description = """\
|
|
Garbage collection is now scheduled by a background process which watches
|
|
changes and tracks the amount of time garbage collection is taking. It is able
|
|
to use that information to schedule garbage collection based on configuration
|
|
options. The default configuration option aims to limit the amount of time the
|
|
metadata store is locked for garbage collection to 20ms of every second.
|
|
|
|
Additionally image removal now has an option to synchronously cleanup all
|
|
referenced resources (such as snapshots). This option immediately schedules a
|
|
garbage collection and waits for it to complete before returning to the client.
|
|
Since the time to remove a snapshot depends on the size of the snapshot, the
|
|
time to synchronously remove an image cannot be consistent. For faster and
|
|
more consistent removals, images should be deleted asynchronously whenever
|
|
possible. Asynchronous remains the default."""
|
|
|
|
|
|
[breaking]
|
|
[breaking.api]
|
|
pr = 1797
|
|
description = "The snapshots GRPC service was renamed from snapshot."
|
|
|
|
[breaking.shim]
|
|
pr = 1767
|
|
description = """\
|
|
The shim protocol has changed to use ttrpc. The new protocol does not use
|
|
http2 and is not compatible with previous shim versions using grpc."""
|