Commit Graph

13325 Commits

Author SHA1 Message Date
Mete Durlu
dea7ae27a9 Add instructions on using go with admin perms
For testing and possibly other operations go might need elevated
permissions. Some parts of documentation and the BUILDING.md mention
using `sudo go` but does not explain how to achieve this. This commit
inserts instructions to the BUILDING.md as a small note. Note mentions
systemwide and local solutions.

Signed-off-by: Mete Durlu <mete.durlu@ibm.com>
2022-02-10 16:35:42 +01:00
Gabriel Adrian Samfira
4f0d5f0ee3 Enable TestContainerPTY and TestContainerUsername
Enables TestContainerPTY and TestContainerUsername on Windows.

Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2022-02-10 06:46:42 +00:00
Derek McGowan
0340e84cde
Merge pull request #6537 from dmcgowan/prepare-v1.6.0-rc.4
Prepare release notes for v1.6.0-rc.4
2022-02-09 22:21:09 -08:00
Shuntaro Azuma
7321032716 Change the context to avoid misunderstandings
Signed-off-by: Shuntaro Azuma <azush@amazon.com>
2022-02-10 11:06:25 +09:00
Derek McGowan
6827eec7aa
Prepare release notes for v1.6.0-rc.4
Signed-off-by: Derek McGowan <derek@mcg.dev>
2022-02-09 14:43:29 -08:00
Maksym Pavlenko
eb011d127b
Merge pull request #6536 from mxpv/runtime-name
Change file name for shim binary path
2022-02-09 12:53:50 -08:00
Maksym Pavlenko
b0623a06ee Change file name for shim binary path
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2022-02-09 12:06:55 -08:00
Michael Crosby
e8a5a5443f
Merge pull request #6532 from egernst/image-param-for-ctr-stress
containerd-stress: introduce option for specifying image
2022-02-09 11:44:25 -05:00
Derek McGowan
a9f61ba2c8
Merge pull request #6524 from dmcgowan/prepare-1.6.0-rc.3
Prepare release notes for v1.6.0-rc.3
2022-02-08 08:42:26 -08:00
Mike Brown
1a3efb5cd1
Merge pull request #6529 from Gorgonx7/dark-light-mode-logo
Use white logo in github dark mode
2022-02-08 09:04:46 -06:00
James Gordon
daaf031e2f Use white logo in github dark mode
I noticed the logo was not correct in dark mode and was hard to see, here is some fancy mark down to make the white logo appear in dark mode and the dark logo appear in light mode

Signed-off-by: James Gordon <james.gordon1628@gmail.com>
2022-02-08 14:29:48 +00:00
Derek McGowan
efc6ca4c47
Prepare release notes for v1.6.0-rc.3
Signed-off-by: Derek McGowan <derek@mcg.dev>
2022-02-07 22:03:44 -08:00
Fu Wei
6a628b64ac
Merge pull request #6514 from marquiz/fixes/rdt 2022-02-08 09:31:49 +08:00
Derek McGowan
33b7f779a6
Merge pull request #6504 from jepio/jepio/pkg-oom-v2-quiet-shutdown
pkg/oom/v2: handle EventChan routine shutdown quietly
2022-02-07 16:20:42 -08:00
Phil Estes
d1c3b751c6
Merge pull request #6523 from fuweid/fix-6484
fix: .dockerignore make git working tree dirty
2022-02-07 16:17:17 -05:00
Michael Crosby
2a588a619e
Merge pull request #6518 from egernst/ctr-stress-exec-fixup
containerd-stress: start task ctr before starting execs
2022-02-07 11:47:53 -05:00
Wei Fu
7e821fb618 fix: .dockerignore makes git working tree dirty
The .github/workflows/release/Dockerfile will use working dir as docker
build context. But the .dockerignore will ignore the .github/release/...
and cause dirty. We should remove it and verify git working tree after
build.

Fix: #6484

Signed-off-by: Wei Fu <fuweid89@gmail.com>
2022-02-08 00:15:50 +08:00
Eric Ernst
ac2692d30f containerd-stress: introduce option for specifying image
allow user to specify what image should be used for containerd-stress.

Signed-off-by: Eric Ernst <eric_ernst@apple.com>
2022-02-06 09:55:16 -08:00
Eric Ernst
8b9571e348 containerd-stress: start task ctr before starting execs
For some runtimes, the container is not ready for exec until the
initial container task has been started (as opposed to just having the task created).

More specifically, running containerd-stress with --exec would break
with Kata Container shim, since the sandbox is not created until a
start is issued. By starting the container's primary task before adding
exec's, we can avoid:
```
error="cannot enter container exec-container-1, with err Sandbox not running, impossible to enter the container: unknown"
```

Signed-off-by: Eric Ernst <eric_ernst@apple.com>
2022-02-04 16:08:44 -08:00
Gabriel Adrian Samfira
b63000c65d
[Windows][Integration] Enable TestRestartMonitor
With the release of hcsshim v0.9.2, this test should pass without
issues on Windows.

Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2022-02-04 17:27:14 +02:00
Markus Lehtonen
9b1fb82584 cri: fix handling of ignore_rdt_not_enabled_errors config option
We were not properly ignoring errors from
gorestrl.rdt.ContainerClassFromAnnotations() causing the config option
to be ineffective, in practice.

Signed-off-by: Markus Lehtonen <markus.lehtonen@intel.com>
2022-02-04 13:54:03 +02:00
Akihiro Suda
4f5ce5615a
Merge pull request #6501 from henry118/issue6499
Document fs_type and fs_options in snapshots/devmapper/README.md
2022-02-04 18:04:29 +09:00
Maksym Pavlenko
a5d093991a
Merge pull request #6510 from smira/adoption-talos 2022-02-03 12:36:49 -08:00
Andrey Smirnov
dcbe3e4713
docs: add Talos Linux to the list of adopters
Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-02-03 21:10:28 +03:00
Derek McGowan
943ca856ad
Merge pull request #6502 from dmcgowan/prepare-1.6.0-rc.2
Prepare 1.6.0-rc.2
2022-02-03 08:54:18 -08:00
Jeremi Piotrowski
7275411ec8 cgroup2: monitor OOMKill instead of OOM to prevent missing container OOM events
With the cgroupv2 configuration employed by Kubernetes, the pod cgroup (slice)
and container cgroup (scope) will both have the same memory limit applied. In
that situation, the kernel will consider an OOM event to be triggered by the
parent cgroup (slice), and increment 'oom' there. The child cgroup (scope) only
sees an oom_kill increment. Since we monitor child cgroups for oom events,
check the OOMKill field so that we don't miss events.

This is not visible when running containers through docker or ctr, because they
set the limits differently (only container level). An alternative would be to
not configure limits at the pod level - that way the container limit will be
hit and the OOM will be correctly generated. An interesting consequence is that
when spawning a pod with multiple containers, the oom events also work
correctly, because:

a) if one of the containers has no limit, the pod has no limit so OOM events in
   another container report correctly.
b) if all of the containers have limits then the pod limit will be a sum of
   container events, so a container will be able to hit its limit first.

Signed-off-by: Jeremi Piotrowski <jpiotrowski@microsoft.com>
2022-02-03 13:39:16 +01:00
Jeremi Piotrowski
821c961c86 pkg/oom/v2: handle EventChan routine shutdown quietly
When the cgroup is removed, EventChan is closed (this was pulled in by
8d69c041c5). This results in a nil error
being received. Don't log an error in that case but instead return.

Signed-off-by: Jeremi Piotrowski <jpiotrowski@microsoft.com>
2022-02-03 13:20:46 +01:00
Henry Wang
2d9d5fddbd Document fs_type and fs_options in snapshots/devmapper/README.md
Resolves: #6499

Signed-off-by: Henry Wang <henwang@amazon.com>
2022-02-02 21:57:44 +00:00
Derek McGowan
604c462d7b
Merge pull request #6497 from thaJeztah/platform_keep_osversion_osfeatures
platforms.Normalize(): do not reset OSVersion and OSFeatures
2022-02-02 12:06:09 -08:00
Michael Crosby
9a08d6fcde
Merge pull request #6457 from kzys/otel-http
tracing: use OTLP/HTTP in addition to OTLP/gRPC
2022-02-02 14:24:15 -05:00
Derek McGowan
a31e28e2c2
Prepare release notes for v1.6.0-rc.2
Signed-off-by: Derek McGowan <derek@mcg.dev>
2022-02-02 11:01:31 -08:00
Derek McGowan
8944c12f56
Update releases document
Move 1.4 EOL after 1.6 release.
Update latest 1.4 and 1.5 versions.

Signed-off-by: Derek McGowan <derek@mcg.dev>
2022-02-02 11:00:45 -08:00
Phil Estes
75d594834d
Merge pull request #6498 from dmcgowan/update-cgroups-1_0_3
Update cgroups to v1.0.3
2022-02-02 08:55:40 -05:00
Derek McGowan
d6a576ae6e
Merge pull request #6494 from AkihiroSuda/seccomp-5.16
seccomp: kernel 5.11 -> 5.16
2022-02-01 18:13:36 -08:00
Derek McGowan
05177ab5cd
Merge pull request #6243 from ktock/pusher-abort
remotes: fix dockerPusher to handle abort correctly
2022-02-01 18:07:46 -08:00
Derek McGowan
8d69c041c5
Update cgroups to v1.0.3
Pull in latest cgroups to pick up leak fixes

Signed-off-by: Derek McGowan <derek@mcg.dev>
2022-02-01 16:57:51 -08:00
Andrew G. Morgan
6906b57c72
Fix the Inheritable capability defaults.
The Linux kernel never sets the Inheritable capability flag to
anything other than empty. Non-empty values are always exclusively
set by userspace code.

[The kernel stopped defaulting this set of capability values to the
 full set in 2000 after a privilege escalation with Capabilities
 affecting Sendmail and others.]

Signed-off-by: Andrew G. Morgan <morgan@kernel.org>
2022-02-01 13:55:46 -08:00
Sebastiaan van Stijn
bec6e4dd67
platforms.Normalize(): do not reset OSVersion and OSFeatures
Commit fb0688362c implemented the Normalize()
function, but marked these fields as deprecated.

It's unclear what the motivation was for this, as the fields are part of the OCI
Image spec. On Windows, the OSVersion field specifically is important when matching
images (as kernel versions may not be compatible).

This patch updates platforms.Normalize() to preserve the OSVersion and OSFeatures
fields.

As a follow-up, we should look at defining an appropriate string-representation
for these fields (possibly as part of the OCI Spec), and update platforms.Parse()
accordingly.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-02-01 17:19:28 +01:00
Akihiro Suda
34f7173491
seccomp: kernel 5.16 (futex_waitv)
Allow `futex_waitv` by default.
See https://www.phoronix.com/scan.php?page=news_item&px=FUTEX2-futex-waiv-More-Archs

Note: libseccomp does not cover kernel 5.16 at this moment:
51b50f95e1/src/syscalls.csv

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2022-02-01 09:08:06 +09:00
Akihiro Suda
8632bdcb7b
seccomp: kernel 5.15 (process_mrelease)
Allow `process_mrelease` by default.

See https://lwn.net/Articles/864184/

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2022-02-01 09:08:05 +09:00
Akihiro Suda
c013db6965
seccomp: kernel 5.14 (quotactl_fd, memfd_secret)
- Allow `quotactl_fd` when `CAP_SYS_ADMIN` is granted.
  See https://lwn.net/Articles/859679/

- Allow `memfd_secret` by default.
  See https://lwn.net/Articles/865256/

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2022-02-01 09:08:01 +09:00
Akihiro Suda
17a2831f70
seccomp: kernel 5.13 (landlock_{add_rule,create_ruleset,restrict_self})
Allow the following syscalls by default:
- `landlock_add_rule`
- `landlock_create_ruleset`
- `landlock_restrict_self`

See https://landlock.io/

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2022-02-01 09:07:33 +09:00
Akihiro Suda
1329ea3716
seccomp: kernel 5.12 (mount_setattr)
Allow `mount_setattr` when `CAP_SYS_ADMIN` is granted.

See https://man7.org/linux/man-pages/man2/mount_setattr.2.html

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2022-02-01 09:06:41 +09:00
Michael Crosby
52b8ca5545
Merge pull request #6411 from nmeum/swapcontext
seccomp: add support for "swapcontext" syscall in default policy
2022-01-31 16:11:55 -05:00
Sebastiaan van Stijn
fdbfde5d81
cmd/containerd-shim: add -v (version) flag
Unlike the other shims, containerd-shim did not have a -v (version) flag:

    ./bin/containerd-shim-runc-v1 -v
    ./bin/containerd-shim-runc-v1:
    Version: v1.6.0-rc.1
    Revision: ad771115b82a70cfd8018d72ae489c707e63de16.m
    Go version: go1.17.2

    ./bin/containerd-shim -v
    flag provided but not defined: -v
    Usage of ./bin/containerd-shim:

This patch adds a `-v` flag to be consistent with the other shims. The code was
slightly refactored to match the implementation in the other shims, taking the
same approach as 77d53d2d23/runtime/v2/shim/shim.go (L240-L256)

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-01-31 21:09:50 +01:00
Sebastiaan van Stijn
e79aba10d4
integration/images/volume-ownership: strip path information from usage output
POSIX guidelines describes; https://www.gnu.org/prep/standards/html_node/_002d_002dversion.html#g_t_002d_002dversion

> The program’s name should be a constant string; don’t compute it from argv[0].
> The idea is to state the standard or canonical name for the program, not its
> file name.

We don't have a const for this, but let's make a start and just remove the path info.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-01-31 21:07:00 +01:00
Sebastiaan van Stijn
b8cadf7539
runtime/v2/shim: strip path information from version output
I noticed that path information showed up in the version output:

    ./bin/containerd-shim-runc-v1 -v
    ./bin/containerd-shim-runc-v1:
    Version:  v1.6.0-rc.1
    Revision: ad771115b82a70cfd8018d72ae489c707e63de16.m
    Go version: go1.17.2

POSIX guidelines describes; https://www.gnu.org/prep/standards/html_node/_002d_002dversion.html#g_t_002d_002dversion

> The program’s name should be a constant string; don’t compute it from argv[0].
> The idea is to state the standard or canonical name for the program, not its
> file name.

Unfortunately, this code is used by multiple binaries, so we can't fully remove
the use of os.Args[0], but let's make a start and just remove the path info.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-01-31 21:01:01 +01:00
Derek McGowan
c2cb589221
Merge pull request #6478 from fuweid/enhance-no-sync-during-create
oci: use readonly mount to read user/group info
2022-01-31 10:35:51 -08:00
Michael Crosby
e178d831ef
Merge pull request #6475 from estesp/import-correct-media-type
Fix possibly incorrect media type default on import
2022-01-31 11:47:24 -05:00
Michael Crosby
82af36e59b
Merge pull request #5828 from cpuguy83/shimv2_exit_on_signals
shimv2: handle sigint/sigterm
2022-01-31 10:47:39 -05:00