Commit Graph

9504 Commits

Author SHA1 Message Date
Derek McGowan
6f027e38a8
Remove redundant build tags
Remove build tags which are already implied by the name of the file.
Ensures build tags are used consistently

Signed-off-by: Derek McGowan <derek@mcg.dev>
2021-08-05 22:27:46 -07:00
Derek McGowan
b43d9502c2
Merge pull request #5830 from mxpv/darwin
Change default directories on Darwin
2021-08-05 21:47:00 -07:00
Phil Estes
5b76d08f4c
Merge pull request #5731 from alakesh/opentelemetry-basic
[otel-tracing] Initial opentelemetry support
2021-08-05 21:58:14 -04:00
Alakesh Haloi
3c5424454b [otel-tracing] vendor and go modules changes
This tracks all the vendor file changes and changes to go modules due
to OpenTelemetry support

Signed-off-by: Alakesh Haloi <alakeshh@amazon.com>
2021-08-04 14:25:12 -07:00
Alakesh Haloi
3597ac859d [otel-tracing] Initial opentelemetry support
Add basic intiialization of opentelemetry including minimum support to
be able to read open telemetry config from config.toml and initialize
exporter. Tracer is initialized and ready to be be used for creating
spans, sub spans etc. With no opentelemetry configuration enabled in
config file, this patch is a no-op.

Basic config stub to be added to use opentelemetry is to add following
in config.toml. We use otlp exporter with default port 4317.

[otel]
  exporter_name = "otlp"
  exporter_endpoint = "0.0.0.1:4317"

otel-collector binary needs to run listening at the same port.

Signed-off-by: Alakesh Haloi <alakeshh@amazon.com>
2021-08-04 14:25:01 -07:00
Maksym Pavlenko
7917da764c Change default directories on Darwin
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2021-08-04 14:12:32 -07:00
Alakesh Haloi
10824eaf2e remove go 1.13 from containerd
We no longer would need go 1.13.x for moby/containerd compatibility with
containerd moving to 1.16.x

Signed-off-by: Alakesh Haloi <alakeshh@amazon.com>
2021-08-04 11:58:53 -07:00
Fu Wei
b97a56b714
Merge pull request #5829 from AdamKorcz/fuzz8
Fuzzing: Fix for OSS-fuzz issue 36825
2021-08-04 22:55:34 +08:00
AdamKorcz
c3c276ae1c Fuzzing: Fix for OSS-fuzz issue 36825
Signed-off-by: AdamKorcz <adam@adalogics.com>
2021-08-04 12:50:36 +01:00
Phil Estes
dd08c7a49f
Merge pull request #5825 from AdamKorcz/fuzz7
Fuzzing: Add two fuzzers
2021-08-03 15:53:50 -04:00
Derek McGowan
424d7e47bc
Merge pull request #5760 from thaJeztah/cleanup_test_scripts
scripts: linting fixes, and remove support for Debian Jessie (as it's EOL)
2021-08-03 09:48:20 -07:00
Sebastiaan van Stijn
6c257552a7
scripts: declare ROOT closer to where it's used, and some DRY changes
This also prevents shellcheck from complaining about a possibly
undefined variable.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-08-03 17:27:03 +02:00
Sebastiaan van Stijn
dba0ef4eb5
scripts: add missing quotes, and minor linting issues
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-08-03 17:23:18 +02:00
Sebastiaan van Stijn
0cb656860f
test/build-utils.sh: remove support for Debian Jessie
Jessie is EOL since June 30, 2020, so it's probably fine to assume it's
no longer used.

https://www.debian.org/News/2020/20200709

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-08-03 17:05:24 +02:00
AdamKorcz
41a04246f4 Fuzzing: Add two more fuzzers
Signed-off-by: AdamKorcz <adam@adalogics.com>
2021-08-03 12:23:38 +01:00
Maksym Pavlenko
7d4891783a
Merge pull request #5821 from thaJeztah/simplify_platforms_format
platforms: Format(): use path.Join() instead of joinNotEmpty()
2021-08-02 10:22:29 -07:00
Phil Estes
58dbe9685e
Merge pull request #5823 from AdamKorcz/fuzz6
Fuzzing: Remove panics of container_fuzzer
2021-08-02 10:39:34 -04:00
AdamKorcz
2c699cc350 Fuzzing: Remove panics of container_fuzzer
Signed-off-by: AdamKorcz <adam@adalogics.com>
2021-08-02 11:28:05 +01:00
Sebastiaan van Stijn
f2c3122e9c
platforms: Format(): use path.Join() instead of joinNotEmpty()
path.Join() also skips empty components, making it the equivalent of
this function.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-08-02 09:48:34 +02:00
Derek McGowan
f12040b6b6
Merge pull request #5785 from AdamKorcz/fuzz5
Fuzzing: Add container fuzzer
2021-07-30 09:44:09 -07:00
AdamKorcz
acecd66031 Change protoc link
Signed-off-by: AdamKorcz <adam@adalogics.com>
2021-07-30 10:06:47 +01:00
Maksym Pavlenko
fcd9c41991
Merge pull request #5746 from lifupan/main
runtime: fix the issue of create new socket with abstract address
2021-07-29 15:40:28 -07:00
Maksym Pavlenko
ee1dfc0cd9
Merge pull request #5809 from isugimpy/main
mergo: Upgrade to 0.3.12 to fix panic
2021-07-29 12:32:37 -07:00
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