Commit Graph

10081 Commits

Author SHA1 Message Date
Jayme Howard
ce437864b2 mergo: Upgrade to 0.3.12 to fix panic
Signed-off-by: Jayme Howard <g.prime@gmail.com>

Run `go mod tidy`

Signed-off-by: Jayme Howard <g.prime@gmail.com>

Follow correct procedure by running `make vendor`

Signed-off-by: Jayme Howard <g.prime@gmail.com>
2021-07-29 12:20:09 -05:00
Maksym Pavlenko
4282ec12cd
Merge pull request #5802 from rst0git/ci-criu-ppa
ci: install criu from PPA
2021-07-29 10:06:18 -07:00
Radostin Stoyanov
d1e868c832
ci: install criu from PPA
The current latest version of CRIU is 3.15 and soon will be released
3.16. If CRIU is installed from PPA it would always test with the
latest released version.

Signed-off-by: Radostin Stoyanov <rstoyanov@fedoraproject.org>
2021-07-29 07:03:59 +01:00
Derek McGowan
5d3e8fd2c0
Merge pull request #5144 from devholic/release-non-cni-version
Update release workflow to upload binary without CNI
2021-07-28 23:03:19 -07:00
Derek McGowan
a3e431ad41
Merge pull request #5725 from adelina-t/enable_critest
Enable critest on Windows Periodic Jobs
2021-07-28 23:01:45 -07:00
Derek McGowan
2b9f8334c6
Merge pull request #5792 from dims/script-to-check-if-entries-in-go.mod-files-are-in-sync
Script to check if entries in go.mod files are in sync
2021-07-28 17:55:49 -07:00
Derek McGowan
fb589a7133
Merge pull request #5043 from IRCody/shared_namespace
Add a sharedNamespace label
2021-07-28 17:01:24 -07:00
Derek McGowan
9eb08bf8e5
Merge pull request #5784 from thaJeztah/update_goos_list
platforms: add "ios" as known OS, "loong64" as known ARCH
2021-07-28 16:39:07 -07:00
Phil Estes
1dadd6a1d2
Merge pull request #5804 from IRCody/proto-download
Updates the location of protobuf downloads
2021-07-28 12:01:32 -07:00
Cody Roseborough
e692a01926 Add shared content label to namespaces
Adds shared content labels to namespaces allowing content to be shared
between namespaces if that namespace is specifically tagged as being
sharable by adding the `containerd.io/namespace/sharable` label to the
namespace.

Signed-off-by: Cody Roseborough <cdr@amazon.com>
2021-07-28 18:49:32 +00:00
Cody Roseborough
3a8622e309 Updates the location of protobuf downloads in docs
Signed-off-by: Cody Roseborough <cdr@amazon.com>
2021-07-28 17:40:34 +00:00
Phil Estes
c4664bdac6
Merge pull request #5803 from dmcgowan/fix-protobuf-install
Update protobuf install to use correct repository
2021-07-28 10:38:04 -07:00
Derek McGowan
0d93936507
Update protobuf install to use correct repository
The protobuf repository is under the protocolbuffers org

Signed-off-by: Derek McGowan <derek@mcg.dev>
2021-07-28 09:51:27 -07:00
Sunghoon Kang
d62d6c11dc
Split release steps into multiple tasks
Signed-off-by: Sunghoon Kang <hoon@linecorp.com>
2021-07-28 18:42:54 +09:00
Sunghoon Kang
b4807122d2
Update release workflow to upload binary without CNI
Unlike [containerd/cri](https://github.com/containerd/cri) releases
(https://storage.googleapis.com/cri-containerd-release),
current release workflow doesn't publish binaries without CNI.

Signed-off-by: Sunghoon Kang <hoon@linecorp.com>
2021-07-28 16:56:37 +09:00
Fu Wei
5280530a0d
Merge pull request #5624 from ktock/overlayupper 2021-07-28 13:20:23 +08:00
ktock
67406b3732 overlay: add an optional label of upperdir location of each snapshot
Signed-off-by: Kohei Tokunaga <ktokunaga.mail@gmail.com>
2021-07-28 09:52:51 +09:00
Davanum Srinivas
43117cf919
Script to check if entries in go.mod files are in sync
- ensure that the root go.mod and the module specific go.mod have the
  same `require` and `replace` directives for different dependencies.

Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2021-07-27 17:52:32 -04:00
Derek McGowan
caf9e256b7
Merge pull request #5693 from kzys/sigrtmin
Support SIGRTMIN+n signals
2021-07-27 11:58:57 -07:00
Maksym Pavlenko
742ffadfbd
Merge pull request #5800 from zhuangqh/binarycall-timeout
respect context timeout in shim binary call
2021-07-27 09:59:56 -07:00
Derek McGowan
6d31cdda50
Merge pull request #5716 from dims/add-new-go-module-for-api-directory
Introduce a new go module - containerd/api for use in standalone clients
2021-07-27 09:37:10 -07:00
fupan.lfp
4ab3e7a53a runtime: fix the issue of create new socket with abstract address
For the abstract socket adress there's no need to chmod
the address's file, cause the file didn't exist actually.

Signed-off-by: Fupan Li <fupan.lfp@antgroup.com>
2021-07-27 23:24:26 +08:00
AdamKorcz
cc88f8e0ae Split fuzzer to two fuzzers
Signed-off-by: AdamKorcz <adam@adalogics.com>
2021-07-27 15:32:22 +01:00
jerryzhuang
7a10fd4fcc respect context timeout in shim binary call
Signed-off-by: jerryzhuang <zhuangqhc@gmail.com>
2021-07-27 22:28:05 +08:00
Adelina Tuvenie
23bc3db914 Enable critest on Windows
Signed-off-by: Adelina Tuvenie <atuvenie@cloudbasesolutions.com>
2021-07-27 16:35:38 +03:00
Davanum Srinivas
494b940f14
Introduce a new go module - containerd/api for use in standalone clients
In containerd 1.5.x, we introduced support for go modules by adding a
go.mod file in the root directory. This go.mod lists all the things
needed across the whole code base (with the exception of
integration/client which has its own go.mod). So when projects that
need to make calls to containerd API will pull in some code from
containerd/containerd, the `go mod` commands will add all the things
listed in the root go.mod to the projects go.mod file. This causes
some problems as the list of things needed to make a simple API call
is enormous. in effect, making a API call will pull everything that a
typical server needs as well as the root go.mod is all encompassing.
In general if we had smaller things folks could use, that will make it
easier by reducing the number of things that will end up in a consumers
go.mod file.

Now coming to a specific problem, the root containerd go.mod has various
k8s.io/* modules listed. Also kubernetes depends on containerd indirectly
via both moby/moby (working with docker maintainers seperately) and via
google/cadvisor. So when the kubernetes maintainers try to use latest
1.5.x containerd, they will see the kubernetes go.mod ending up depending
on the older version of kubernetes!

So if we can expose just the minimum things needed to make a client API
call then projects like cadvisor can adopt that instead of pulling in
the entire go.mod from containerd. Looking at the existing code in
cadvisor the minimum things needed would be the api/ directory from
containerd. Please see proof of concept here:
github.com/google/cadvisor/pull/2908

To enable that, in this PR, we add a go.mod file in api/ directory. we
split the Protobuild.yaml into two, one for just the things in api/
directory and the rest in the root directory. We adjust various targets
to build things correctly using `protobuild` and also ensure that we
end up with the same generated code as before as well. To ensure we
better take care of the various go.mod/go.sum files, we update the
existing `make vendor` and also add a new `make verify-vendor` that one
can run locally as well in the CI.

Ideally, we would have a `containerd/client` either as a standalone repo
or within `containerd/containerd` as a separate go module. but we will
start here to experiment with a standalone api go module first.

Also there are various follow ups we can do, for example @thaJeztah has
identified two tasks we could do after this PR lands:

github.com/containerd/containerd/pull/5716#discussion_r668821396

Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2021-07-27 07:34:59 -04:00
Maksym Pavlenko
158901756c
Merge pull request #5606 from zwtop/master
grpc config add options tcp_client_ca_cert
2021-07-26 20:57:29 -07:00
Derek McGowan
b5b5dcc273
Merge pull request #5162 from claudiubelu/integration-test-images
integration: Windows volume-copy-up images
2021-07-26 17:29:40 -07:00
Maksym Pavlenko
ce3d6e9bfc
Merge pull request #5795 from mikebrow/cri-support-metrics
add CRI support matrix to RELEASES.md
2021-07-26 16:36:40 -07:00
Maksym Pavlenko
0def98e462
Merge pull request #5794 from mikebrow/clarify-host-docs
adding a little more clarity
2021-07-26 16:03:33 -07:00
Mike Brown
4fdb884644 add CRI support matrix to RELEASES.md
Signed-off-by: Mike Brown <brownwm@us.ibm.com>
2021-07-26 15:48:20 -05:00
Mike Brown
b5fc7846c4 adding a little more clarity
Signed-off-by: Mike Brown <brownwm@us.ibm.com>
2021-07-26 14:55:44 -05:00
Maksym Pavlenko
3a503acd50
Merge pull request #5793 from thaJeztah/gotestsum_1.7
update gotestsum to v1.7.0
2021-07-26 12:43:08 -07:00
Kazuyoshi Kato
1d3d08026d Support SIGRTMIN+n signals
systemd uses SIGRTMIN+n signals, but containerd didn't support the signals
since Go's sys/unix doesn't support them.

This change introduces SIGRTMIN+n handling by utilizing moby/sys/signal.

Fixes #5402.

https://www.freedesktop.org/software/systemd/man/systemd.html#Signals

Signed-off-by: Kazuyoshi Kato <katokazu@amazon.com>
2021-07-26 09:36:43 -07:00
Sebastiaan van Stijn
18d6cc1b06
update gotestsum to v1.7.0
Same as previous commit, but a release was tagged;

1a94380793...v1.7.0

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-07-26 13:13:17 +02:00
Derek McGowan
3b7a3d599b
Merge pull request #5756 from Kern--/discard-blocks
Discard blocks when removing a thin device
2021-07-23 14:52:15 -07:00
Derek McGowan
f6fa3fdd7b
Merge pull request #5590 from oss-qm/submit/makefile-tags
Makefile: fix passing build tags
2021-07-23 14:47:55 -07:00
Maksym Pavlenko
559f9a5b90
Merge pull request #5744 from mxpv/metrics
Add runtime label to metrics
2021-07-23 12:24:32 -07:00
Maksym Pavlenko
ee3272e9cf
Merge pull request #5745 from yylt/check
interface about shim build check
2021-07-23 10:09:44 -07:00
Maksym Pavlenko
c3f1f0e5ee
Merge pull request #5775 from kzys/pid-order
integration: log all processes to investigate the test failure
2021-07-23 10:09:04 -07:00
Maksym Pavlenko
efa8ab7158 Add runtime label to metrics
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2021-07-23 10:04:46 -07:00
AdamKorcz
6294235d81 Fuzzing: Add container fuzzer
Signed-off-by: AdamKorcz <adam@adalogics.com>
2021-07-23 13:01:29 +01:00
Sebastiaan van Stijn
2405671d40
platforms: add "ios" as known OS, "loong64" as known ARCH
- GOOS iOS was added in https://go-review.googlesource.com/c/go/+/254740, and part of go1.16beta1
- GOARCH loong64 was added in https://go-review.googlesource.com/c/go/+/333909, and currently only in master

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-07-23 10:56:08 +02:00
Fu Wei
a963242f78
Merge pull request #5779 from AdamKorcz/fuzz4 2021-07-23 09:28:17 +08:00
AdamKorcz
2556aac675 Fuzzing: Add archive fuzzer
Signed-off-by: AdamKorcz <adam@adalogics.com>
2021-07-22 16:39:27 +01:00
yylt
0d45ac14e9 interface about shim build check
Signed-off-by: Yang Yang <yang8518296@163.com>
2021-07-22 09:03:12 +08:00
Kazuyoshi Kato
00d52bb159 integration: log all processes to investigate the test failure
The test is failing on
https://github.com/containerd/containerd/runs/3129202049#step:10:43.

I'd like to know whether the order of the array is the cause, or
the result is completely off.

Signed-off-by: Kazuyoshi Kato <katokazu@amazon.com>
2021-07-21 16:54:04 -07:00
Fu Wei
a137b64f50
Merge pull request #5687 from AdamKorcz/fuzz3 2021-07-22 07:28:48 +08:00
Derek McGowan
ee27cde735
Merge pull request #5735 from ktock/diffcompression
Support custom compressor for walking differ
2021-07-21 09:06:46 -07:00
Kern Walster
f1d79d33b8 Discard blocks when removing a thin device
dmsetup does not discard blocks when removing a thin device. The unused blocks
are reused by the thin-pool, but will remain allocated in the underlying
device indefinitely. For loop device backed thin-pools, this results in
"lost" disk space in the underlying file system as the blocks remain allocated
in the loop device's backing file.

This change adds an option, discard_blocks, to the devmapper snapshotter which
causes the snapshotter to issue blkdiscard ioctls on the thin device before
removal. With this option enabled, loop device setups will see disk space
return to the underlying filesystem immediately on exiting a container.

Fixes #5691

Signed-off-by: Kern Walster <walster@amazon.com>
2021-07-21 16:06:29 +00:00