Skip to content
This repository has been archived by the owner on Oct 13, 2023. It is now read-only.

[18.09 backport] Update containerd to v1.2.1-rc.0 #121

Merged

Conversation

thaJeztah
Copy link
Member

@thaJeztah thaJeztah commented Nov 21, 2018

backport of

moby#38245 Update containerd to v1.2.1-rc.0 for 18.09

which depends on

which depends on:

which depends on;

which depends on;

Also depends on;

So, I built this on top of #115, then cherry-picked moby#3792 and moby#38213, then continued with moby#38168 and moby#38245

Changes from #106

# https://github.com/moby/moby/pull/37999
git cherry-pick -s -S -x bde99960657818efabf313991867c42921882275
git cherry-pick -s -S -x d03ab106624ebc30b69080d0092702ad1fe1285c

# https://github.com/moby/moby/pull/38048
git cherry-pick -s -S -x 275044bbc374b563a2039229660df58a75bdc9f3

# https://github.com/moby/moby/pull/38145
git cherry-pick -s -S -x dd7799afd40b74e538af01fc658c861d225a4b82

Changes from #115

git cherry-pick -s -S -x 335736fb0167a31a00cf2967c181a565c61334be
git cherry-pick -s -S -x 8972aa9350d52e4a7e58242447b7a9d2f0c27f37

Changes from #65

# https://github.com/moby/moby/pull/37925
git cherry-pick -s -S -x b3c3c7a5a310ba340f1a86a4a708de34b9602e74

Changes added in this PR (:tada:)

# https://github.com/moby/moby/pull/38213
git cherry-pick -s -S -x da3810d235bc0bd0197243d0128f258394554704

# https://github.com/moby/moby/pull/38168 (includes https://github.com/moby/moby/pull/38062)
git cherry-pick -s -S -x 8674930c84140c990451adb148165422d008b661
git cherry-pick -s -S -x fc0038a3edd518b7a4de7a8168d4888b08130c28
git cherry-pick -s -S -x 7af4c904b31887e28776cd514e0b8cf8c0261310
git cherry-pick -s -S -x d13528c6350a4b359a7b8dc9a8a7bcba12a3c1a8

# https://github.com/moby/moby/pull/38245
git cherry-pick -s -S -x 2fb5de68a9bd05b1dbf3ae3f7ae82bcd5e64dc5c

cherry-pick was clean

John Howard and others added 13 commits November 6, 2018 11:03
Signed-off-by: John Howard <jhoward@microsoft.com>

This removes the need for an SVM in the LCOW driver to ApplyDiff.

This change relates to a fix for moby#36353

However, it found another issue, tracked by moby#37955

(cherry picked from commit bde9996)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Signed-off-by: John Howard <jhoward@microsoft.com>
(cherry picked from commit d03ab10)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Changes: opencontainers/runc@69663f0...a00bf01

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
(cherry picked from commit 275044b)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit dd7799a)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Changes: opencontainers/runc@a00bf01...9f1e944

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
(cherry picked from commit 335736f)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
In case we're running on RHEL7 kernel, which has non-working
and broken kernel memory controller, add 'nokmem' build tag
so that runc never enables kmem accounting.

For more info, see the following runc commit:
opencontainers/runc@6a2c1559684

This behavior can be overriden by having `RUNC_NOKMEM` environment
variable set (e.g. to empty value to disable setting nokmem).

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
(cherry picked from commit 8972aa9)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Fixes a potential content store bug, backported from 1.2

- v1.1.3 release notes: https://github.com/containerd/containerd/releases/tag/v1.1.3
- v1.1.4 release notes: https://github.com/containerd/containerd/releases/tag/v1.1.4

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit b3c3c7a)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Containerd should be "leading" when specifying which version of runc to use.
From the RUNC.MD document in the containerd repository
(https://github.com/containerd/containerd/blob/b1e202c32724e82779544365528a1a082
b335553/RUNC.md);

> We depend on a specific runc version when dealing with advanced features. You
> should have a specific runc build for development. The current supported runc
> commit is described in vendor.conf. Please refer to the line that starts with
> github.com/opencontainers/runc.

This patch adds a note to vendor.conf and runc.installer to describe the order
in which runc should be updated.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit da3810d)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
release notes: https://github.com/containerd/containerd/releases/tag/v1.2.0

- New V2 Runtime with a stable gRPC interface for managing containers through
  external shims.
- Updated CRI Plugin, validated against Kubernetes v1.11 and v1.12, but it is
  also compatible with Kubernetes v1.10.
- Support for Kubernetes Runtime Class, introduced in Kubernetes 1.12
- A new proxy plugin configuration has been added to allow external
  snapshotters be connected to containerd using gRPC.-
- A new Install method on the containerd client allows users to publish host
  level binaries using standard container build tooling and container
  distribution tooling to download containerd related binaries on their systems.
- Add support for cleaning up leases and content ingests to garbage collections.
- Improved multi-arch image support using more precise matching and ranking
- Added a runtime `options` field for shim v2 runtime. Use the `options` field to
  config runtime specific options, e.g. `NoPivotRoot` and `SystemdCgroup` for
  runtime type `io.containerd.runc.v1`.
- Some Minor API additions
  - Add `ListStream` method to containers API. This allows listing a larger
    number of containers without hitting message size limts.
  - Add `Sync` flag to `Delete` in leases API. Setting this option will ensure
    a garbage collection completes before the removal call is returned. This can
    be used to guarantee unreferenced objects are removed from disk after a lease.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit 8674930)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit fc0038a)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit 7af4c90)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
(cherry picked from commit d13528c)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
The previous update used a commit from master. Now that
all the fixes are backported to the containerd 1.2 release
branch, we can switch back to that branch.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit 2fb5de6)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
@thaJeztah thaJeztah added this to the 18.09.1 milestone Nov 21, 2018
@dmcgowan
Copy link

LGTM

Copy link

@andrewhsu andrewhsu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM wrt to getting kmem fix in

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants