Commit Graph

11307 Commits

Author SHA1 Message Date
Sebastiaan van Stijn
1c03c377e5
go.mod: github.com/containerd/fifo v1.0.0
full diff: https://github.com/containerd/fifo/compare/115abcc95a1d...v1.0.0

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-04-19 09:27:45 +02:00
Akihiro Suda
bbbd851381
Merge pull request #4415 from TBBle/wcow_commit_layers
Commit writable WCOW layers as read-only parent layers
2021-04-19 14:35:08 +09:00
Maksym Pavlenko
3aae93a348
Merge pull request #5382 from thaJeztah/bump_uuid
go.mod: github.com/google/uuid v1.2.0
2021-04-18 17:00:01 -07:00
Maksym Pavlenko
69a30ad581
Merge pull request #5378 from Iceber/check-flag
runtime/shim: check the namespace flag first
2021-04-18 09:10:46 -07:00
Maksym Pavlenko
3e59ee09ab
Merge pull request #5377 from samuelkarp/freebsd-zfs
freebsd: add zfs to the default plugins
2021-04-17 19:20:57 -07:00
Sebastiaan van Stijn
12a2a21083
go.mod: github.com/google/uuid v1.2.0
full diff: https://github.com/google/uuid/compare/v1.1.2...v1.2.0

I did not switch to us the `uuid.NewString()` function; we are not currently using
`uuid.New()`, probably because it can `panic` in case an invalid UUID is produced;
in stead we are using `uuid.NewRandom()`, which is equivalent, but returns an
error instead.

Changes:

- v1.2.0: Add NewString()
  This release introduces the NewString() function which is the equivalent of
  uuid.New().String().
- v1.1.5: Syntactic cleanup
  There are no code changes. A missing period was add to a godoc comment and the
  linter was told to not complain that the results of hash.Write() are ignored
  (the function cannot fail)
- v1.1.4: Further error optimizations
  Do not allocate memory for errors (it is only one word)
- v1.1.3: Optimize error reporting
  Optimize length of time it takes to discover an input is bad by no longer using
  fmt.Errorf, which is quite slow. It now uses a custom error type that formats
  the string when the Error method is called rather than when generating the error.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-04-17 12:06:51 +02:00
Akihiro Suda
688c4684a7
Merge pull request #5380 from samuelkarp/snapshotters 2021-04-17 16:34:02 +09:00
Kir Kolyshkin
3292ea5862 pkg/seccomp: use sync.Once to speed up IsEnabled
It does not make sense to check if seccomp is supported by the kernel
more than once per runtime, so let's use sync.Once to speed it up.

A quick benchmark (old implementation, before this commit, after):

BenchmarkIsEnabledOld-4           37183            27971 ns/op
BenchmarkIsEnabled-4            1252161              947 ns/op
BenchmarkIsEnabledOnce-4      666274008             2.14 ns/op

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2021-04-16 15:52:35 -07:00
Kir Kolyshkin
00b5c99b1a pkg/seccomp: simplify IsEnabled, update doc
Current implementation of seccomp.IsEnabled (rooted in runc) is not
too good.

First, it parses the whole /proc/self/status, adding each key: value
pair into the map (lots of allocations and future work for garbage
collector), when using a single key from that map.

Second, the presence of "Seccomp" key in /proc/self/status merely means
that kernel option CONFIG_SECCOMP is set, but there is a need to _also_
check for CONFIG_SECCOMP_FILTER (the code for which exists but never
executed in case /proc/self/status has Seccomp key).

Replace all this with a single call to prctl; see the long comment in
the code for details.

While at it, improve the IsEnabled documentation.

NOTE historically, parsing /proc/self/status was added after a concern
was raised in https://github.com/opencontainers/runc/pull/471 that
prctl(PR_GET_SECCOMP, ...) can result in the calling process being
killed with SIGKILL. This is a valid concern, so the new code here
does not use PR_GET_SECCOMP at all.

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2021-04-16 15:52:35 -07:00
Samuel Karp
6dd29c25f4
go.mod: github.com/containerd/aufs
Signed-off-by: Samuel Karp <me@samuelkarp.com>
2021-04-16 15:09:31 -07:00
Samuel Karp
330a2a8092
go.mod: github.com/containerd/zfs
Signed-off-by: Samuel Karp <me@samuelkarp.com>
2021-04-16 15:08:25 -07:00
Phil Estes
9efd3e2384
Merge pull request #5360 from kzys/namespace-delete
metadata: improve deleting a non-empty namespace's error message
2021-04-16 14:51:03 -04:00
Phil Estes
1e5cb4edcb
Merge pull request #5368 from mxpv/runtime_cleanup
Runtime cleanup
2021-04-16 14:50:15 -04:00
Iceber Gu
34780d67ad runtime/shim: check the namespace flag first
Signed-off-by: Iceber Gu <wei.cai-nat@daocloud.io>
2021-04-16 17:32:21 +08:00
Samuel Karp
c3dde8c4bb
freebsd: add zfs to the default plugins
Signed-off-by: Samuel Karp <me@samuelkarp.com>
2021-04-16 00:52:24 -07:00
Akihiro Suda
f0890f9b3a
Merge pull request #5375 from samuelkarp/freebsd-runtime
freebsd: runtime support
2021-04-16 11:45:57 +09:00
Samuel Karp
b431fe4fc0
freebsd: don't run shim delete in deleted dir
fork/exec can fail and log a warning like this in containerd's log:
failed to clean up after shim disconnected error=": fork/exec /usr/local/bin/containerd-shim-[my-shim]: no such file or directory" id=test namespace=default

Passing the bundle path on the command line allows the shim delete
command to run successfully.

Signed-off-by: Samuel Karp <me@samuelkarp.com>
2021-04-15 18:09:29 -07:00
Samuel Karp
1f4192daf4
freebsd: exclude v1 runtimes
Signed-off-by: Samuel Karp <me@samuelkarp.com>
2021-04-15 18:09:29 -07:00
Kazuyoshi Kato
cb1580937a metadata: improve deleting a non-empty namespace's error message
Deleting a non-empty namespace fails with

> namespace must be empty: failed precondition

This change improves the error message by listing the types of
the objects in the namespace that prevent deletion.

Signed-off-by: Kazuyoshi Kato <katokazu@amazon.com>
2021-04-15 15:49:44 -07:00
Maksym Pavlenko
dda530a750
Merge pull request #5370 from cpuguy83/remove_junit_processor
Remove junit test result processor
2021-04-15 15:37:56 -07:00
Brian Goff
5bf84034de Remove junit test result processor
This has some problems, namely that it gets confused as to what workflow
run to add results to. Related issue:
https://github.com/EnricoMi/publish-unit-test-result-action/issues/12
This seems to be a shortcoming of the github API:
https://github.community/t/specify-check-suite-when-creating-a-checkrun/118380/7

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2021-04-15 22:03:06 +00:00
Maksym Pavlenko
b83d04f910 Add variable names to runtime's interface definitions
To ease code readability

Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2021-04-15 12:03:13 -07:00
Maksym Pavlenko
993b863993 Add shim start opts
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2021-04-15 11:55:24 -07:00
Phil Estes
6ef0d383e3
Merge pull request #5271 from cpuguy83/ci_output_junit
ci: upload junit formatted test results
2021-04-15 13:20:35 -04:00
Maksym Pavlenko
cc393ea87a
Merge pull request #5279 from wzshiming/fix/backoff
Optimize content/local/store.Writer backoff
2021-04-15 10:05:33 -07:00
Maksym Pavlenko
fca0da46b0
Merge pull request #5364 from wzshiming/fix/list-pids-lock
runtime/v1: Add lock for ListPids
2021-04-15 09:18:30 -07:00
Shiming Zhang
9e576b8891 Optimize backoff
Signed-off-by: Shiming Zhang <wzshiming@foxmail.com>
2021-04-15 23:25:09 +08:00
Phil Estes
88b09e6710
Merge pull request #5359 from ktock/v1cfg
Fix backword-compatibility issue of non-versioned config file
2021-04-15 11:18:27 -04:00
Phil Estes
5b1bbb22b1
Merge pull request #5367 from ktock/cvt-openwriter
converter: use OpenWriter helper function
2021-04-15 10:05:13 -04:00
ktock
5c02688b59 converter: use OpenWriter helper function
When several goroutines call uncompress converter in parallel, the ref name
conflicts each other. This leads to Writer method failing with Unavaliable error
without retry.
For solving this issue, OpenWriter helper should be used. This allows them to
retry in such situations.

Signed-off-by: Kohei Tokunaga <ktokunaga.mail@gmail.com>
2021-04-15 19:05:10 +09:00
Sebastian Hasler
c0e2f4b5d2 Try next mirror in case of non-404 errors, too
Signed-off-by: Sebastian Hasler <sebastian.hasler@gmx.net>
2021-04-15 12:04:07 +02:00
Shiming Zhang
fcf3b275fc Add lock for ListPids
Signed-off-by: Shiming Zhang <wzshiming@foxmail.com>
2021-04-15 13:55:03 +08:00
Phil Estes
4f18131239
Merge pull request #5286 from payall4u/optimize-cri-redirect-logs
cri: Reduce the cpu usage of  the function redirectLogs in cri
2021-04-14 21:33:05 -04:00
ktock
fdb76f55d8 Fix backword-compatibility issue of non-versioned config file
According to the doc about `config.toml` of containerd:

```
If no version number is specified inside the config file then it is assumed to
be a version 1 config and parsed as such.
```

However, it's not true recently.
This will break the backward-compatibility in some environment.
This commit fixes this issue.

Signed-off-by: Kohei Tokunaga <ktokunaga.mail@gmail.com>
2021-04-15 10:00:58 +09:00
Phil Estes
ce5d42fa2e
Merge pull request #5351 from mikebrow/resolver-debug-improvement
adds some debug log for each failed host
2021-04-14 14:54:58 -04:00
Mike Brown
d21fe46250 adds log for each failed host and status not found on host
Signed-off-by: Mike Brown <brownwm@us.ibm.com>
2021-04-14 13:23:22 -05:00
Phil Estes
c02081fdc1
Merge pull request #5357 from thxCode/support_windows_debug
fix(windows): create debug npipe failure
2021-04-14 13:37:43 -04:00
Phil Estes
0867c99b1a
Merge pull request #5355 from thaJeztah/bump_cni
go.mod: github.com/containerd/go-cni v1.0.2
2021-04-14 13:35:04 -04:00
Paul "TBBle" Hampson
8a4cbabc64 Reimport windows layers when comitting snapshots
A Scratch layer only contains a sandbox.vhdx, but to be used as a parent
layer, it must also contain the files on-disk.

Hence, we Export the layer from the sandbox.vhdx and Import it back into
itself, so that both data formats are present.

Signed-off-by: Paul "TBBle" Hampson <Paul.Hampson@Pobox.com>
2021-04-14 20:45:59 +10:00
Fu Wei
10ecf83acc
Merge pull request #5358 from AkihiroSuda/docs-rootless
docs/rootless.md: recommend "easy way" over "hard way"
2021-04-14 18:18:37 +08:00
thxcode
2de38a9269 fix(windows): create debug npipe failure
Signed-off-by: Weijia Mai <thxcode0824@gmail.com>
2021-04-14 17:32:54 +08:00
Akihiro Suda
41fc516a22
docs/rootless.md: recommend "easy way" over "hard way"
Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2021-04-14 16:57:46 +09:00
Sebastiaan van Stijn
864a3322b3
go.mod: github.com/containerd/go-cni v1.0.2
full diff: https://github.com/containerd/go-cni/compare/v1.0.1...v1.0.2

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-04-14 09:09:18 +02:00
Derek McGowan
5c6ea7fdc1
Merge pull request #5293 from wzshiming/fix/eveny-error-message
Fix return event publishing error
2021-04-13 20:32:37 -07:00
Derek McGowan
c381ea27bd
Merge pull request #5213 from thaJeztah/bump_typeurl
go.mod: github.com/containerd/typeurl v1.0.2
2021-04-13 20:31:25 -07:00
Derek McGowan
824b61075f
Merge pull request #5350 from thaJeztah/tagged_go_winio
go.mod: github.com/Microsoft/go-winio v0.4.17
2021-04-13 20:29:44 -07:00
Derek McGowan
06dcac501f
Merge pull request #5349 from thaJeztah/use_tagged_imgcrypt
go.mod: github.com/containerd/imgcrypt v1.1.1
2021-04-13 20:29:11 -07:00
Sebastiaan van Stijn
ee34caccb3
go.mod: github.com/Microsoft/go-winio v0.4.17
no code changes as this is the same commit, but now tagged:

https://github.com/Microsoft/go-winio/compare/5516f17a5958...v0.4.17

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-04-13 23:56:53 +02:00
Sebastiaan van Stijn
d478676d35
go.mod: github.com/containerd/imgcrypt v1.1.1
No code changes other than an updated changelog, and updating to
the tagged v1.1.1:

diff: https://github.com/containerd/imgcrypt/compare/0bed51b9522c...v1.1.1

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-04-13 23:41:44 +02:00
Sebastiaan van Stijn
1dd45d51c7
go.mod: github.com/containerd/typeurl v1.0.2
full diff: https://github.com/containerd/typeurl/compare/v1.0.1...v1.0.2

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-04-13 23:21:21 +02:00