Commit Graph

14233 Commits

Author SHA1 Message Date
bo.jiang
def477b07f Bump crun to 1.16
Signed-off-by: bo.jiang <bo.jiang@daocloud.io>
2024-09-02 16:46:20 +08:00
Akihiro Suda
26d6fd0c3f
Merge pull request #10611 from fuweid/getridof-hall-of-shame
core/mount: use ptrace instead of go:linkname
2024-08-30 17:07:33 +00:00
Derek McGowan
dacde84372
Merge pull request #10652 from jsturtevant/fix-nano-calculation
Cumulative stats can't decrease
2024-08-29 18:09:25 +00:00
Phil Estes
17a7538f5d
Merge pull request #10597 from kolyshkin/pidfd
TestNewBinaryIOCleanup: fix a comment, minor rewrite
2024-08-29 17:30:03 +00:00
James Sturtevant
f6677a4ec5
Cumulative stats can't decrease
During removal of the container a stat value might be reported as zero; in this case the caluclation could end up with an extremely large number.  If the cumulative stat decreases report zero.

Signed-off-by: James Sturtevant <jstur@microsoft.com>
2024-08-28 23:23:30 +00:00
Kir Kolyshkin
94c163209d TestNewBinaryIOCleanup: fix a comment, minor rewrite
The main reason is to improve the comment about pidfd in Go 1.23+.

While at it:
 - avoid slice manipulation as we only need count;
 - avoid repeating "/proc/self/fd".

Updates: #10345.

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2024-08-27 23:15:05 -07:00
Akihiro Suda
283149df7d
Merge pull request #10640 from containerd/dependabot/go_modules/github.com/vishvananda/netlink-1.3.0
build(deps): bump github.com/vishvananda/netlink from 1.2.1-beta.2 to 1.3.0
2024-08-27 19:52:07 +00:00
Maksym Pavlenko
0027f817e3
Merge pull request #10644 from djdongjin/improve-gc-tricolor
Improve gc tricolor by avoiding revisiting nodes
2024-08-27 19:48:50 +00:00
Maksym Pavlenko
1d576d1512
Merge pull request #10641 from containerd/dependabot/go_modules/github.com/prometheus/client_golang-1.20.2
build(deps): bump github.com/prometheus/client_golang from 1.20.1 to 1.20.2
2024-08-27 19:48:16 +00:00
Derek McGowan
fa5bf66fdf
Merge pull request #10643 from dmcgowan/prepare-v2.0.0-rc.4
Prepare release notes for  v2.0.0-rc.4
2024-08-27 16:33:52 +00:00
Jin Dong
d83184ced1 avoid repeated calls in Tricolor gc
Signed-off-by: Jin Dong <djdongjin95@gmail.com>
2024-08-26 23:35:24 -07:00
Jin Dong
6b97a08eee add benchmark
Signed-off-by: Jin Dong <djdongjin95@gmail.com>
2024-08-26 23:35:04 -07:00
dependabot[bot]
1b03ca57c4
build(deps): bump github.com/prometheus/client_golang
Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) from 1.20.1 to 1.20.2.
- [Release notes](https://github.com/prometheus/client_golang/releases)
- [Changelog](https://github.com/prometheus/client_golang/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prometheus/client_golang/compare/v1.20.1...v1.20.2)

---
updated-dependencies:
- dependency-name: github.com/prometheus/client_golang
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-27 01:41:00 +00:00
dependabot[bot]
9906fac59a
build(deps): bump github.com/vishvananda/netlink
Bumps [github.com/vishvananda/netlink](https://github.com/vishvananda/netlink) from 1.2.1-beta.2 to 1.3.0.
- [Release notes](https://github.com/vishvananda/netlink/releases)
- [Commits](https://github.com/vishvananda/netlink/compare/v1.2.1-beta.2...v1.3.0)

---
updated-dependencies:
- dependency-name: github.com/vishvananda/netlink
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-27 01:40:56 +00:00
Phil Estes
9aa8de8e2c
Merge pull request #10638 from containerd/dependabot/go_modules/go.etcd.io/bbolt-1.3.11
build(deps): bump go.etcd.io/bbolt from 1.3.10 to 1.3.11
2024-08-27 01:05:53 +00:00
Phil Estes
38a2095a2c
Merge pull request #10639 from containerd/dependabot/go_modules/github.com/pelletier/go-toml/v2-2.2.3
build(deps): bump github.com/pelletier/go-toml/v2 from 2.2.2 to 2.2.3
2024-08-27 01:04:29 +00:00
Derek McGowan
cdbfcc2572
Prepare release notes for v2.0.0-rc.4
Signed-off-by: Derek McGowan <derek@mcg.dev>
2024-08-26 17:36:06 -07:00
Derek McGowan
4ba502a036
Update api vendor to latest tag
Signed-off-by: Derek McGowan <derek@mcg.dev>
2024-08-26 17:36:06 -07:00
Derek McGowan
a36d38fb4a
Add mailmap entry for Michael Zappa
Signed-off-by: Derek McGowan <derek@mcg.dev>
2024-08-26 17:36:06 -07:00
dependabot[bot]
faaafd6de3
build(deps): bump github.com/pelletier/go-toml/v2 from 2.2.2 to 2.2.3
Bumps [github.com/pelletier/go-toml/v2](https://github.com/pelletier/go-toml) from 2.2.2 to 2.2.3.
- [Release notes](https://github.com/pelletier/go-toml/releases)
- [Changelog](https://github.com/pelletier/go-toml/blob/v2/.goreleaser.yaml)
- [Commits](https://github.com/pelletier/go-toml/compare/v2.2.2...v2.2.3)

---
updated-dependencies:
- dependency-name: github.com/pelletier/go-toml/v2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-26 23:54:54 +00:00
dependabot[bot]
47350982bf
build(deps): bump go.etcd.io/bbolt from 1.3.10 to 1.3.11
Bumps [go.etcd.io/bbolt](https://github.com/etcd-io/bbolt) from 1.3.10 to 1.3.11.
- [Release notes](https://github.com/etcd-io/bbolt/releases)
- [Commits](https://github.com/etcd-io/bbolt/compare/v1.3.10...v1.3.11)

---
updated-dependencies:
- dependency-name: go.etcd.io/bbolt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-26 23:54:49 +00:00
Derek McGowan
a26a33c3d9
Merge pull request #10543 from vishalRGurrala/feature/generate-attestation-for-artifacts
Generate attestation for artifacts during release CI job
2024-08-26 23:36:04 +00:00
Phil Estes
6f1cbd1da8
Merge pull request #10615 from containerd/dependabot/go_modules/dario.cat/mergo-1.0.1
build(deps): bump dario.cat/mergo from 1.0.0 to 1.0.1
2024-08-26 19:12:10 +00:00
Phil Estes
569a8d6b60
Merge pull request #10626 from dmcgowan/content-local-plugin
Register local content plugin from separate package
2024-08-26 19:11:57 +00:00
Maksym Pavlenko
dc8f875b03
Merge pull request #10631 from containerd/dependabot/go_modules/github.com/prometheus/client_golang-1.20.1
build(deps): bump github.com/prometheus/client_golang from 1.19.1 to 1.20.1
2024-08-26 16:37:12 +00:00
Phil Estes
2b6b961dfa
Merge pull request #10635 from djdongjin/remove-sha256-simd
Remove sha256-simd dependency
2024-08-26 15:18:46 +00:00
Phil Estes
f97b02fb31
Merge pull request #10614 from containerd/dependabot/github_actions/google-github-actions/upload-cloud-storage-2.1.3
build(deps): bump google-github-actions/upload-cloud-storage from 2.1.2 to 2.1.3
2024-08-26 15:17:10 +00:00
Wei Fu
3cd8f9734d core/mount: use ptrace instead of go:linkname
The Go runtime has started to [lock down future uses of linkname][1] since
go1.23. In the go source code, containerd project has been marked in the
comment, [hall of shame][2]. Well, the go:linkname is used to fork no-op
subprocess efficiently. However, since that comment, I would like to use
ptrace and remove go:linkname in the whole repository.

With go1.22 `go:linkname`:

```bash
$ go test -bench=.  -benchmem ./ -exec sudo
goos: linux
goarch: amd64
pkg: github.com/containerd/containerd/v2/core/mount
cpu: AMD Ryzen 7 5800H with Radeon Graphics
BenchmarkBatchRunGetUsernsFD_Concurrent1-16                 2440            533320 ns/op            1145 B/op         43 allocs/op
BenchmarkBatchRunGetUsernsFD_Concurrent10-16                 342           3661616 ns/op           11562 B/op        421 allocs/op
PASS
ok      github.com/containerd/containerd/v2/core/mount  2.983s
```

With go1.22 `ptrace`:

```bash
$ go test -bench=.  -benchmem ./ -exec sudo
goos: linux
goarch: amd64
pkg: github.com/containerd/containerd/v2/core/mount
cpu: AMD Ryzen 7 5800H with Radeon Graphics
BenchmarkBatchRunGetUsernsFD_Concurrent1-16                 1785            739557 ns/op            3948 B/op         68 allocs/op
BenchmarkBatchRunGetUsernsFD_Concurrent10-16                 328           4024300 ns/op           39601 B/op        671 allocs/op
PASS
ok      github.com/containerd/containerd/v2/core/mount  3.104s
```

With go1.23 `ptrace`:

```bash
$ go test -bench=.  -benchmem ./ -exec sudo
goos: linux
goarch: amd64
pkg: github.com/containerd/containerd/v2/core/mount
cpu: AMD Ryzen 7 5800H with Radeon Graphics
BenchmarkBatchRunGetUsernsFD_Concurrent1-16                 1815            723252 ns/op            4220 B/op         69 allocs/op
BenchmarkBatchRunGetUsernsFD_Concurrent10-16                 319           3957157 ns/op           42351 B/op        682 allocs/op
PASS
ok      github.com/containerd/containerd/v2/core/mount  3.051s
```

Diff:

The `ptrace` is slower than `go:linkname` mode. However, it's accepctable.

```
goos: linux
goarch: amd64
pkg: github.com/containerd/containerd/v2/core/mount
cpu: AMD Ryzen 7 5800H with Radeon Graphics
                                    │ go122-golinkname │             go122-ptrace              │             go123-ptrace              │
                                    │      sec/op      │    sec/op     vs base                 │    sec/op     vs base                 │
BatchRunGetUsernsFD_Concurrent1-16        533.3µ ± ∞ ¹   739.6µ ± ∞ ¹        ~ (p=1.000 n=1) ²   723.3µ ± ∞ ¹        ~ (p=1.000 n=1) ²
BatchRunGetUsernsFD_Concurrent10-16       3.662m ± ∞ ¹   4.024m ± ∞ ¹        ~ (p=1.000 n=1) ²   3.957m ± ∞ ¹        ~ (p=1.000 n=1) ²
geomean                                   1.397m         1.725m        +23.45%                   1.692m        +21.06%
¹ need >= 6 samples for confidence interval at level 0.95
² need >= 4 samples to detect a difference at alpha level 0.05

                                    │ go122-golinkname │              go122-ptrace               │              go123-ptrace               │
                                    │       B/op       │     B/op       vs base                  │     B/op       vs base                  │
BatchRunGetUsernsFD_Concurrent1-16       1.118Ki ± ∞ ¹   3.855Ki ± ∞ ¹         ~ (p=1.000 n=1) ²   4.121Ki ± ∞ ¹         ~ (p=1.000 n=1) ²
BatchRunGetUsernsFD_Concurrent10-16      11.29Ki ± ∞ ¹   38.67Ki ± ∞ ¹         ~ (p=1.000 n=1) ²   41.36Ki ± ∞ ¹         ~ (p=1.000 n=1) ²
geomean                                  3.553Ki         12.21Ki        +243.65%                   13.06Ki        +267.43%
¹ need >= 6 samples for confidence interval at level 0.95
² need >= 4 samples to detect a difference at alpha level 0.05

                                    │ go122-golinkname │             go122-ptrace             │             go123-ptrace             │
                                    │    allocs/op     │  allocs/op   vs base                 │  allocs/op   vs base                 │
BatchRunGetUsernsFD_Concurrent1-16         43.00 ± ∞ ¹   68.00 ± ∞ ¹        ~ (p=1.000 n=1) ²   69.00 ± ∞ ¹        ~ (p=1.000 n=1) ²
BatchRunGetUsernsFD_Concurrent10-16        421.0 ± ∞ ¹   671.0 ± ∞ ¹        ~ (p=1.000 n=1) ²   682.0 ± ∞ ¹        ~ (p=1.000 n=1) ²
geomean                                    134.5         213.6        +58.76%                   216.9        +61.23%
¹ need >= 6 samples for confidence interval at level 0.95
² need >= 4 samples to detect a difference at alpha level 0.05
```

[1]: <https://github.com/golang/go/issues/67401>
[2]: <https://github.com/golang/go/blob/release-branch.go1.23/src/runtime/proc.go#L4820>

Signed-off-by: Wei Fu <fuweid89@gmail.com>
2024-08-26 21:19:50 +08:00
Jin Dong
35b0292572 remove sha256-simd
Signed-off-by: Jin Dong <djdongjin95@gmail.com>
2024-08-25 04:46:04 +00:00
dependabot[bot]
1195b68eb2
build(deps): bump github.com/prometheus/client_golang
Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) from 1.19.1 to 1.20.1.
- [Release notes](https://github.com/prometheus/client_golang/releases)
- [Changelog](https://github.com/prometheus/client_golang/blob/v1.20.1/CHANGELOG.md)
- [Commits](https://github.com/prometheus/client_golang/compare/v1.19.1...v1.20.1)

---
updated-dependencies:
- dependency-name: github.com/prometheus/client_golang
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-23 17:56:16 +00:00
Akihiro Suda
7b948faa08
Merge pull request #10618 from containerd/dependabot/go_modules/k8s-f6dd80a502
build(deps): bump the k8s group with 5 updates
2024-08-23 17:19:48 +00:00
Derek McGowan
50b06182f8
Register local content plugin from separate package
Update the local content plugin to register itself in a consistent way
as other plugins. This also allows the separate package to define its
own configuration more cleanly.

Signed-off-by: Derek McGowan <derek@mcg.dev>
2024-08-22 11:18:30 -07:00
dependabot[bot]
021063c4ab
build(deps): bump the k8s group with 5 updates
Bumps the k8s group with 5 updates:

| Package | From | To |
| --- | --- | --- |
| [k8s.io/apimachinery](https://github.com/kubernetes/apimachinery) | `0.30.3` | `0.31.0` |
| [k8s.io/client-go](https://github.com/kubernetes/client-go) | `0.30.3` | `0.31.0` |
| [k8s.io/component-base](https://github.com/kubernetes/component-base) | `0.30.3` | `0.31.0` |
| [k8s.io/kubelet](https://github.com/kubernetes/kubelet) | `0.30.3` | `0.31.0` |
| [k8s.io/utils](https://github.com/kubernetes/utils) | `0.0.0-20230726121419-3b25d923346b` | `0.0.0-20240711033017-18e509b52bc8` |


Updates `k8s.io/apimachinery` from 0.30.3 to 0.31.0
- [Commits](https://github.com/kubernetes/apimachinery/compare/v0.30.3...v0.31.0)

Updates `k8s.io/client-go` from 0.30.3 to 0.31.0
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kubernetes/client-go/compare/v0.30.3...v0.31.0)

Updates `k8s.io/component-base` from 0.30.3 to 0.31.0
- [Commits](https://github.com/kubernetes/component-base/compare/v0.30.3...v0.31.0)

Updates `k8s.io/kubelet` from 0.30.3 to 0.31.0
- [Commits](https://github.com/kubernetes/kubelet/compare/v0.30.3...v0.31.0)

Updates `k8s.io/utils` from 0.0.0-20230726121419-3b25d923346b to 0.0.0-20240711033017-18e509b52bc8
- [Commits](https://github.com/kubernetes/utils/commits)

---
updated-dependencies:
- dependency-name: k8s.io/apimachinery
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: k8s
- dependency-name: k8s.io/client-go
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: k8s
- dependency-name: k8s.io/component-base
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: k8s
- dependency-name: k8s.io/kubelet
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: k8s
- dependency-name: k8s.io/utils
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: k8s
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-20 00:46:42 +00:00
Fu Wei
e8104a4858
Merge pull request #10613 from kiashok/update-hcsshim-12.6
Update hcsshim to v0.12.6
2024-08-20 00:07:27 +00:00
dependabot[bot]
1bff3bfeda
build(deps): bump dario.cat/mergo from 1.0.0 to 1.0.1
Bumps [dario.cat/mergo](https://github.com/imdario/mergo) from 1.0.0 to 1.0.1.
- [Release notes](https://github.com/imdario/mergo/releases)
- [Commits](https://github.com/imdario/mergo/compare/v1.0.0...v1.0.1)

---
updated-dependencies:
- dependency-name: dario.cat/mergo
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-19 23:51:42 +00:00
dependabot[bot]
429085c84d
build(deps): bump google-github-actions/upload-cloud-storage
Bumps [google-github-actions/upload-cloud-storage](https://github.com/google-github-actions/upload-cloud-storage) from 2.1.2 to 2.1.3.
- [Release notes](https://github.com/google-github-actions/upload-cloud-storage/releases)
- [Changelog](https://github.com/google-github-actions/upload-cloud-storage/blob/main/CHANGELOG.md)
- [Commits](https://github.com/google-github-actions/upload-cloud-storage/compare/v2.1.2...v2.1.3)

---
updated-dependencies:
- dependency-name: google-github-actions/upload-cloud-storage
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-19 23:20:08 +00:00
Kirtana Ashok
93abc2fdda Update hcsshim to v0.12.6
Signed-off-by: Kirtana Ashok <kiashok@microsoft.com>
2024-08-19 15:30:51 -07:00
Wei Fu
bcdf507363 core/mount: add benchmark test for GetUsernsFD
```bash
$ go test -bench=.  -benchmem ./ -exec sudo
goos: linux
goarch: amd64
pkg: github.com/containerd/containerd/v2/core/mount
cpu: AMD Ryzen 7 5800H with Radeon Graphics
BenchmarkBatchRunGetUsernsFD_Concurrent1-16                 2398            532424 ns/op            1145 B/op         43 allocs/op
BenchmarkBatchRunGetUsernsFD_Concurrent10-16                 343           3701695 ns/op           11552 B/op        421 allocs/op
PASS
ok      github.com/containerd/containerd/v2/core/mount  2.978s
```

Signed-off-by: Wei Fu <fuweid89@gmail.com>
2024-08-19 19:11:25 +08:00
Phil Estes
0ecaec4dde
Merge pull request #10338 from harshitasao/scorecard-badge
Added the OpenSSF Scorecard Badge
2024-08-16 18:32:06 +00:00
Phil Estes
704c94b638
Merge pull request #10600 from akhilerm/update-support-matrix
docs: add k8s 1.31 to support matrix
2024-08-16 14:06:13 +00:00
Phil Estes
219df0e7a2
Merge pull request #10604 from thaJeztah/openssf_happiness
script/setup/install-dev-tools: update protoc-gen-go-ttrpc to v1.2.5, specify patch versions
2024-08-16 13:44:20 +00:00
Sebastiaan van Stijn
66817fccc3
script/setup/install-dev-tools: include patch version in versions
The OpenSSF scorecard is complaining about these two dependencies being
installed without a patch version specified;

    Warn: goCommand not pinned by hash: script/setup/install-dev-tools:27
    Warn: goCommand not pinned by hash: script/setup/install-dev-tools:28

While the error indicates it expects a hash, it looks like it's fine
with other modules in the same file, the difference being that those
specify a full version, including path version, e.g.;
919beb1cf7/script/setup/install-dev-tools (L26)

This patch updates `protoc-gen-go` and `protoc-gen-go-grpc` to the latest
patch release for the specified versions.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2024-08-16 10:54:17 +02:00
Sebastiaan van Stijn
cd4e24ef71
script/setup/install-dev-tools: update protoc-gen-go-ttrpc to v1.2.5
The current version was updated in 65031eadec,
and looks to be

- 1 commit ahead of v1.2.3; https://github.com/containerd/ttrpc/compare/v1.2.3...faba5896a9c4d7b65495cb9b2c02531feb1434d6
- slightly behind of v1.2.4; faba5896a9...v1.2.4

This patch upstreas it to the current (v1.2.5) version, aligning it with
the version used in `go.mod`;
faba5896a9...v1.2.5

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2024-08-16 10:53:37 +02:00
Akhil Mohan
9e2357f338
docs: add k8s 1.31 to support matrix to RELEASES
Signed-off-by: Akhil Mohan <akhilerm@gmail.com>
2024-08-16 11:50:03 +05:30
Akihiro Suda
919beb1cf7
Merge pull request #10593 from jjmaestro/patch-1
docs: Update BUILDING.md
2024-08-15 22:31:42 +00:00
Mike Brown
a9227860ee
Merge pull request #10526 from AkihiroSuda/fix-10132
docs: update for containerd v2
2024-08-15 21:53:56 +00:00
Akihiro Suda
a3d84a1727
docs: update for containerd v2
Fix issue 10132

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2024-08-16 03:09:50 +09:00
Javier Maestro
43568373f4
docs: Update BUILDING.md
Signed-off-by: Javier Maestro <jjmaestro@ieee.org>
2024-08-15 18:12:06 +01:00
Akihiro Suda
f5d5407c2f
Merge pull request #10578 from akhilerm/test-gotip
Add go 1.23.0
2024-08-14 19:50:59 +00:00
Akhil Mohan
ebc47359ea
use format string when using printf like commands
As per https://github.com/golang/go/issues/60529, printf like commands with
non-constant format strings and no args give an error in govet

Signed-off-by: Akhil Mohan <akhilerm@gmail.com>
2024-08-14 17:04:53 +05:30