Skip to content

Conversation

@thaJeztah
Copy link
Member

(cherry picked from commit a48dbef)


Fixes panic produced by containerd when cri metrics are enabled.

The panic was observed with containerd 1.6.18 and k8s 1.23.16.
We started seeing this issue when on k8s side, we enabled the feature gate PodAndContainerStatsFromCRI

fatal error: concurrent map read and map write
goroutine 24245 [running]:
runtime.throw({0x55555c169112?, 0xc003f0b340?})
        /usr/local/go/src/runtime/panic.go:992 +0x71 fp=0xc00575c6c8 sp=0xc00575c698 pc=0x55555aed5511
runtime.mapaccess1(0x55555c7717e0?, 0xc00145ee10?, 0x40?)
        /usr/local/go/src/runtime/map.go:415 +0x1f7 fp=0xc00575c708 sp=0xc00575c6c8 pc=0x55555aeaccd7
github.com/containerd/containerd/pkg/cri/store/sandbox.(*Store).UpdateContainerStats(0xc00145eea0, {0xc001d4d140?, 0xc00179a240?}, 0xc003f28a00)
        /root/rpmbuild/BUILD/pkg/cri/store/sandbox/sandbox.go:142 +0x1d9 fp=0xc00575c850 sp=0xc00575c708 pc=0x55555bdeff59
github.com/containerd/containerd/pkg/cri/server.(*criService).getUsageNanoCores(0xc00049d800, {0xc001d4d140, 0x40}, 0x1, 0x144f0a7e, {0x203001?, 0x203001?, 0x55555d63bc20?})
        /root/rpmbuild/BUILD/pkg/cri/server/container_stats_list_linux.go:134 +0x465 fp=0xc00575cce0 sp=0xc00575c850 pc=0x55555bfdfc45
github.com/containerd/containerd/pkg/cri/server.(*criService).cpuContainerStats(0xc00575ce78?, {0xc001d4d140, 0x40}, 0xc5?, {0x55555c8ff4e0?, 0xc0058ccab0?}, {0x1000000002000?, 0x7f60b05d08b0?, 0x55555d6>
        /root/rpmbuild/BUILD/pkg/cri/server/container_stats_list_linux.go:205 +0x30f fp=0xc00575ce00 sp=0xc00575cce0 pc=0x55555bfe048f
github.com/containerd/containerd/pkg/cri/server.(*criService).podSandboxStats(0xc00049d800, {0x55555c9d7d58, 0xc00512be30}, {{{0xc001d4d140, 0x40}, {0xc00179a240, 0x5c}, 0xc000236e70, {0xc001d4d1c0, 0x37>
        /root/rpmbuild/BUILD/pkg/cri/server/sandbox_stats_linux.go:60 +0x2be fp=0xc00575d1b8 sp=0xc00575ce00 pc=0x55555c0267be
github.com/containerd/containerd/pkg/cri/server.(*criService).ListPodSandboxStats(0x55555c9d7d58?, {0x55555c9d7d58, 0xc00512be30}, 0x6?)
        /root/rpmbuild/BUILD/pkg/cri/server/sandbox_stats_list.go:41 +0x156 fp=0xc00575d3d8 sp=0xc00575d1b8 pc=0x55555c027b36
github.com/containerd/containerd/pkg/cri/server.(*instrumentedService).ListPodSandboxStats(0xc00044e890, {0x55555c9d7d58, 0xc00512bc80}, 0xc005905b10)
        /root/rpmbuild/BUILD/pkg/cri/server/instrumented_service.go:1319 +0x1c6 fp=0xc00575d480 sp=0xc00575d3d8 pc=0x55555c0099a6
k8s.io/cri-api/pkg/apis/runtime/v1._RuntimeService_ListPodSandboxStats_Handler.func1({0x55555c9d7d58, 0xc00512bc80}, {0x55555c919020?, 0xc005905b10})
        /root/rpmbuild/BUILD/vendor/k8s.io/cri-api/pkg/apis/runtime/v1/api.pb.go:9862 +0x78 fp=0xc00575d4c0 sp=0xc00575d480 pc=0x55555bbc1298
github.com/containerd/containerd/services/server.unaryNamespaceInterceptor({0x55555c9d7d58, 0xc00512bc80}, {0x55555c919020, 0xc005905b10}, 0x3?, 0xc001b72330)
        /root/rpmbuild/BUILD/services/server/namespace.go:31 +0x6b fp=0xc00575d4f0 sp=0xc00575d4c0 pc=0x55555c0ea04b
github.com/grpc-ecosystem/go-grpc-middleware.ChainUnaryServer.func1.1.1({0x55555c9d7d58?, 0xc00512bc80?}, {0x55555c919020?, 0xc005905b10?})
        /root/rpmbuild/BUILD/vendor/github.com/grpc-ecosystem/go-grpc-middleware/chain.go:25 +0x3a fp=0xc00575d530 sp=0xc00575d4f0 pc=0x55555c0e0d1a
github.com/grpc-ecosystem/go-grpc-prometheus.(*ServerMetrics).UnaryServerInterceptor.func1({0x55555c9d7d58, 0xc00512bc80}, {0x55555c919020, 0xc005905b10}, 0x0?, 0xc0008e5a60)
        /root/rpmbuild/BUILD/vendor/github.com/grpc-ecosystem/go-grpc-prometheus/server_metrics.go:107 +0x87 fp=0xc00575d590 sp=0xc00575d530 pc=0x55555c0e3867
github.com/grpc-ecosystem/go-grpc-middleware.ChainUnaryServer.func1.1.1({0x55555c9d7d58?, 0xc00512bc80?}, {0x55555c919020?, 0xc005905b10?})
        /root/rpmbuild/BUILD/vendor/github.com/grpc-ecosystem/go-grpc-middleware/chain.go:25 +0x3a fp=0xc00575d5d0 sp=0xc00575d590 pc=0x55555c0e0d1a
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc.UnaryServerInterceptor.func1({0x55555c9d7d58, 0xc00512ba40}, {0x55555c919020, 0xc005905b10}, 0xc0008e5a00, 0xc0008e5a80)
        /root/rpmbuild/BUILD/vendor/go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc/interceptor.go:325 +0x664 fp=0xc00575da10 sp=0xc00575d5d0 pc=0x55555c0e7484
github.com/grpc-ecosystem/go-grpc-middleware.ChainUnaryServer.func1.1.1({0x55555c9d7d58?, 0xc00512ba40?}, {0x55555c919020?, 0xc005905b10?})
        /root/rpmbuild/BUILD/vendor/github.com/grpc-ecosystem/go-grpc-middleware/chain.go:25 +0x3a fp=0xc00575da50 sp=0xc00575da10 pc=0x55555c0e0d1a
github.com/grpc-ecosystem/go-grpc-middleware.ChainUnaryServer.func1({0x55555c9d7d58, 0xc00512ba40}, {0x55555c919020, 0xc005905b10}, 0xc0024e9af0?, 0x55555c789220?)
        /root/rpmbuild/BUILD/vendor/github.com/grpc-ecosystem/go-grpc-middleware/chain.go:34 +0xbf fp=0xc00575daa8 sp=0xc00575da50 pc=0x55555c0e0bbf
k8s.io/cri-api/pkg/apis/runtime/v1._RuntimeService_ListPodSandboxStats_Handler({0x55555c985e60?, 0xc00044e890}, {0x55555c9d7d58, 0xc00512ba40}, 0xc003f3e060, 0xc000322090)
        /root/rpmbuild/BUILD/vendor/k8s.io/cri-api/pkg/apis/runtime/v1/api.pb.go:9864 +0x138 fp=0xc00575db00 sp=0xc00575daa8 pc=0x55555bbc1158
google.golang.org/grpc.(*Server).processUnaryRPC(0xc000404540, {0x55555c9ddb88, 0xc0043cc000}, 0xc004c4d7a0, 0xc001834780, 0x55555d5b3838, 0x0)
        /root/rpmbuild/BUILD/vendor/google.golang.org/grpc/server.go:1283 +0xcfd fp=0xc00575de48 sp=0xc00575db00 pc=0x55555b53841d
google.golang.org/grpc.(*Server).handleStream(0xc000404540, {0x55555c9ddb88, 0xc0043cc000}, 0xc004c4d7a0, 0x0)
        /root/rpmbuild/BUILD/vendor/google.golang.org/grpc/server.go:1620 +0xa1b fp=0xc00575df68 sp=0xc00575de48 pc=0x55555b53ca7b
google.golang.org/grpc.(*Server).serveStreams.func1.2()
        /root/rpmbuild/BUILD/vendor/google.golang.org/grpc/server.go:922 +0x98 fp=0xc00575dfe0 sp=0xc00575df68 pc=0x55555b535f38
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1571 +0x1 fp=0xc00575dfe8 sp=0xc00575dfe0 pc=0x55555af0a241
created by google.golang.org/grpc.(*Server).serveStreams.func1
        /root/rpmbuild/BUILD/vendor/google.golang.org/grpc/server.go:920 +0x28a

Signed-off-by: Daniel Lenar <[email protected]>
(cherry picked from commit a48dbef)
Signed-off-by: Sebastiaan van Stijn <[email protected]>
@thaJeztah thaJeztah added kind/bug area/cri Container Runtime Interface (CRI) labels Jul 14, 2023
@estesp estesp merged commit fb8a514 into containerd:release/1.6 Jul 17, 2023
aravindhp added a commit to openshift/containerd that referenced this pull request Jul 27, 2023
containerd 1.6.22

Welcome to the v1.6.22 release of containerd!

The twenty-second patch release for containerd 1.6 contains various fixes and updates.

* **RunC: Update runc binary to v1.1.8** ([containerd#8842](containerd#8842))
* **CRI: Fix additionalGids: it should fallback to imageConfig.User when securityContext.RunAsUser,RunAsUsername are empty** ([containerd#8823](containerd#8823))
* **CRI: Write generated CNI config atomically** ([containerd#8826](containerd#8826))
* **Fix concurrent writes for `UpdateContainerStats`** ([containerd#8819](containerd#8819))
* **Make checkContainerTimestamps less strict on Windows** ([containerd#8827](containerd#8827))
* **Port-Forward: Correctly handle known errors** ([containerd#8805](containerd#8805))
* **Resolve docker.NewResolver race condition** ([containerd#8800](containerd#8800))
* **SecComp: Always allow `name_to_handle_at`** ([containerd#8754](containerd#8754))
* **Adding support to run hcsshim from local clone** ([containerd#8713](containerd#8713))
* **Pinned image support** ([containerd#8720](containerd#8720))
* **Runtime/V2/RunC: Handle early exits w/o big locks** ([containerd#8695](containerd#8695))
* **CRITool: Move up to CRI-TOOLS v1.27.0** ([containerd#7997](containerd#7997))
* **Fix cpu architecture detection issue on emulated ARM platform** ([containerd#8533](containerd#8533))
* **Task: Don't `close()` io before `cancel()`** ([containerd#8659](containerd#8659))
* **Fix panic when remote differ returns empty result** ([containerd#8640](containerd#8640))
* **Plugins: Notify readiness when registered plugins are ready** ([containerd#8583](containerd#8583))
* **Unwrap io errors in server connection receive error handling** ([ttrpc#143](containerd/ttrpc#143))

See the changelog for complete list of changes

Please try out the release binaries and report any issues at
https://github.com/containerd/containerd/issues.

* Akihiro Suda
* Phil Estes
* Sebastiaan van Stijn
* Derek McGowan
* Wei Fu
* Kazuyoshi Kato
* Austin Vazquez
* Samuel Karp
* dependabot[bot]
* Jin Dong
* Maksym Pavlenko
* Mike Brown
* Shingo Omura
* Akhil Mohan
* Bjorn Neergaard
* Laura Brehm
* Tony Fang
* Aditi Sharma
* Andrey Epifanov
* Benjamin Wang
* Brian Goff
* Cory Snider
* Daniel Canter
* Daniel Lenar
* Henry Wang
* Luca Comellini
* Madhav Jivrajani
* Mahamed Ali
* Mohit Sharma
* Oliver Radwell
* Priyanka Saggu
* Qasim Sarfraz
* Takumasa Sakao
* wangxiang
* zounengren

<details><summary>95 commits</summary>
<p>

* [release/1.6] Prepare release notes for v1.6.22 ([containerd#8863](containerd#8863))
  * [`0770a4601`](containerd@0770a46) [release/1.6] Add release notes for v1.6.22
* [release/1.6] migrate to community owned bucket for node e2e tests ([containerd#8876](containerd#8876))
  * [`512a672af`](containerd@512a672) migrate to community owned bucket
* [release/1.6] cri: memory.memsw.limit_in_bytes: no such file or directory ([containerd#8870](containerd#8870))
  * [`b585ff155`](containerd@b585ff1) cri: memory.memsw.limit_in_bytes: no such file or directory
* [release/1.6] Update go-restful to v3.10.1  ([containerd#8412](containerd#8412))
  * [`a322077bf`](containerd@a322077) go.mod: github.com/emicklei/go-restful/v3 v3.10.1
* [release/1.6 backport] update runc binary to v1.1.8 ([containerd#8842](containerd#8842))
  * [`b3ac068eb`](containerd@b3ac068) update runc binary to v1.1.8
* [release/1.6 backport] ci: remove libseccomp-dev installation for nightly ([containerd#8773](containerd#8773))
  * [`6e2bcb6dd`](containerd@6e2bcb6) ci: remove libseccomp-dev installation for nightly
* [release/1.6 backport] [CRI] fix additionalGids: it should fallback to imageConfig.User when securityContext.RunAsUser,RunAsUsername are empty ([containerd#8823](containerd#8823))
  * [`cd06f23af`](containerd@cd06f23) capture desc variable in range variable just in case that it run in parallel mode
  * [`30f5c6a1f`](containerd@30f5c6a) Use t.TempDir instead of os.MkdirTemp
  * [`59d8363ef`](containerd@59d8363) fix userstr for dditionalGids on Linux
* [release/1.6 backport] cri: write generated CNI config atomically ([containerd#8826](containerd#8826))
  * [`d75bf78c2`](containerd@d75bf78) ctr: update WritePidFile to use atomicfile
  * [`5f70b23c1`](containerd@5f70b23) shim: WritePidFile & WriteAddress use atomicfile
  * [`505d444b0`](containerd@505d444) cri: write generated CNI config atomically on Unix
  * [`b2d2d3829`](containerd@b2d2d38) atomicfile: new package for atomic file writes
* [release/1.6 backport] Fix concurrent writes for UpdateContainerStats ([containerd#8819](containerd#8819))
  * [`9f650143f`](containerd@9f65014) Fix concurrent writes for UpdateContainerStats
* [release/1.6 backport] Make checkContainerTimestamps less strict on Windows ([containerd#8827](containerd#8827))
  * [`568ce91ca`](containerd@568ce91) Make checkContainerTimestamps less strict on Windows
* [release/1.6 backport] dependency: bump go.etcd.io/bbolt to v1.3.7 ([containerd#8817](containerd#8817))
  * [`d2f47192a`](containerd@d2f4719) dependency: bump go.etcd.io/bbolt to v1.3.7
  * [`fb56dc245`](containerd@fb56dc2) [release/1.6] vendor: github.com/stretchr/testify v1.8.1
* [release/1.6 backport] Move logrus setup code to log package ([containerd#8832](containerd#8832))
  * [`7fbd5dc89`](containerd@7fbd5dc) Move logrus setup code to log package
* [release/1.6 backport] release: Add "cri-containerd.DEPRECATED.txt" in the deprecated cri-containerd-* bundles ([containerd#8820](containerd#8820))
  * [`59a143670`](containerd@59a1436) release: Add "cri-containerd.DEPRECATED.txt" in the deprecated cri-containerd-* bundles
* [release/1.6 backport] Use version 2 configuration format in docs ([containerd#8821](containerd#8821))
  * [`5b51b79e2`](containerd@5b51b79) [release/1.6] fix remaining "v1 config" plugin IDs
  * [`b7cf26d8d`](containerd@b7cf26d) docs: Fix sample config.toml syntax
  * [`fcdaf0966`](containerd@fcdaf09) docs: migrate config v1 to v2
  * [`728d5c5f0`](containerd@728d5c5) Use version 2 config and mention containerd config command
* [release/1.6] update go to go1.19.11 ([containerd#8816](containerd#8816))
  * [`81aa14718`](containerd@81aa147) [release/1.6] update go to go1.19.11
* [release/1.6] update go to go1.19.10 ([containerd#8715](containerd#8715))
  * [`17cd86629`](containerd@17cd866) [release/1.6] update go to go1.19.10
* [release/1.6 backport] bugfix(port-forward): Correctly handle known errors ([containerd#8805](containerd#8805))
  * [`fdb65f214`](containerd@fdb65f2) bugfix(port-forward): Correctly handle known errors
* [release/1.6] Resolve docker.NewResolver race condition ([containerd#8800](containerd#8800))
  * [`b5784af66`](containerd@b5784af) Change http.Header copy to builtin Clone
  * [`31c466f82`](containerd@31c466f) Resolve docker.NewResolver race condition
* [release/1.6 backport] vendor: github.com/containerd/zfs v1.1.0 ([containerd#8781](containerd#8781))
  * [`be6406ca6`](containerd@be6406c) vendor: github.com/containerd/zfs v1.1.0
  * [`9f1260074`](containerd@9f12600) [release/1.6] vendor gotest.tools/v3 v3.5.0
  * [`526e9e0ce`](containerd@526e9e0) Bump grpc to v1.50.1
  * [`0e7d2d121`](containerd@0e7d2d1) go.mod: github.com/sirupsen/logrus v1.9.0
  * [`5b153c621`](containerd@5b153c6) go.mod: github.com/moby/sys/mountinfo v0.6.2
  * [`9dee60960`](containerd@9dee609) go.mod: github.com/moby/sys/mountinfo v0.6.0
* [release/1.6 backport] seccomp: always allow name_to_handle_at ([containerd#8754](containerd#8754))
  * [`07ea7b9e7`](containerd@07ea7b9) seccomp: always allow name_to_handle_at
* [release/1.6 backport] Update ginkgo to match cri-tools' version ([containerd#8759](containerd#8759))
  * [`1dae51fed`](containerd@1dae51f) Update ginkgo to match cri-tools' version
* [release/1.6 backport] integration/client: add timeout to `TestShimOOMScore` ([containerd#8749](containerd#8749))
  * [`bd76ab978`](containerd@bd76ab9) integration/client: add timeout to `TestShimOOMScore`
* [release/1.6 backport] Adding support to run hcsshim from local clone ([containerd#8713](containerd#8713))
  * [`8e14eccb2`](containerd@8e14ecc) Adding support to run hcsshim from local clone
* [1.6] Add Fields type alias to log package ([containerd#8739](containerd#8739))
  * [`9f2cdd589`](containerd@9f2cdd5) Add Fields type alias to log package
* [release/1.6] Pinned image support ([containerd#8720](containerd#8720))
  * [`f4713aad0`](containerd@f4713aa) Pinned image support
* [release/1.6 backport] runtime/v2/runc: handle early exits w/o big locks ([containerd#8695](containerd#8695))
  * [`dbeec47b4`](containerd@dbeec47) runtime/v2/runc: handle early exits w/o big locks
* [release/1.6 backport] move up to CRI-TOOLS v1.27.0 ([containerd#7997](containerd#7997))
  * [`a8e01e40a`](containerd@a8e01e4) move to CRI-TOOLS v1.27.0
  * [`755f80698`](containerd@755f806) move up to CRI-TOOLS v1.26.0
  * [`b29cc035f`](containerd@b29cc03) bump critools into ca1571e6edd116b2c95f52e3dfa0b4779b74223a
  * [`9138999f5`](containerd@9138999) Upgrade critools from 1.24.1 to 1.25.0
* [release/1.6] cherry-pick: No more nondistributable layers in MS registry ([containerd#8691](containerd#8691))
  * [`712ff8eb3`](containerd@712ff8e) No more nondistributable layers in MS registry
* [release/1.6] Fix cpu architecture detection issue on emulated ARM platform ([containerd#8533](containerd#8533))
  * [`2b16e4bfa`](containerd@2b16e4b) Add unit test to function GetCPUVariantFromArch
  * [`106e36ec3`](containerd@106e36e) Use uname machine field to get CPU variant if fails at /proc/cpuinfo
* [release/1.6] Update lint timeout ([containerd#8679](containerd#8679))
  * [`287fdfea6`](containerd@287fdfe) Update linter timeout to match main branch
* [release/1.6 backport] task: don't `close()` io before `cancel()` ([containerd#8659](containerd#8659))
  * [`b27f7daa5`](containerd@b27f7da) task: don't `close()` io before `cancel()`
* [release/1.6] update test box to fedora 37 ([containerd#8660](containerd#8660))
  * [`8b4c69248`](containerd@8b4c692) update test box to fedora 37
* [release/1.6] Revert "Downgrade MinGW to version 10.2.0" ([containerd#8668](containerd#8668))
  * [`81d6085af`](containerd@81d6085) Revert "Downgrade MinGW to version 10.2.0"
* [release/1.6 backport] Fix panic when remote differ returns empty result ([containerd#8640](containerd#8640))
  * [`f98122378`](containerd@f981223) Fix panic when remote differ returns empty result
* [1.6] Bump x/net to 0.8 ([containerd#8642](containerd#8642))
  * [`aa53f272d`](containerd@aa53f27) Bump x/net to 0.8
* [release/1.6 backport] remotes/docker: ResolverOptions: fix deprecation comments ([containerd#8620](containerd#8620))
  * [`56ff20839`](containerd@56ff208) remotes/docker: ResolverOptions: fix deprecation comments
* [release/1.6] notify readiness when registered plugins are ready ([containerd#8583](containerd#8583))
  * [`bccaf68b7`](containerd@bccaf68) notify readiness when registered plugins are ready
* [release/1.6] Update ttrpc to 1.1.2 ([containerd#8528](containerd#8528))
  * [`1cdbbe76b`](containerd@1cdbbe7) Update ttrpc to 1.1.2
</p>
</details>

<details><summary>2 commits</summary>
<p>

* [release/1.1] Unwrap io errors in server connection receive error handling ([containerd#143](containerd/ttrpc#143))
  * [`d5f7eed`](containerd/ttrpc@d5f7eed) Unwrap io errors in server connection receive error handling
</p>
</details>

<details><summary>49 commits</summary>
<p>

* gofumpt and update status badges ([containerd#75](containerd/zfs#75))
  * [`5e3457b`](containerd/zfs@5e3457b) TestZFSUsage: use t.TempDir()
  * [`6e9c675`](containerd/zfs@6e9c675) README: update badges
  * [`ff17a79`](containerd/zfs@ff17a79) gofmt code
* go.mod: github.com/mistifyio/go-zfs/v3 v3.0.1 ([containerd#73](containerd/zfs#73))
  * [`d3485b9`](containerd/zfs@d3485b9) go.mod: github.com/mistifyio/go-zfs/v3 v3.0.1
* gha: fix golangci-lint, and upgrade to v1.52.2 ([containerd#74](containerd/zfs#74))
  * [`23c831a`](containerd/zfs@23c831a) remove pre-go1.17 build-tags, and fix missing build-tags in plugin
  * [`e5acd95`](containerd/zfs@e5acd95) gha: fix golangci-lint, upgrade to v1.52.2
* Bump github.com/containerd/containerd from 1.6.12 to 1.6.18 ([containerd#72](containerd/zfs#72))
  * [`00b96c2`](containerd/zfs@00b96c2) Bump github.com/containerd/containerd from 1.6.12 to 1.6.18
* Bump github.com/containerd/containerd from 1.6.9 to 1.6.12 ([containerd#69](containerd/zfs#69))
  * [`a099def`](containerd/zfs@a099def) Bump github.com/containerd/containerd from 1.6.9 to 1.6.12
* Add CodeQL analysis workflow ([containerd#67](containerd/zfs#67))
  * [`fee1db7`](containerd/zfs@fee1db7) Add CodeQL analysis workflow
* Update GitHub actions CI workflow ([containerd#66](containerd/zfs#66))
  * [`b8b7ab2`](containerd/zfs@b8b7ab2) Update GitHub actions CI workflow
* Upgrade compiler to Go 1.19 and update dependencies ([containerd#68](containerd/zfs#68))
  * [`3e729b3`](containerd/zfs@3e729b3) Update dependencies
  * [`3c003f8`](containerd/zfs@3c003f8) Upgrade compiler to Go 1.19
* Remove references to io/ioutil package ([containerd#65](containerd/zfs#65))
  * [`d700762`](containerd/zfs@d700762) Remove references to io/ioutil package
* Update go.mod and move to supported Go version ([containerd#62](containerd/zfs#62))
  * [`f52906e`](containerd/zfs@f52906e) Update Go version to supported version
  * [`79ca2cb`](containerd/zfs@79ca2cb) Update containerd depedency to latest
* go.mod: github.com/mistifyio/go-zfs v3.0.0 ([containerd#59](containerd/zfs#59))
  * [`2e3db29`](containerd/zfs@2e3db29) go.mod: github.com/mistifyio/go-zfs v3.0.0
* go.mod: github.com/mistifyio/go-zfs/v3 v3.0.0-20220217145925-d014733a5309 ([containerd#58](containerd/zfs#58))
  * [`d904e63`](containerd/zfs@d904e63) go.mod: github.com/mistifyio/go-zfs/v3 v3.0.0-20220217145925-d014733a5309
* Update vendoring to containerd 1.6.x ([containerd#57](containerd/zfs#57))
  * [`e021180`](containerd/zfs@e021180) Update vendoring to containerd 1.6.x
* Bump github.com/containerd/containerd from 1.5.8 to 1.5.9 ([containerd#55](containerd/zfs#55))
  * [`fc0c9a9`](containerd/zfs@fc0c9a9) Bump github.com/containerd/containerd from 1.5.8 to 1.5.9
* Bump github.com/containerd/containerd from 1.5.5 to 1.5.8 ([containerd#54](containerd/zfs#54))
  * [`5d2f28c`](containerd/zfs@5d2f28c) Bump github.com/containerd/containerd from 1.5.5 to 1.5.8
* follow-up-containerd#52: fix the order of cause in fmt.Errorf ([containerd#53](containerd/zfs#53))
  * [`b3f193d`](containerd/zfs@b3f193d) follow-up-containerd#52: fix the order of cause in fmt.Errorf
* replace pkg/errors ([containerd#52](containerd/zfs#52))
  * [`d5b0a2f`](containerd/zfs@d5b0a2f) replace pkg/errors
* Bump github.com/containerd/containerd from 1.5.2 to 1.5.4 ([containerd#51](containerd/zfs#51))
  * [`fd6afa5`](containerd/zfs@fd6afa5) Bump github.com/containerd/containerd from 1.5.2 to 1.5.4
* Bump containerd to 1.5.2 ([containerd#50](containerd/zfs#50))
  * [`aef875e`](containerd/zfs@aef875e) bump containerd to 1.5.2
* Rename branches from master to main ([containerd#49](containerd/zfs#49))
  * [`35c6af7`](containerd/zfs@35c6af7) Rename branches from master to main
* sync up with containerd 1.5 GA  ([containerd#47](containerd/zfs#47))
  * [`3d5efef`](containerd/zfs@3d5efef) vendor sync up with containerd 1.5 ga
* README.md: fix CI badge ([containerd#46](containerd/zfs#46))
  * [`0977d81`](containerd/zfs@0977d81) README.md: fix CI badge
</p>
</details>

* **github.com/containerd/ttrpc**        v1.1.1 -> v1.1.2
* **github.com/containerd/zfs**          v1.0.0 -> v1.1.0
* **github.com/emicklei/go-restful/v3**  v3.7.3 -> v3.10.1
* **github.com/google/go-cmp**           v0.5.6 -> v0.5.9
* **github.com/google/uuid**             v1.2.0 -> v1.3.0
* **github.com/mistifyio/go-zfs/v3**     v3.0.1 **_new_**
* **github.com/moby/sys/mountinfo**      v0.5.0 -> v0.6.2
* **github.com/sirupsen/logrus**         v1.8.1 -> v1.9.0
* **github.com/stretchr/testify**        v1.7.0 -> v1.8.1
* **go.etcd.io/bbolt**                   v1.3.6 -> v1.3.7
* **golang.org/x/net**                   a158d28d115b -> v0.8.0
* **golang.org/x/sys**                   8c9f86f7a55f -> v0.6.0
* **golang.org/x/term**                  03fcf44c2211 -> v0.6.0
* **golang.org/x/text**                  v0.3.7 -> v0.8.0
* **google.golang.org/grpc**             v1.47.0 -> v1.50.1
* **google.golang.org/protobuf**         v1.28.0 -> v1.28.1
* **gotest.tools/v3**                    v3.0.3 -> v3.5.0

Previous release can be found at [v1.6.21](https://github.com/containerd/containerd/releases/tag/v1.6.21)
aravindhp added a commit to openshift/containerd that referenced this pull request Jul 27, 2023
containerd 1.6.22

Welcome to the v1.6.22 release of containerd!

The twenty-second patch release for containerd 1.6 contains various fixes and updates.

* **RunC: Update runc binary to v1.1.8** ([containerd#8842](containerd#8842))
* **CRI: Fix additionalGids: it should fallback to imageConfig.User when securityContext.RunAsUser,RunAsUsername are empty** ([containerd#8823](containerd#8823))
* **CRI: Write generated CNI config atomically** ([containerd#8826](containerd#8826))
* **Fix concurrent writes for `UpdateContainerStats`** ([containerd#8819](containerd#8819))
* **Make checkContainerTimestamps less strict on Windows** ([containerd#8827](containerd#8827))
* **Port-Forward: Correctly handle known errors** ([containerd#8805](containerd#8805))
* **Resolve docker.NewResolver race condition** ([containerd#8800](containerd#8800))
* **SecComp: Always allow `name_to_handle_at`** ([containerd#8754](containerd#8754))
* **Adding support to run hcsshim from local clone** ([containerd#8713](containerd#8713))
* **Pinned image support** ([containerd#8720](containerd#8720))
* **Runtime/V2/RunC: Handle early exits w/o big locks** ([containerd#8695](containerd#8695))
* **CRITool: Move up to CRI-TOOLS v1.27.0** ([containerd#7997](containerd#7997))
* **Fix cpu architecture detection issue on emulated ARM platform** ([containerd#8533](containerd#8533))
* **Task: Don't `close()` io before `cancel()`** ([containerd#8659](containerd#8659))
* **Fix panic when remote differ returns empty result** ([containerd#8640](containerd#8640))
* **Plugins: Notify readiness when registered plugins are ready** ([containerd#8583](containerd#8583))
* **Unwrap io errors in server connection receive error handling** ([ttrpc#143](containerd/ttrpc#143))

See the changelog for complete list of changes

Please try out the release binaries and report any issues at
https://github.com/containerd/containerd/issues.

* Akihiro Suda
* Phil Estes
* Sebastiaan van Stijn
* Derek McGowan
* Wei Fu
* Kazuyoshi Kato
* Austin Vazquez
* Samuel Karp
* dependabot[bot]
* Jin Dong
* Maksym Pavlenko
* Mike Brown
* Shingo Omura
* Akhil Mohan
* Bjorn Neergaard
* Laura Brehm
* Tony Fang
* Aditi Sharma
* Andrey Epifanov
* Benjamin Wang
* Brian Goff
* Cory Snider
* Daniel Canter
* Daniel Lenar
* Henry Wang
* Luca Comellini
* Madhav Jivrajani
* Mahamed Ali
* Mohit Sharma
* Oliver Radwell
* Priyanka Saggu
* Qasim Sarfraz
* Takumasa Sakao
* wangxiang
* zounengren

<details><summary>95 commits</summary>
<p>

* [release/1.6] Prepare release notes for v1.6.22 ([containerd#8863](containerd#8863))
  * [`0770a4601`](containerd@0770a46) [release/1.6] Add release notes for v1.6.22
* [release/1.6] migrate to community owned bucket for node e2e tests ([containerd#8876](containerd#8876))
  * [`512a672af`](containerd@512a672) migrate to community owned bucket
* [release/1.6] cri: memory.memsw.limit_in_bytes: no such file or directory ([containerd#8870](containerd#8870))
  * [`b585ff155`](containerd@b585ff1) cri: memory.memsw.limit_in_bytes: no such file or directory
* [release/1.6] Update go-restful to v3.10.1  ([containerd#8412](containerd#8412))
  * [`a322077bf`](containerd@a322077) go.mod: github.com/emicklei/go-restful/v3 v3.10.1
* [release/1.6 backport] update runc binary to v1.1.8 ([containerd#8842](containerd#8842))
  * [`b3ac068eb`](containerd@b3ac068) update runc binary to v1.1.8
* [release/1.6 backport] ci: remove libseccomp-dev installation for nightly ([containerd#8773](containerd#8773))
  * [`6e2bcb6dd`](containerd@6e2bcb6) ci: remove libseccomp-dev installation for nightly
* [release/1.6 backport] [CRI] fix additionalGids: it should fallback to imageConfig.User when securityContext.RunAsUser,RunAsUsername are empty ([containerd#8823](containerd#8823))
  * [`cd06f23af`](containerd@cd06f23) capture desc variable in range variable just in case that it run in parallel mode
  * [`30f5c6a1f`](containerd@30f5c6a) Use t.TempDir instead of os.MkdirTemp
  * [`59d8363ef`](containerd@59d8363) fix userstr for dditionalGids on Linux
* [release/1.6 backport] cri: write generated CNI config atomically ([containerd#8826](containerd#8826))
  * [`d75bf78c2`](containerd@d75bf78) ctr: update WritePidFile to use atomicfile
  * [`5f70b23c1`](containerd@5f70b23) shim: WritePidFile & WriteAddress use atomicfile
  * [`505d444b0`](containerd@505d444) cri: write generated CNI config atomically on Unix
  * [`b2d2d3829`](containerd@b2d2d38) atomicfile: new package for atomic file writes
* [release/1.6 backport] Fix concurrent writes for UpdateContainerStats ([containerd#8819](containerd#8819))
  * [`9f650143f`](containerd@9f65014) Fix concurrent writes for UpdateContainerStats
* [release/1.6 backport] Make checkContainerTimestamps less strict on Windows ([containerd#8827](containerd#8827))
  * [`568ce91ca`](containerd@568ce91) Make checkContainerTimestamps less strict on Windows
* [release/1.6 backport] dependency: bump go.etcd.io/bbolt to v1.3.7 ([containerd#8817](containerd#8817))
  * [`d2f47192a`](containerd@d2f4719) dependency: bump go.etcd.io/bbolt to v1.3.7
  * [`fb56dc245`](containerd@fb56dc2) [release/1.6] vendor: github.com/stretchr/testify v1.8.1
* [release/1.6 backport] Move logrus setup code to log package ([containerd#8832](containerd#8832))
  * [`7fbd5dc89`](containerd@7fbd5dc) Move logrus setup code to log package
* [release/1.6 backport] release: Add "cri-containerd.DEPRECATED.txt" in the deprecated cri-containerd-* bundles ([containerd#8820](containerd#8820))
  * [`59a143670`](containerd@59a1436) release: Add "cri-containerd.DEPRECATED.txt" in the deprecated cri-containerd-* bundles
* [release/1.6 backport] Use version 2 configuration format in docs ([containerd#8821](containerd#8821))
  * [`5b51b79e2`](containerd@5b51b79) [release/1.6] fix remaining "v1 config" plugin IDs
  * [`b7cf26d8d`](containerd@b7cf26d) docs: Fix sample config.toml syntax
  * [`fcdaf0966`](containerd@fcdaf09) docs: migrate config v1 to v2
  * [`728d5c5f0`](containerd@728d5c5) Use version 2 config and mention containerd config command
* [release/1.6] update go to go1.19.11 ([containerd#8816](containerd#8816))
  * [`81aa14718`](containerd@81aa147) [release/1.6] update go to go1.19.11
* [release/1.6] update go to go1.19.10 ([containerd#8715](containerd#8715))
  * [`17cd86629`](containerd@17cd866) [release/1.6] update go to go1.19.10
* [release/1.6 backport] bugfix(port-forward): Correctly handle known errors ([containerd#8805](containerd#8805))
  * [`fdb65f214`](containerd@fdb65f2) bugfix(port-forward): Correctly handle known errors
* [release/1.6] Resolve docker.NewResolver race condition ([containerd#8800](containerd#8800))
  * [`b5784af66`](containerd@b5784af) Change http.Header copy to builtin Clone
  * [`31c466f82`](containerd@31c466f) Resolve docker.NewResolver race condition
* [release/1.6 backport] vendor: github.com/containerd/zfs v1.1.0 ([containerd#8781](containerd#8781))
  * [`be6406ca6`](containerd@be6406c) vendor: github.com/containerd/zfs v1.1.0
  * [`9f1260074`](containerd@9f12600) [release/1.6] vendor gotest.tools/v3 v3.5.0
  * [`526e9e0ce`](containerd@526e9e0) Bump grpc to v1.50.1
  * [`0e7d2d121`](containerd@0e7d2d1) go.mod: github.com/sirupsen/logrus v1.9.0
  * [`5b153c621`](containerd@5b153c6) go.mod: github.com/moby/sys/mountinfo v0.6.2
  * [`9dee60960`](containerd@9dee609) go.mod: github.com/moby/sys/mountinfo v0.6.0
* [release/1.6 backport] seccomp: always allow name_to_handle_at ([containerd#8754](containerd#8754))
  * [`07ea7b9e7`](containerd@07ea7b9) seccomp: always allow name_to_handle_at
* [release/1.6 backport] Update ginkgo to match cri-tools' version ([containerd#8759](containerd#8759))
  * [`1dae51fed`](containerd@1dae51f) Update ginkgo to match cri-tools' version
* [release/1.6 backport] integration/client: add timeout to `TestShimOOMScore` ([containerd#8749](containerd#8749))
  * [`bd76ab978`](containerd@bd76ab9) integration/client: add timeout to `TestShimOOMScore`
* [release/1.6 backport] Adding support to run hcsshim from local clone ([containerd#8713](containerd#8713))
  * [`8e14eccb2`](containerd@8e14ecc) Adding support to run hcsshim from local clone
* [1.6] Add Fields type alias to log package ([containerd#8739](containerd#8739))
  * [`9f2cdd589`](containerd@9f2cdd5) Add Fields type alias to log package
* [release/1.6] Pinned image support ([containerd#8720](containerd#8720))
  * [`f4713aad0`](containerd@f4713aa) Pinned image support
* [release/1.6 backport] runtime/v2/runc: handle early exits w/o big locks ([containerd#8695](containerd#8695))
  * [`dbeec47b4`](containerd@dbeec47) runtime/v2/runc: handle early exits w/o big locks
* [release/1.6 backport] move up to CRI-TOOLS v1.27.0 ([containerd#7997](containerd#7997))
  * [`a8e01e40a`](containerd@a8e01e4) move to CRI-TOOLS v1.27.0
  * [`755f80698`](containerd@755f806) move up to CRI-TOOLS v1.26.0
  * [`b29cc035f`](containerd@b29cc03) bump critools into ca1571e6edd116b2c95f52e3dfa0b4779b74223a
  * [`9138999f5`](containerd@9138999) Upgrade critools from 1.24.1 to 1.25.0
* [release/1.6] cherry-pick: No more nondistributable layers in MS registry ([containerd#8691](containerd#8691))
  * [`712ff8eb3`](containerd@712ff8e) No more nondistributable layers in MS registry
* [release/1.6] Fix cpu architecture detection issue on emulated ARM platform ([containerd#8533](containerd#8533))
  * [`2b16e4bfa`](containerd@2b16e4b) Add unit test to function GetCPUVariantFromArch
  * [`106e36ec3`](containerd@106e36e) Use uname machine field to get CPU variant if fails at /proc/cpuinfo
* [release/1.6] Update lint timeout ([containerd#8679](containerd#8679))
  * [`287fdfea6`](containerd@287fdfe) Update linter timeout to match main branch
* [release/1.6 backport] task: don't `close()` io before `cancel()` ([containerd#8659](containerd#8659))
  * [`b27f7daa5`](containerd@b27f7da) task: don't `close()` io before `cancel()`
* [release/1.6] update test box to fedora 37 ([containerd#8660](containerd#8660))
  * [`8b4c69248`](containerd@8b4c692) update test box to fedora 37
* [release/1.6] Revert "Downgrade MinGW to version 10.2.0" ([containerd#8668](containerd#8668))
  * [`81d6085af`](containerd@81d6085) Revert "Downgrade MinGW to version 10.2.0"
* [release/1.6 backport] Fix panic when remote differ returns empty result ([containerd#8640](containerd#8640))
  * [`f98122378`](containerd@f981223) Fix panic when remote differ returns empty result
* [1.6] Bump x/net to 0.8 ([containerd#8642](containerd#8642))
  * [`aa53f272d`](containerd@aa53f27) Bump x/net to 0.8
* [release/1.6 backport] remotes/docker: ResolverOptions: fix deprecation comments ([containerd#8620](containerd#8620))
  * [`56ff20839`](containerd@56ff208) remotes/docker: ResolverOptions: fix deprecation comments
* [release/1.6] notify readiness when registered plugins are ready ([containerd#8583](containerd#8583))
  * [`bccaf68b7`](containerd@bccaf68) notify readiness when registered plugins are ready
* [release/1.6] Update ttrpc to 1.1.2 ([containerd#8528](containerd#8528))
  * [`1cdbbe76b`](containerd@1cdbbe7) Update ttrpc to 1.1.2
</p>
</details>

<details><summary>2 commits</summary>
<p>

* [release/1.1] Unwrap io errors in server connection receive error handling ([containerd#143](containerd/ttrpc#143))
  * [`d5f7eed`](containerd/ttrpc@d5f7eed) Unwrap io errors in server connection receive error handling
</p>
</details>

<details><summary>49 commits</summary>
<p>

* gofumpt and update status badges ([containerd#75](containerd/zfs#75))
  * [`5e3457b`](containerd/zfs@5e3457b) TestZFSUsage: use t.TempDir()
  * [`6e9c675`](containerd/zfs@6e9c675) README: update badges
  * [`ff17a79`](containerd/zfs@ff17a79) gofmt code
* go.mod: github.com/mistifyio/go-zfs/v3 v3.0.1 ([containerd#73](containerd/zfs#73))
  * [`d3485b9`](containerd/zfs@d3485b9) go.mod: github.com/mistifyio/go-zfs/v3 v3.0.1
* gha: fix golangci-lint, and upgrade to v1.52.2 ([containerd#74](containerd/zfs#74))
  * [`23c831a`](containerd/zfs@23c831a) remove pre-go1.17 build-tags, and fix missing build-tags in plugin
  * [`e5acd95`](containerd/zfs@e5acd95) gha: fix golangci-lint, upgrade to v1.52.2
* Bump github.com/containerd/containerd from 1.6.12 to 1.6.18 ([containerd#72](containerd/zfs#72))
  * [`00b96c2`](containerd/zfs@00b96c2) Bump github.com/containerd/containerd from 1.6.12 to 1.6.18
* Bump github.com/containerd/containerd from 1.6.9 to 1.6.12 ([containerd#69](containerd/zfs#69))
  * [`a099def`](containerd/zfs@a099def) Bump github.com/containerd/containerd from 1.6.9 to 1.6.12
* Add CodeQL analysis workflow ([containerd#67](containerd/zfs#67))
  * [`fee1db7`](containerd/zfs@fee1db7) Add CodeQL analysis workflow
* Update GitHub actions CI workflow ([containerd#66](containerd/zfs#66))
  * [`b8b7ab2`](containerd/zfs@b8b7ab2) Update GitHub actions CI workflow
* Upgrade compiler to Go 1.19 and update dependencies ([containerd#68](containerd/zfs#68))
  * [`3e729b3`](containerd/zfs@3e729b3) Update dependencies
  * [`3c003f8`](containerd/zfs@3c003f8) Upgrade compiler to Go 1.19
* Remove references to io/ioutil package ([containerd#65](containerd/zfs#65))
  * [`d700762`](containerd/zfs@d700762) Remove references to io/ioutil package
* Update go.mod and move to supported Go version ([containerd#62](containerd/zfs#62))
  * [`f52906e`](containerd/zfs@f52906e) Update Go version to supported version
  * [`79ca2cb`](containerd/zfs@79ca2cb) Update containerd depedency to latest
* go.mod: github.com/mistifyio/go-zfs v3.0.0 ([containerd#59](containerd/zfs#59))
  * [`2e3db29`](containerd/zfs@2e3db29) go.mod: github.com/mistifyio/go-zfs v3.0.0
* go.mod: github.com/mistifyio/go-zfs/v3 v3.0.0-20220217145925-d014733a5309 ([containerd#58](containerd/zfs#58))
  * [`d904e63`](containerd/zfs@d904e63) go.mod: github.com/mistifyio/go-zfs/v3 v3.0.0-20220217145925-d014733a5309
* Update vendoring to containerd 1.6.x ([containerd#57](containerd/zfs#57))
  * [`e021180`](containerd/zfs@e021180) Update vendoring to containerd 1.6.x
* Bump github.com/containerd/containerd from 1.5.8 to 1.5.9 ([containerd#55](containerd/zfs#55))
  * [`fc0c9a9`](containerd/zfs@fc0c9a9) Bump github.com/containerd/containerd from 1.5.8 to 1.5.9
* Bump github.com/containerd/containerd from 1.5.5 to 1.5.8 ([containerd#54](containerd/zfs#54))
  * [`5d2f28c`](containerd/zfs@5d2f28c) Bump github.com/containerd/containerd from 1.5.5 to 1.5.8
* follow-up-containerd#52: fix the order of cause in fmt.Errorf ([containerd#53](containerd/zfs#53))
  * [`b3f193d`](containerd/zfs@b3f193d) follow-up-containerd#52: fix the order of cause in fmt.Errorf
* replace pkg/errors ([containerd#52](containerd/zfs#52))
  * [`d5b0a2f`](containerd/zfs@d5b0a2f) replace pkg/errors
* Bump github.com/containerd/containerd from 1.5.2 to 1.5.4 ([containerd#51](containerd/zfs#51))
  * [`fd6afa5`](containerd/zfs@fd6afa5) Bump github.com/containerd/containerd from 1.5.2 to 1.5.4
* Bump containerd to 1.5.2 ([containerd#50](containerd/zfs#50))
  * [`aef875e`](containerd/zfs@aef875e) bump containerd to 1.5.2
* Rename branches from master to main ([containerd#49](containerd/zfs#49))
  * [`35c6af7`](containerd/zfs@35c6af7) Rename branches from master to main
* sync up with containerd 1.5 GA  ([containerd#47](containerd/zfs#47))
  * [`3d5efef`](containerd/zfs@3d5efef) vendor sync up with containerd 1.5 ga
* README.md: fix CI badge ([containerd#46](containerd/zfs#46))
  * [`0977d81`](containerd/zfs@0977d81) README.md: fix CI badge
</p>
</details>

* **github.com/containerd/ttrpc**        v1.1.1 -> v1.1.2
* **github.com/containerd/zfs**          v1.0.0 -> v1.1.0
* **github.com/emicklei/go-restful/v3**  v3.7.3 -> v3.10.1
* **github.com/google/go-cmp**           v0.5.6 -> v0.5.9
* **github.com/google/uuid**             v1.2.0 -> v1.3.0
* **github.com/mistifyio/go-zfs/v3**     v3.0.1 **_new_**
* **github.com/moby/sys/mountinfo**      v0.5.0 -> v0.6.2
* **github.com/sirupsen/logrus**         v1.8.1 -> v1.9.0
* **github.com/stretchr/testify**        v1.7.0 -> v1.8.1
* **go.etcd.io/bbolt**                   v1.3.6 -> v1.3.7
* **golang.org/x/net**                   a158d28d115b -> v0.8.0
* **golang.org/x/sys**                   8c9f86f7a55f -> v0.6.0
* **golang.org/x/term**                  03fcf44c2211 -> v0.6.0
* **golang.org/x/text**                  v0.3.7 -> v0.8.0
* **google.golang.org/grpc**             v1.47.0 -> v1.50.1
* **google.golang.org/protobuf**         v1.28.0 -> v1.28.1
* **gotest.tools/v3**                    v3.0.3 -> v3.5.0

Previous release can be found at [v1.6.21](https://github.com/containerd/containerd/releases/tag/v1.6.21)
aravindhp added a commit to openshift/containerd that referenced this pull request Jul 27, 2023
containerd 1.6.22

Welcome to the v1.6.22 release of containerd!

The twenty-second patch release for containerd 1.6 contains various fixes and updates.

* **RunC: Update runc binary to v1.1.8** ([containerd#8842](containerd#8842))
* **CRI: Fix additionalGids: it should fallback to imageConfig.User when securityContext.RunAsUser,RunAsUsername are empty** ([containerd#8823](containerd#8823))
* **CRI: Write generated CNI config atomically** ([containerd#8826](containerd#8826))
* **Fix concurrent writes for `UpdateContainerStats`** ([containerd#8819](containerd#8819))
* **Make checkContainerTimestamps less strict on Windows** ([containerd#8827](containerd#8827))
* **Port-Forward: Correctly handle known errors** ([containerd#8805](containerd#8805))
* **Resolve docker.NewResolver race condition** ([containerd#8800](containerd#8800))
* **SecComp: Always allow `name_to_handle_at`** ([containerd#8754](containerd#8754))
* **Adding support to run hcsshim from local clone** ([containerd#8713](containerd#8713))
* **Pinned image support** ([containerd#8720](containerd#8720))
* **Runtime/V2/RunC: Handle early exits w/o big locks** ([containerd#8695](containerd#8695))
* **CRITool: Move up to CRI-TOOLS v1.27.0** ([containerd#7997](containerd#7997))
* **Fix cpu architecture detection issue on emulated ARM platform** ([containerd#8533](containerd#8533))
* **Task: Don't `close()` io before `cancel()`** ([containerd#8659](containerd#8659))
* **Fix panic when remote differ returns empty result** ([containerd#8640](containerd#8640))
* **Plugins: Notify readiness when registered plugins are ready** ([containerd#8583](containerd#8583))
* **Unwrap io errors in server connection receive error handling** ([ttrpc#143](containerd/ttrpc#143))

See the changelog for complete list of changes

Please try out the release binaries and report any issues at
https://github.com/containerd/containerd/issues.

* Akihiro Suda
* Phil Estes
* Sebastiaan van Stijn
* Derek McGowan
* Wei Fu
* Kazuyoshi Kato
* Austin Vazquez
* Samuel Karp
* dependabot[bot]
* Jin Dong
* Maksym Pavlenko
* Mike Brown
* Shingo Omura
* Akhil Mohan
* Bjorn Neergaard
* Laura Brehm
* Tony Fang
* Aditi Sharma
* Andrey Epifanov
* Benjamin Wang
* Brian Goff
* Cory Snider
* Daniel Canter
* Daniel Lenar
* Henry Wang
* Luca Comellini
* Madhav Jivrajani
* Mahamed Ali
* Mohit Sharma
* Oliver Radwell
* Priyanka Saggu
* Qasim Sarfraz
* Takumasa Sakao
* wangxiang
* zounengren

<details><summary>95 commits</summary>
<p>

* [release/1.6] Prepare release notes for v1.6.22 ([containerd#8863](containerd#8863))
  * [`0770a4601`](containerd@0770a46) [release/1.6] Add release notes for v1.6.22
* [release/1.6] migrate to community owned bucket for node e2e tests ([containerd#8876](containerd#8876))
  * [`512a672af`](containerd@512a672) migrate to community owned bucket
* [release/1.6] cri: memory.memsw.limit_in_bytes: no such file or directory ([containerd#8870](containerd#8870))
  * [`b585ff155`](containerd@b585ff1) cri: memory.memsw.limit_in_bytes: no such file or directory
* [release/1.6] Update go-restful to v3.10.1  ([containerd#8412](containerd#8412))
  * [`a322077bf`](containerd@a322077) go.mod: github.com/emicklei/go-restful/v3 v3.10.1
* [release/1.6 backport] update runc binary to v1.1.8 ([containerd#8842](containerd#8842))
  * [`b3ac068eb`](containerd@b3ac068) update runc binary to v1.1.8
* [release/1.6 backport] ci: remove libseccomp-dev installation for nightly ([containerd#8773](containerd#8773))
  * [`6e2bcb6dd`](containerd@6e2bcb6) ci: remove libseccomp-dev installation for nightly
* [release/1.6 backport] [CRI] fix additionalGids: it should fallback to imageConfig.User when securityContext.RunAsUser,RunAsUsername are empty ([containerd#8823](containerd#8823))
  * [`cd06f23af`](containerd@cd06f23) capture desc variable in range variable just in case that it run in parallel mode
  * [`30f5c6a1f`](containerd@30f5c6a) Use t.TempDir instead of os.MkdirTemp
  * [`59d8363ef`](containerd@59d8363) fix userstr for dditionalGids on Linux
* [release/1.6 backport] cri: write generated CNI config atomically ([containerd#8826](containerd#8826))
  * [`d75bf78c2`](containerd@d75bf78) ctr: update WritePidFile to use atomicfile
  * [`5f70b23c1`](containerd@5f70b23) shim: WritePidFile & WriteAddress use atomicfile
  * [`505d444b0`](containerd@505d444) cri: write generated CNI config atomically on Unix
  * [`b2d2d3829`](containerd@b2d2d38) atomicfile: new package for atomic file writes
* [release/1.6 backport] Fix concurrent writes for UpdateContainerStats ([containerd#8819](containerd#8819))
  * [`9f650143f`](containerd@9f65014) Fix concurrent writes for UpdateContainerStats
* [release/1.6 backport] Make checkContainerTimestamps less strict on Windows ([containerd#8827](containerd#8827))
  * [`568ce91ca`](containerd@568ce91) Make checkContainerTimestamps less strict on Windows
* [release/1.6 backport] dependency: bump go.etcd.io/bbolt to v1.3.7 ([containerd#8817](containerd#8817))
  * [`d2f47192a`](containerd@d2f4719) dependency: bump go.etcd.io/bbolt to v1.3.7
  * [`fb56dc245`](containerd@fb56dc2) [release/1.6] vendor: github.com/stretchr/testify v1.8.1
* [release/1.6 backport] Move logrus setup code to log package ([containerd#8832](containerd#8832))
  * [`7fbd5dc89`](containerd@7fbd5dc) Move logrus setup code to log package
* [release/1.6 backport] release: Add "cri-containerd.DEPRECATED.txt" in the deprecated cri-containerd-* bundles ([containerd#8820](containerd#8820))
  * [`59a143670`](containerd@59a1436) release: Add "cri-containerd.DEPRECATED.txt" in the deprecated cri-containerd-* bundles
* [release/1.6 backport] Use version 2 configuration format in docs ([containerd#8821](containerd#8821))
  * [`5b51b79e2`](containerd@5b51b79) [release/1.6] fix remaining "v1 config" plugin IDs
  * [`b7cf26d8d`](containerd@b7cf26d) docs: Fix sample config.toml syntax
  * [`fcdaf0966`](containerd@fcdaf09) docs: migrate config v1 to v2
  * [`728d5c5f0`](containerd@728d5c5) Use version 2 config and mention containerd config command
* [release/1.6] update go to go1.19.11 ([containerd#8816](containerd#8816))
  * [`81aa14718`](containerd@81aa147) [release/1.6] update go to go1.19.11
* [release/1.6] update go to go1.19.10 ([containerd#8715](containerd#8715))
  * [`17cd86629`](containerd@17cd866) [release/1.6] update go to go1.19.10
* [release/1.6 backport] bugfix(port-forward): Correctly handle known errors ([containerd#8805](containerd#8805))
  * [`fdb65f214`](containerd@fdb65f2) bugfix(port-forward): Correctly handle known errors
* [release/1.6] Resolve docker.NewResolver race condition ([containerd#8800](containerd#8800))
  * [`b5784af66`](containerd@b5784af) Change http.Header copy to builtin Clone
  * [`31c466f82`](containerd@31c466f) Resolve docker.NewResolver race condition
* [release/1.6 backport] vendor: github.com/containerd/zfs v1.1.0 ([containerd#8781](containerd#8781))
  * [`be6406ca6`](containerd@be6406c) vendor: github.com/containerd/zfs v1.1.0
  * [`9f1260074`](containerd@9f12600) [release/1.6] vendor gotest.tools/v3 v3.5.0
  * [`526e9e0ce`](containerd@526e9e0) Bump grpc to v1.50.1
  * [`0e7d2d121`](containerd@0e7d2d1) go.mod: github.com/sirupsen/logrus v1.9.0
  * [`5b153c621`](containerd@5b153c6) go.mod: github.com/moby/sys/mountinfo v0.6.2
  * [`9dee60960`](containerd@9dee609) go.mod: github.com/moby/sys/mountinfo v0.6.0
* [release/1.6 backport] seccomp: always allow name_to_handle_at ([containerd#8754](containerd#8754))
  * [`07ea7b9e7`](containerd@07ea7b9) seccomp: always allow name_to_handle_at
* [release/1.6 backport] Update ginkgo to match cri-tools' version ([containerd#8759](containerd#8759))
  * [`1dae51fed`](containerd@1dae51f) Update ginkgo to match cri-tools' version
* [release/1.6 backport] integration/client: add timeout to `TestShimOOMScore` ([containerd#8749](containerd#8749))
  * [`bd76ab978`](containerd@bd76ab9) integration/client: add timeout to `TestShimOOMScore`
* [release/1.6 backport] Adding support to run hcsshim from local clone ([containerd#8713](containerd#8713))
  * [`8e14eccb2`](containerd@8e14ecc) Adding support to run hcsshim from local clone
* [1.6] Add Fields type alias to log package ([containerd#8739](containerd#8739))
  * [`9f2cdd589`](containerd@9f2cdd5) Add Fields type alias to log package
* [release/1.6] Pinned image support ([containerd#8720](containerd#8720))
  * [`f4713aad0`](containerd@f4713aa) Pinned image support
* [release/1.6 backport] runtime/v2/runc: handle early exits w/o big locks ([containerd#8695](containerd#8695))
  * [`dbeec47b4`](containerd@dbeec47) runtime/v2/runc: handle early exits w/o big locks
* [release/1.6 backport] move up to CRI-TOOLS v1.27.0 ([containerd#7997](containerd#7997))
  * [`a8e01e40a`](containerd@a8e01e4) move to CRI-TOOLS v1.27.0
  * [`755f80698`](containerd@755f806) move up to CRI-TOOLS v1.26.0
  * [`b29cc035f`](containerd@b29cc03) bump critools into ca1571e6edd116b2c95f52e3dfa0b4779b74223a
  * [`9138999f5`](containerd@9138999) Upgrade critools from 1.24.1 to 1.25.0
* [release/1.6] cherry-pick: No more nondistributable layers in MS registry ([containerd#8691](containerd#8691))
  * [`712ff8eb3`](containerd@712ff8e) No more nondistributable layers in MS registry
* [release/1.6] Fix cpu architecture detection issue on emulated ARM platform ([containerd#8533](containerd#8533))
  * [`2b16e4bfa`](containerd@2b16e4b) Add unit test to function GetCPUVariantFromArch
  * [`106e36ec3`](containerd@106e36e) Use uname machine field to get CPU variant if fails at /proc/cpuinfo
* [release/1.6] Update lint timeout ([containerd#8679](containerd#8679))
  * [`287fdfea6`](containerd@287fdfe) Update linter timeout to match main branch
* [release/1.6 backport] task: don't `close()` io before `cancel()` ([containerd#8659](containerd#8659))
  * [`b27f7daa5`](containerd@b27f7da) task: don't `close()` io before `cancel()`
* [release/1.6] update test box to fedora 37 ([containerd#8660](containerd#8660))
  * [`8b4c69248`](containerd@8b4c692) update test box to fedora 37
* [release/1.6] Revert "Downgrade MinGW to version 10.2.0" ([containerd#8668](containerd#8668))
  * [`81d6085af`](containerd@81d6085) Revert "Downgrade MinGW to version 10.2.0"
* [release/1.6 backport] Fix panic when remote differ returns empty result ([containerd#8640](containerd#8640))
  * [`f98122378`](containerd@f981223) Fix panic when remote differ returns empty result
* [1.6] Bump x/net to 0.8 ([containerd#8642](containerd#8642))
  * [`aa53f272d`](containerd@aa53f27) Bump x/net to 0.8
* [release/1.6 backport] remotes/docker: ResolverOptions: fix deprecation comments ([containerd#8620](containerd#8620))
  * [`56ff20839`](containerd@56ff208) remotes/docker: ResolverOptions: fix deprecation comments
* [release/1.6] notify readiness when registered plugins are ready ([containerd#8583](containerd#8583))
  * [`bccaf68b7`](containerd@bccaf68) notify readiness when registered plugins are ready
* [release/1.6] Update ttrpc to 1.1.2 ([containerd#8528](containerd#8528))
  * [`1cdbbe76b`](containerd@1cdbbe7) Update ttrpc to 1.1.2
</p>
</details>

<details><summary>2 commits</summary>
<p>

* [release/1.1] Unwrap io errors in server connection receive error handling ([containerd#143](containerd/ttrpc#143))
  * [`d5f7eed`](containerd/ttrpc@d5f7eed) Unwrap io errors in server connection receive error handling
</p>
</details>

<details><summary>49 commits</summary>
<p>

* gofumpt and update status badges ([containerd#75](containerd/zfs#75))
  * [`5e3457b`](containerd/zfs@5e3457b) TestZFSUsage: use t.TempDir()
  * [`6e9c675`](containerd/zfs@6e9c675) README: update badges
  * [`ff17a79`](containerd/zfs@ff17a79) gofmt code
* go.mod: github.com/mistifyio/go-zfs/v3 v3.0.1 ([containerd#73](containerd/zfs#73))
  * [`d3485b9`](containerd/zfs@d3485b9) go.mod: github.com/mistifyio/go-zfs/v3 v3.0.1
* gha: fix golangci-lint, and upgrade to v1.52.2 ([containerd#74](containerd/zfs#74))
  * [`23c831a`](containerd/zfs@23c831a) remove pre-go1.17 build-tags, and fix missing build-tags in plugin
  * [`e5acd95`](containerd/zfs@e5acd95) gha: fix golangci-lint, upgrade to v1.52.2
* Bump github.com/containerd/containerd from 1.6.12 to 1.6.18 ([containerd#72](containerd/zfs#72))
  * [`00b96c2`](containerd/zfs@00b96c2) Bump github.com/containerd/containerd from 1.6.12 to 1.6.18
* Bump github.com/containerd/containerd from 1.6.9 to 1.6.12 ([containerd#69](containerd/zfs#69))
  * [`a099def`](containerd/zfs@a099def) Bump github.com/containerd/containerd from 1.6.9 to 1.6.12
* Add CodeQL analysis workflow ([containerd#67](containerd/zfs#67))
  * [`fee1db7`](containerd/zfs@fee1db7) Add CodeQL analysis workflow
* Update GitHub actions CI workflow ([containerd#66](containerd/zfs#66))
  * [`b8b7ab2`](containerd/zfs@b8b7ab2) Update GitHub actions CI workflow
* Upgrade compiler to Go 1.19 and update dependencies ([containerd#68](containerd/zfs#68))
  * [`3e729b3`](containerd/zfs@3e729b3) Update dependencies
  * [`3c003f8`](containerd/zfs@3c003f8) Upgrade compiler to Go 1.19
* Remove references to io/ioutil package ([containerd#65](containerd/zfs#65))
  * [`d700762`](containerd/zfs@d700762) Remove references to io/ioutil package
* Update go.mod and move to supported Go version ([containerd#62](containerd/zfs#62))
  * [`f52906e`](containerd/zfs@f52906e) Update Go version to supported version
  * [`79ca2cb`](containerd/zfs@79ca2cb) Update containerd depedency to latest
* go.mod: github.com/mistifyio/go-zfs v3.0.0 ([containerd#59](containerd/zfs#59))
  * [`2e3db29`](containerd/zfs@2e3db29) go.mod: github.com/mistifyio/go-zfs v3.0.0
* go.mod: github.com/mistifyio/go-zfs/v3 v3.0.0-20220217145925-d014733a5309 ([containerd#58](containerd/zfs#58))
  * [`d904e63`](containerd/zfs@d904e63) go.mod: github.com/mistifyio/go-zfs/v3 v3.0.0-20220217145925-d014733a5309
* Update vendoring to containerd 1.6.x ([containerd#57](containerd/zfs#57))
  * [`e021180`](containerd/zfs@e021180) Update vendoring to containerd 1.6.x
* Bump github.com/containerd/containerd from 1.5.8 to 1.5.9 ([containerd#55](containerd/zfs#55))
  * [`fc0c9a9`](containerd/zfs@fc0c9a9) Bump github.com/containerd/containerd from 1.5.8 to 1.5.9
* Bump github.com/containerd/containerd from 1.5.5 to 1.5.8 ([containerd#54](containerd/zfs#54))
  * [`5d2f28c`](containerd/zfs@5d2f28c) Bump github.com/containerd/containerd from 1.5.5 to 1.5.8
* follow-up-containerd#52: fix the order of cause in fmt.Errorf ([containerd#53](containerd/zfs#53))
  * [`b3f193d`](containerd/zfs@b3f193d) follow-up-containerd#52: fix the order of cause in fmt.Errorf
* replace pkg/errors ([containerd#52](containerd/zfs#52))
  * [`d5b0a2f`](containerd/zfs@d5b0a2f) replace pkg/errors
* Bump github.com/containerd/containerd from 1.5.2 to 1.5.4 ([containerd#51](containerd/zfs#51))
  * [`fd6afa5`](containerd/zfs@fd6afa5) Bump github.com/containerd/containerd from 1.5.2 to 1.5.4
* Bump containerd to 1.5.2 ([containerd#50](containerd/zfs#50))
  * [`aef875e`](containerd/zfs@aef875e) bump containerd to 1.5.2
* Rename branches from master to main ([containerd#49](containerd/zfs#49))
  * [`35c6af7`](containerd/zfs@35c6af7) Rename branches from master to main
* sync up with containerd 1.5 GA  ([containerd#47](containerd/zfs#47))
  * [`3d5efef`](containerd/zfs@3d5efef) vendor sync up with containerd 1.5 ga
* README.md: fix CI badge ([containerd#46](containerd/zfs#46))
  * [`0977d81`](containerd/zfs@0977d81) README.md: fix CI badge
</p>
</details>

* **github.com/containerd/ttrpc**        v1.1.1 -> v1.1.2
* **github.com/containerd/zfs**          v1.0.0 -> v1.1.0
* **github.com/emicklei/go-restful/v3**  v3.7.3 -> v3.10.1
* **github.com/google/go-cmp**           v0.5.6 -> v0.5.9
* **github.com/google/uuid**             v1.2.0 -> v1.3.0
* **github.com/mistifyio/go-zfs/v3**     v3.0.1 **_new_**
* **github.com/moby/sys/mountinfo**      v0.5.0 -> v0.6.2
* **github.com/sirupsen/logrus**         v1.8.1 -> v1.9.0
* **github.com/stretchr/testify**        v1.7.0 -> v1.8.1
* **go.etcd.io/bbolt**                   v1.3.6 -> v1.3.7
* **golang.org/x/net**                   a158d28d115b -> v0.8.0
* **golang.org/x/sys**                   8c9f86f7a55f -> v0.6.0
* **golang.org/x/term**                  03fcf44c2211 -> v0.6.0
* **golang.org/x/text**                  v0.3.7 -> v0.8.0
* **google.golang.org/grpc**             v1.47.0 -> v1.50.1
* **google.golang.org/protobuf**         v1.28.0 -> v1.28.1
* **gotest.tools/v3**                    v3.0.3 -> v3.5.0

Previous release can be found at [v1.6.21](https://github.com/containerd/containerd/releases/tag/v1.6.21)
@thaJeztah thaJeztah deleted the 1.6_backport_concurrent_UpdateContainerStats branch October 23, 2023 08:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/cri Container Runtime Interface (CRI) kind/bug

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants