-
Notifications
You must be signed in to change notification settings - Fork 949
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIP] Upgrade to containerd v1.2 #2530
Conversation
using following commands: govendor fetch github.com/containerd/containerd/...@v1.2.0 govendor fetch github.com/gogo/protobuf/...@v1.0.0 govendor fetch github.com/gogo/googleapis/...@08a7655d27152912db7aaf4f983275eaf8d128ef govendor fetch google.golang.org/grpc/...@v1.12.0 govendor fetch github.com/golang/protobuf/...@v1.1.0 Signed-off-by: Wei Fu <fuweid89@gmail.com>
Codecov Report
@@ Coverage Diff @@
## master #2530 +/- ##
=========================================
Coverage ? 54.87%
=========================================
Files ? 277
Lines ? 18426
Branches ? 0
=========================================
Hits ? 10112
Misses ? 7054
Partials ? 1260
|
the first commit is for vendor update and the second one is for code change. hope it can help. |
The containerd has been improved a lot in v1.2, which makes the service stable before. Based on this, we need to do the upgrade. Basically, both the contaienrd and shim API interfaces are stable so that we don't need to worry about the remote API calls. However, the package level interface has been changed a lot. The commit is used to align with containerd@v1.2.0. 1. events part: using exchange event helper instead of raw grpc conn 2. image part: a. import: new Import interface makes the import easier without Importer. b. commit: content helper has been upgraded with less arguments for caller. and `diff` package separates the Applier and Comparer interfaces. The changes can make the code clear in PouchContainer 3. lease: containerd client doesn't provide ListLeases interface directly. PouchContainer needs to get LeasesService and make the call by itself. 4. container IO: remove codes which comes from containerd. The code was used to align with containerd v1.2, which can make upgrade work easier. For now, we can remove this. Signed-off-by: Wei Fu <fuweid89@gmail.com>
still investigate the failed cases about load/save functionality. It seems that the containerd export functionality doesn't support the image which has several manifests. |
Hold this pr |
ping @fuweid |
close it and re-create other one |
Ⅰ. Describe what this PR did
The containerd has been improved a lot in v1.2, which makes the service
stable than before. Based on this, we need to do the upgrade.
Basically, both the contaienrd and shim API interfaces are stable so
that we don't need to worry about the remote API calls. However, the
package level interface has been changed a lot. The commit is used to
align with containerd@v1.2.0.
I also use subshell to run the
integration::ping_pouchd
command so that the error log can show up in CI.Ⅱ. Does this pull request fix one issue?
NONE
Ⅲ. Why don't you add test cases (unit test/integration test)? (你真的觉得不需要加测试吗?)
no need
Ⅳ. Describe how to verify it
use existing CI testing case
Ⅴ. Special notes for reviews
I separate the change into two commits because the vendor change is too big.
There are somethings need to do after this PR, for example, it is time to remove the ctrd/wrapper_client.go because the grpc has been updated and it can support the defaultMaxStreamsClient
related to containerd/containerd#2862