Krisztian Litkey
8a1dca0f4a
pkg/cri: split out NRI API from pkg/cri/server.
...
Split out the criService-agnostic bits of nri-api* from
pkg/cri/server to pkg/cri/nri to allow sharing a single
implementation betwen the server and sbserver versions.
Rework the interfaces to not require access to package
internals.
Signed-off-by: Krisztian Litkey <krisztian.litkey@intel.com >
2023-02-13 22:05:45 +02:00
Derek McGowan
edb8ebaf07
Merge pull request #8047 from ruiwen-zhao/send_nil
...
Send container events with nil PodSandboxStatus
2023-02-13 11:38:14 -08:00
Derek McGowan
164ac924f8
Merge pull request #7984 from aitumik/aitumik/add-host-network-tests
...
test: add hostNetwork tests for both windows and linux
2023-02-13 11:37:20 -08:00
Fu Wei
2654ece1d0
Merge pull request #8066 from fuweid/cleanup-blockio-init
...
*: introduce wrapper pkgs for blockio and rdt
2023-02-13 14:05:32 +08:00
Derek McGowan
c6cf6b2522
Merge pull request #8093 from mxpv/instrument
...
Extract CRI instrument into separate package
2023-02-12 21:45:13 -08:00
Maksym Pavlenko
750d18aced
Extract CRI instrument package
...
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com >
2023-02-12 20:49:15 -08:00
Fu Wei
040fcf85f0
Merge pull request #8091 from dcantah/mirror-generic-toml-change
2023-02-12 11:23:34 +08:00
Wei Fu
60d04b0b0f
pkg: rename {blockio,rdt}_default.go -> nonlinux.go
...
Signed-off-by: Wei Fu <fuweid89@gmail.com >
2023-02-12 08:35:17 +08:00
Akihiro Suda
b61988670c
go.mod: github.com/containerd/typeurl/v2 v2.1.0
...
Changes: https://github.com/containerd/typeurl/compare/7f6e6d160d67...v2.1.0
Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp >
2023-02-11 23:39:52 +09:00
Danny Canter
74b371b98a
CRI: Mirror generic toml runtime config under server
...
In https://github.com/containerd/containerd/pull/7764 it was made
so that generic runtime options in the containerd toml config file
would get passed to shims regardless of if containerd knew of the
type beforehand and could supply the struct. However, this was only
added for the sandbox server fork here and not the regular ol' CRI
server. This change just mirrors the parts that need to be plopped in
pkg/cri/server
Signed-off-by: Danny Canter <danny@dcantah.dev >
2023-02-11 05:18:52 -08:00
ruiwen-zhao
51a8db233d
Send container events with nil PodSandboxStatus
...
Signed-off-by: ruiwen-zhao <ruiwen@google.com >
2023-02-11 01:34:39 +00:00
ruiwen-zhao
27c8f4085c
Move PLEG event generation back to sbserver to avoid missing pod sandbox status
...
Signed-off-by: ruiwen-zhao <ruiwen@google.com >
2023-02-11 01:34:33 +00:00
Fu Wei
cf7b705dcd
Merge pull request #8086 from neersighted/apparmor_parser_regression
...
Revert `apparmor_parser` regression
2023-02-11 09:27:53 +08:00
Fu Wei
362ba2c743
Merge pull request #7981 from dmcgowan/sandbox-controller-interface-refactor
...
[sandbox] refactor controller interface
2023-02-11 09:22:36 +08:00
Nathan
7cf5560754
test: add hostNetwork tests for both windows and linux
...
Signed-off-by: Nathan <aitumik@protonmail.com >
2023-02-11 00:15:48 +03:00
Bjorn Neergaard
d33a43cc23
pkg/apparmor: clarify Godoc
...
Signed-off-by: Bjorn Neergaard <bneergaard@mirantis.com >
2023-02-10 10:23:59 -07:00
Bjorn Neergaard
a3265102d9
Revert "Don't check for apparmor_parser to be present"
...
This reverts commit 1acca8bba3 .
As stated in the Godoc, this function is intended to check for presence
of `apparmor_parser`. Changing this regressed the public API of
containerd, and directly contradicts the way that this function is
consumed inside of containerd itself:
* fdfdc9bfc0/pkg/apparmor/apparmor.go (L20)
* fdfdc9bfc0/pkg/cri/sbserver/helpers_linux.go (L85)
* fdfdc9bfc0/pkg/cri/server/helpers_linux.go (L144)
This has lead to a number of painful regressions and attempted fixes in
Moby:
* https://github.com/moby/moby/issues/44900
* https://github.com/moby/moby/pull/44902
* https://github.com/moby/moby/issues/44970
While reverting this late into the life of 1.6 and at the start of the
life of 1.7 is likely painful, I think this is ultimately the best path
to take, as containerd is subject to the same failure to start
containers with an AppArmor kernel when `apparmor_parser` is missing as
Moby.
Signed-off-by: Bjorn Neergaard <bneergaard@mirantis.com >
2023-02-10 10:05:56 -07:00
Zechun Chen
b944b108df
Clean up repeated package import
...
Signed-off-by: Zechun Chen <zechun.chen@daocloud.io >
2023-02-10 16:21:55 +08:00
Akihiro Suda
3eda46af12
oci: fix additional GIDs
...
Test suite:
```yaml
---
apiVersion: v1
kind: Pod
metadata:
name: test-no-option
annotations:
description: "Equivalent of `docker run` (no option)"
spec:
restartPolicy: Never
containers:
- name: main
image: ghcr.io/containerd/busybox:1.28
args: ['sh', '-euxc',
'[ "$(id)" = "uid=0(root) gid=0(root) groups=0(root),10(wheel)" ]']
---
apiVersion: v1
kind: Pod
metadata:
name: test-group-add-1-group-add-1234
annotations:
description: "Equivalent of `docker run --group-add 1 --group-add 1234`"
spec:
restartPolicy: Never
containers:
- name: main
image: ghcr.io/containerd/busybox:1.28
args: ['sh', '-euxc',
'[ "$(id)" = "uid=0(root) gid=0(root) groups=0(root),1(daemon),10(wheel),1234" ]']
securityContext:
supplementalGroups: [1, 1234]
---
apiVersion: v1
kind: Pod
metadata:
name: test-user-1234
annotations:
description: "Equivalent of `docker run --user 1234`"
spec:
restartPolicy: Never
containers:
- name: main
image: ghcr.io/containerd/busybox:1.28
args: ['sh', '-euxc',
'[ "$(id)" = "uid=1234 gid=0(root) groups=0(root)" ]']
securityContext:
runAsUser: 1234
---
apiVersion: v1
kind: Pod
metadata:
name: test-user-1234-1234
annotations:
description: "Equivalent of `docker run --user 1234:1234`"
spec:
restartPolicy: Never
containers:
- name: main
image: ghcr.io/containerd/busybox:1.28
args: ['sh', '-euxc',
'[ "$(id)" = "uid=1234 gid=1234 groups=1234" ]']
securityContext:
runAsUser: 1234
runAsGroup: 1234
---
apiVersion: v1
kind: Pod
metadata:
name: test-user-1234-group-add-1234
annotations:
description: "Equivalent of `docker run --user 1234 --group-add 1234`"
spec:
restartPolicy: Never
containers:
- name: main
image: ghcr.io/containerd/busybox:1.28
args: ['sh', '-euxc',
'[ "$(id)" = "uid=1234 gid=0(root) groups=0(root),1234" ]']
securityContext:
runAsUser: 1234
supplementalGroups: [1234]
```
Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp >
2023-02-10 15:53:00 +09:00
Wei Fu
62df35df66
*: introduce wrapper pkgs for blockio and rdt
...
Before this patch, both the RdtEnabled and BlockIOEnabled are provided
by services/tasks pkg. Since the services/tasks can be pkg plugin which
can be initialized multiple times or concurrently. It will fire data-race
issue as there is no mutex to protect `enable`.
This patch is aimed to provide wrapper pkgs to use intel/{blockio,rdt}
safely.
Signed-off-by: Wei Fu <fuweid89@gmail.com >
2023-02-10 08:21:34 +08:00
yulng
6cdc221f59
'go routine' should be 'goroutine'
...
Signed-off-by: yulng <wei.yang@daocloud.io >
2023-02-08 14:10:34 +08:00
Derek McGowan
b0e97c0f9b
Use multierror for cleanup error
...
Signed-off-by: Derek McGowan <derek@mcg.dev >
2023-02-07 11:06:14 -08:00
Derek McGowan
a788f6c799
Move local sandbox controller under plugins package
...
Add options to sandbox controller interface.
Update sandbox controller interface to fully utilize sandbox controller
interface.
Move grpc error conversion to service.
Signed-off-by: Derek McGowan <derek@mcg.dev >
2023-02-06 22:04:45 -08:00
Derek McGowan
2717685dad
Refactor sandbox controller interface
...
Update the sandbox controller interface to use local types rather than
using the API types.
Signed-off-by: Derek McGowan <derek@mcg.dev >
2023-02-06 21:39:30 -08:00
Kay Yan
0b33a45fad
cri: fix Mirrors deprecation comment
...
Signed-off-by: Kay Yan <kay.yan@daocloud.io >
2023-02-07 09:53:57 +08:00
Maksym Pavlenko
1f35b03369
Fix sandbox exit monitor
...
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com >
2023-02-02 14:02:52 -08:00
Phil Estes
6116820aeb
Merge pull request #8036 from ktock/remotesnlabel
...
Export remote snapshotter label handler
2023-02-02 11:53:43 -05:00
Kohei Tokunaga
dbf384a5a8
Export remote snapshotter label handler
...
Signed-off-by: Kohei Tokunaga <ktokunaga.mail@gmail.com >
2023-02-01 23:03:23 +09:00
Phil Estes
0181b103ea
Merge pull request #8037 from AkihiroSuda/epoch-drop-timezone
...
pkg/epoch: drop timezone
2023-01-31 17:04:50 -05:00
Akihiro Suda
e551d734fb
pkg/epoch: drop timezone
...
For determinism of human-readable string representation.
e.g., "2023-01-10T12:34:56Z" vs "2023-01-10T21:34:56+09:00"
Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp >
2023-01-31 23:26:02 +09:00
Derek McGowan
287320d4de
Merge pull request #7840 from hinshun/feature/mount-subdirectory
...
Use mount.Target to specify subdirectory of rootfs mount
2023-01-30 21:35:34 -08:00
Derek McGowan
ee0e22f01c
Merge pull request #8020 from AkihiroSuda/mkdir-etc-cni-0755
...
cri: mkdir /etc/cni with 0755, not 0700
2023-01-30 10:21:30 -08:00
Akihiro Suda
b36b415526
cri: mkdir /etc/cni with 0755, not 0700
...
/etc/cni has to be readable for non-root users (0755), because /etc/cni/tuning/allowlist.conf is used for rootless mode too.
This file was introduced in CNI plugins 1.2.0 (containernetworking/plugins PR 693), and its path is hard-coded.
Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp >
2023-01-29 07:49:36 +09:00
Edgar Lee
34d5878185
Use mount.Target to specify subdirectory of rootfs mount
...
- Add Target to mount.Mount.
- Add UnmountMounts to unmount a list of mounts in reverse order.
- Add UnmountRecursive to unmount deepest mount first for a given target, using
moby/sys/mountinfo.
Signed-off-by: Edgar Lee <edgarhinshunlee@gmail.com >
2023-01-27 09:51:58 +08:00
Maksym Pavlenko
21fe0ceaad
Move PLEG events for pause container to podsandbox
...
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com >
2023-01-25 19:28:48 -08:00
Sebastiaan van Stijn
4f39b164f3
pkg/cri: optimize slice initialization
...
Some of this code was originally added in b7b1200dd3 ,
which likely meant to initialize the slice with a length to reduce allocations,
however, instead of initializing with a zero-length and a capacity, it
initialized the slice with a fixed length, which was corrected in commit
0c63c42f81 .
This patch initializes the slice with a zero-length and expected capacity.
Signed-off-by: Sebastiaan van Stijn <github@gone.nl >
2023-01-24 20:46:20 +01:00
Maksym Pavlenko
f9f8455332
Backport #7393 to sbserver
...
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com >
2023-01-17 14:36:21 -08:00
Maksym Pavlenko
0cbfb3375f
Backport #7661 to sbserver
...
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com >
2023-01-17 14:31:47 -08:00
Maksym Pavlenko
41eabf134a
Backport #7685 to sbserver
...
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com >
2023-01-17 14:26:16 -08:00
Maksym Pavlenko
b0d7a96976
Backport unit test from #7882 to sbserver
...
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com >
2023-01-17 14:26:16 -08:00
Maksym Pavlenko
1ade777c24
Add basic spec and mounts for Darwin
...
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com >
2023-01-12 17:00:40 -08:00
Maksym Pavlenko
3c8469a782
Use Platform instead of generated API
...
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com >
2023-01-12 10:30:42 -08:00
Maksym Pavlenko
40be96efa9
Have separate spec builder for each platform
...
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com >
2023-01-11 13:12:25 -08:00
Maksym Pavlenko
fdfa3519a3
Remove unused params from platformSpec
...
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com >
2023-01-11 13:03:59 -08:00
Maksym Pavlenko
1c1d8fb057
Update OCI spec tests for generic platform
...
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com >
2023-01-11 13:03:59 -08:00
Maksym Pavlenko
f43d8924e4
Move most of OCI spec options to common builder
...
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com >
2023-01-11 13:03:59 -08:00
Maksym Pavlenko
21338d2777
Add stub to build common OCI spec
...
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com >
2023-01-11 13:03:59 -08:00
Maksym Pavlenko
f318e5630b
Update sandbox API to return target platform
...
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com >
2023-01-11 13:03:59 -08:00
Maksym Pavlenko
dd22a3a806
Move WithMounts to specs
...
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com >
2023-01-11 13:03:59 -08:00
Maksym Pavlenko
0ae0399b16
Make OCI spec opts available on all platforms
...
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com >
2023-01-11 13:03:58 -08:00