Commit Graph

16883 Commits

Author SHA1 Message Date
Maksym Pavlenko
10004d5967 Merge pull request #13675 from thaJeztah/rm_sequential
pkg/archive: remove redundant github.com/moby/sys/sequential dependency
2026-06-26 15:58:07 +00:00
Maksym Pavlenko
dd0f94a253 Merge pull request #13674 from thaJeztah/update_TestOpenUserFileCapsReads
pkg/oci: update TestOpenUserFileCapsReads to use newlined data
2026-06-26 15:57:12 +00:00
Mike Brown
7de5a292c2 Merge pull request #13245 from ahmetb/fix-image-pulling-throughput-cached-layers
cri: exclude cached layer bytes from image_pulling_throughput_mibps
2026-06-26 14:06:14 +00:00
Sebastiaan van Stijn
35f753cc44 pkg/archive: remove redundant github.com/moby/sys/sequential dependency
Go 1.26 adds support for passing Windows file flags via os.OpenFile,
eliminating the need to call windows.CreateFile directly.

github.com/moby/sys/sequential v0.7.0 uses this functionality when
compiled with go1.26, but provides fallbacks for older Go versions.

Given that containerd has go1.26 as a minimum requirement, we can
remove github.com/moby/sys/sequential as an intermediate, and implement
the code locally.

ref:

- 9d2fc630f5
- https://go-review.googlesource.com/c/go/+/699415
- https://go-review.googlesource.com/c/go/+/724621

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2026-06-26 10:14:53 +02:00
Sebastiaan van Stijn
7a7aebfcbf pkg/oci: update TestOpenUserFileCapsReads to use newlined data
This test verifies the maximum file-size constraints that were added in
[containerd7b05ec4]. However, github.com/moby/sys@v0.4.1 adds similar
constraints, including a constraint on line-length (1M): [moby/sys@2c56c3d]
that may hit before the file-size limit is reached if the data does not
contain newlines.

This patch updates the test to use data that includes newlines to make
sure it's testing the file-size constraints, not line-limit constraints.

[containerd7b05ec4]: 7b05ec421d
[moby/sys@2c56c3d]: 2c56c3d5d0

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2026-06-26 09:57:28 +02:00
Samuel Karp
163303e184 Merge pull request #13655 from samuelkarp/platform-policy
RELEASES: document platform support policy
2026-06-26 03:51:53 +00:00
Samuel Karp
d0b3819495 RELEASES: document platform support policy
Introduce a platform support policy for containerd to make support
commitments explicit. Platforms are organized into three tiers:
- Tier 1: Supported (built, tested in CI, gates merges)
- Tier 2: Released, best-effort (built, published, no CI testing)
- Tier 3: Build-verified (compiled in CI, not published)

This policy defines the requirements for each tier, outlines the
process for requesting changes, and describes the demotion policy.

Assisted-by: Claude Code:claude-opus-4-8
Assisted-by: Antigravity
Signed-off-by: Samuel Karp <samuelkarp@google.com>
2026-06-25 16:46:29 -07:00
Samuel Karp
42b82cf688 Merge pull request #13673 from akhilerm/runc-1.5
update runc to v1.5.0
2026-06-25 21:41:57 +00:00
Akhil Mohan
8f2bbc77a4 update runc to v1.5.0
release notes: https://github.com/opencontainers/runc/releases/tag/v1.5.0

Signed-off-by: Akhil Mohan <akhilerm@gmail.com>
2026-06-26 01:50:32 +05:30
Maksym Pavlenko
152f44b969 Merge pull request #13482 from lujinda/fix/restore-opts-snapshotter-check-20260527
[Bugfix] fix snapshotter variable check in ContainerWithCheckpoint
2026-06-25 19:33:25 +00:00
Samuel Karp
23378b987e Merge pull request #13648 from containerd/dependabot/github_actions/actions/checkout-7
build(deps): bump actions/checkout from 6 to 7
2026-06-25 19:09:33 +00:00
Maksym Pavlenko
99d01fc51e Merge pull request #13623 from yugstar/fix-13611-checkpoint-env-dedup
cri: fix duplicated image env vars on checkpoint import
2026-06-25 19:05:02 +00:00
Maksym Pavlenko
028999d45d Merge pull request #13654 from crawfordxx/fix-createcontainer-reject-stopped-sandbox
cri: reject CreateContainer when sandbox is not running
2026-06-25 19:01:36 +00:00
Maksym Pavlenko
9ffb2ed974 Merge pull request #13493 from containerd/dependabot/go_modules/github.com/mdlayher/vsock-1.3.0
build(deps): bump github.com/mdlayher/vsock from 1.2.1 to 1.3.0
2026-06-25 15:20:42 +00:00
Maksym Pavlenko
a1030ad4db Merge pull request #13527 from containerd/dependabot/go_modules/github.com/intel/goresctrl-0.13.0
build(deps): bump github.com/intel/goresctrl from 0.12.0 to 0.13.0
2026-06-25 15:20:00 +00:00
Derek McGowan
53f4271fd9 Merge pull request #13661 from akerouanton/default-unix-spec
oci: use path.Join to fill CgroupsPath
2026-06-25 14:18:19 +00:00
Ahmet Alp Balkan
16ff70b861 cri: add image_pulling_throughput_mibps and deprecate image_pulling_throughput
Address review feedback on the previous commit:

- Use MiB/s (binary, 1024^2) consistently. The divisor was already
  1024*1024; the constant name (mbToByte) and the Help/comment text
  mislabeled the unit.
- Keep image_pulling_throughput for backwards compatibility but mark
  it Deprecated. Its prom.DefBuckets top out at 10 MiB/s, which
  saturates almost immediately on modern hardware.
- Add image_pulling_throughput_mibps with buckets covering 0.1 MiB/s
  through 4000 MiB/s (~31 Gbps), enough for 10G+ NICs. Above that,
  disk write throughput becomes the bottleneck rather than the
  network, so finer buckets aren't worth the cardinality.
- Both metrics observe the same value (fetched bytes / pull duration,
  cached layers excluded; fully-cached pulls skipped). Only the
  buckets and deprecation status differ.

Signed-off-by: Ahmet Alp Balkan <ahmet@linkedin.com>
2026-06-25 07:55:52 -05:00
Ahmet Alp Balkan
1755053a78 cri: exclude cached layer bytes from image_pulling_throughput
The image_pulling_throughput histogram divided the full image size (all
layers plus config) by wall-clock pull duration. Layers already present
in the content store were counted in the numerator, so the reported
MB/s came out way higher than what was actually fetched. Fully-cached
pulls were the worst case: they "pulled" in milliseconds but reported
the full image size, showing up as huge outliers in the histogram.

Both pull paths (local client.Pull and the transfer service) already
maintain a totalBytesRead counter in pullRequestReporter for progress
and timeout checks. Cached blobs never trigger a fetch, so the counter
naturally excludes them. Plumb that value out of both helpers and use
it in place of image.Size(ctx). Fully-cached pulls (bytesPulled == 0)
are not observed, so they don't produce near-infinite samples.

Also updates the metric's Help text to say the denominator is the
end-to-end pull duration including layer extraction and snapshotter
unpack, not just network transfer.

Addresses #13244

Signed-off-by: Ahmet Alp Balkan <ahmet@linkedin.com>
2026-06-25 07:55:52 -05:00
Maksym Pavlenko
a4e0f8d510 Merge pull request #13557 from containerd/dependabot/go_modules/moby-sys-eb8ba2dd7c
build(deps): bump github.com/moby/sys/sequential from 0.6.0 to 0.7.0 in the moby-sys group across 1 directory
2026-06-25 04:46:56 +00:00
Maksym Pavlenko
fc5a32efec Merge pull request #13411 from moosepass/moosepass/fix-tracing-hook-order
Register tracing log hook before signal handling
2026-06-25 04:38:55 +00:00
Maksym Pavlenko
ef8a596035 Merge pull request #13329 from ayush-panta/fix-flaky-windows-test-content-client
content: handle sharing violations on Windows
2026-06-25 04:37:07 +00:00
dependabot[bot]
3fdb9abcab build(deps): bump github.com/mdlayher/vsock from 1.2.1 to 1.3.0
Bumps [github.com/mdlayher/vsock](https://github.com/mdlayher/vsock) from 1.2.1 to 1.3.0.
- [Release notes](https://github.com/mdlayher/vsock/releases)
- [Changelog](https://github.com/mdlayher/vsock/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mdlayher/vsock/compare/v1.2.1...v1.3.0)

---
updated-dependencies:
- dependency-name: github.com/mdlayher/vsock
  dependency-version: 1.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-24 21:32:37 -07:00
dependabot[bot]
787bb3da64 build(deps): bump github.com/intel/goresctrl from 0.12.0 to 0.13.0
Bumps [github.com/intel/goresctrl](https://github.com/intel/goresctrl) from 0.12.0 to 0.13.0.
- [Release notes](https://github.com/intel/goresctrl/releases)
- [Commits](https://github.com/intel/goresctrl/compare/v0.12.0...v0.13.0)

---
updated-dependencies:
- dependency-name: github.com/intel/goresctrl
  dependency-version: 0.13.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-24 21:31:31 -07:00
Maksym Pavlenko
3054d6cde0 Merge pull request #13659 from thaJeztah/bump_runhcs
update runhcs to v0.15.0-rc.2
2026-06-25 01:12:30 +00:00
Albin Kerouanton
51e3a8f4ab oci: use path.Join to fill CgroupsPath
`populateDefaultUnixSpec` uses `filepath.Join` to generate the default
`CgroupsPath`. On Windows, this produces invalid paths as path elems are
joined with backslash. Switch to `path.Join` instead.

Signed-off-by: Albin Kerouanton <albin.kerouanton@docker.com>
2026-06-24 10:20:54 +02:00
Samuel Karp
57489ef654 Merge pull request #13649 from containerd/dependabot/go_modules/go.etcd.io/bbolt-1.5.0
build(deps): bump go.etcd.io/bbolt from 1.4.3 to 1.5.0
2026-06-23 22:03:42 +00:00
Sebastiaan van Stijn
ceee91ff5a update runhcs to v0.15.0-rc.2
full diff: https://github.com/microsoft/hcsshim/compare/v0.15.0-rc.1...v0.15.0-rc.2

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2026-06-23 22:48:08 +02:00
Maksym Pavlenko
33fb482a85 Merge pull request #13656 from erofs/cri-image-volume
cri: don't leak the new mount if mutateImageMount() fails
2026-06-23 17:43:39 +00:00
dependabot[bot]
7f3f8fffdd build(deps): bump go.etcd.io/bbolt from 1.4.3 to 1.5.0
Bumps [go.etcd.io/bbolt](https://github.com/etcd-io/bbolt) from 1.4.3 to 1.5.0.
- [Release notes](https://github.com/etcd-io/bbolt/releases)
- [Commits](https://github.com/etcd-io/bbolt/compare/v1.4.3...v1.5.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-23 10:23:28 -07:00
dependabot[bot]
38aaa269c7 build(deps): bump actions/checkout from 6 to 7
Bumps [actions/checkout](https://github.com/actions/checkout) from 6 to 7.
- [Release notes](https://github.com/actions/checkout/releases)
- [Commits](https://github.com/actions/checkout/compare/v6...v7)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-23 17:22:48 +00:00
Maksym Pavlenko
24226cb4c8 Merge pull request #13650 from containerd/dependabot/github_actions/softprops/action-gh-release-3.0.1
build(deps): bump softprops/action-gh-release from 3.0.0 to 3.0.1
2026-06-23 16:06:48 +00:00
Gao Xiang
a88ce40fd1 cri: don't leak the new mount if mutateImageMount() fails
Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
2026-06-23 17:09:27 +08:00
crawfordxx
ae30a5cad2 cri: reject CreateContainer when sandbox is not running
Before this fix, CreateContainer would proceed even if the sandbox
had already stopped or was in an unknown state. This could result in
containers being created in an unusable sandbox, leading to confusing
errors downstream.

StartContainer already guards with the same check:

  if sandbox.Status.Get().State != sandboxstore.StateReady {
      return nil, fmt.Errorf("sandbox container %q is not running", ...)
  }

Apply the identical guard in CreateContainer, immediately after the
sandbox state is known, so that callers receive a clear error instead
of a partial container object.

Fixes #13599

Signed-off-by: crawfordxx <crawfordxx@users.noreply.github.com>
2026-06-23 12:07:39 +08:00
Maksym Pavlenko
8413528830 Merge pull request #13651 from containerd/dependabot/go_modules/github.com/pelletier/go-toml/v2-2.4.1
build(deps): bump github.com/pelletier/go-toml/v2 from 2.3.1 to 2.4.1
2026-06-23 02:44:38 +00:00
Maksym Pavlenko
07c47c8346 Merge pull request #13618 from s3onghyun/docs-nri-dupword
docs: fix duplicated word in NRI guide
2026-06-22 23:23:35 +00:00
dependabot[bot]
f407302bab build(deps): bump github.com/pelletier/go-toml/v2 from 2.3.1 to 2.4.1
Bumps [github.com/pelletier/go-toml/v2](https://github.com/pelletier/go-toml) from 2.3.1 to 2.4.1.
- [Release notes](https://github.com/pelletier/go-toml/releases)
- [Commits](https://github.com/pelletier/go-toml/compare/v2.3.1...v2.4.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-22 23:23:12 +00:00
dependabot[bot]
ef32a6c8ac build(deps): bump github.com/moby/sys/sequential
Bumps the moby-sys group with 1 update in the / directory: [github.com/moby/sys/sequential](https://github.com/moby/sys).


Updates `github.com/moby/sys/sequential` from 0.6.0 to 0.7.0
- [Release notes](https://github.com/moby/sys/releases)
- [Commits](https://github.com/moby/sys/compare/signal/v0.6.0...signal/v0.7.0)

---
updated-dependencies:
- dependency-name: github.com/moby/sys/sequential
  dependency-version: 0.7.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: moby-sys
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-22 23:23:06 +00:00
dependabot[bot]
d568ae9cb5 build(deps): bump softprops/action-gh-release from 3.0.0 to 3.0.1
Bumps [softprops/action-gh-release](https://github.com/softprops/action-gh-release) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/softprops/action-gh-release/releases)
- [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md)
- [Commits](b430933298...718ea10b13)

---
updated-dependencies:
- dependency-name: softprops/action-gh-release
  dependency-version: 3.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-22 23:23:04 +00:00
Maksym Pavlenko
49480db376 Merge pull request #13634 from dmcgowan/gc-forward-references
core/metadata: add forward References to the GC collection context
2026-06-22 23:20:07 +00:00
Fu Wei
7000458e29 Merge pull request #13518 from fuweid/add-trace-for-image-pull
integration: add http trace for debug
2026-06-22 16:16:10 +00:00
Fu Wei
3fcad510c2 Merge pull request #13588 from austinvazquez/fix-flaky-images-create-update-delete-test
test: fix flaky image timestamp check on coarse clocks
2026-06-22 14:07:11 +00:00
Derek McGowan
4be39f13f4 core/metadata: add forward References to the GC collection context
Extend the garbage-collection framework so a collectible resource can emit
forward references during graph traversal, in addition to the existing
back-reference mechanism.

A CollectionContext may now implement the optional collectionWithReferences
interface:

	References(ctx context.Context, node gc.Node, fn func(gc.Node))

When the GC visits a node whose resource type was registered by an external
collector, gcContext.references consults the per-type References
implementation after the built-in core resource types are handled.

This is the forward-reference analogue of collectionWithBackRefs.  Whereas
ActiveWithBackRefs must enumerate every edge up front and the gcContext
holds all of them in its backRefs map for the entire collection, References
is invoked on demand for a single node.  A collector whose resources fan
out to many other nodes can therefore emit those edges without retaining
them in memory for the gc context.

This commit is intentionally a no-op: no plugin registers a collector that
uses collectionWithReferences yet.  It is isolated here so that concurrent
development efforts that depend on this interface can be proposed and
reviewed upstream independently.

Signed-off-by: Derek McGowan <derek@mcg.dev>
2026-06-19 12:49:30 -07:00
Derek McGowan
e96fd14b81 Merge pull request #13585 from vvoland/content-proxy-convert-grpc-errors
core/content/proxy: Convert reader errors to native errdefs
2026-06-19 00:01:53 +00:00
Samuel Karp
5558f3aa0e Merge pull request #13626 from samuelkarp/june-18-combined-main
Patches
2026-06-18 16:02:14 -07:00
Derek McGowan
bfc75a4bc4 Merge pull request #13624 from chris-crone/mkfs-erofs-4k
erofs: align default mkfs block size across platforms
2026-06-18 21:13:54 +00:00
Chris Crone
773d3517dd erofs: align default mkfs block size across platforms
Force a 4K block size on all platforms rather than only on darwin.
An explicit caller-supplied -b is still respected.

Signed-off-by: Chris Crone <christopher.crone@docker.com>
2026-06-18 14:25:26 -04:00
Wei Fu
3d80ce2881 integration: add http trace for debug
This is used to debug the flaky test case - TestCRIImagePullTimeout

Signed-off-by: Wei Fu <fuweid89@gmail.com>
2026-06-18 12:46:59 -04:00
Aman Raj
6a677e0fd6 cri: fix duplicated image env vars on checkpoint import
CRImportCheckpoint built the combined environment (image env followed by
the CRI container env) into a local slice, then re-appended that slice to
imageConfig.Env, duplicating every image environment variable on the
restored container. Assign the combined slice directly instead.

Fixes #13611

Signed-off-by: Aman Raj <aman.yug@gmail.com>
2026-06-18 22:04:33 +05:30
s3onghyun
59ccb0029b docs: fix duplicated word in NRI guide
Signed-off-by: s3onghyun <s3onghyun.hong@gmail.com>
2026-06-18 17:44:26 +09:00
Derek McGowan
b6aca07dd5 Merge pull request #13536 from eginez/dev/eginez/1104-fix-shim-windows-awaitpipeready-bails-on
fix(shim/windows): retry on winio.ErrTimeout in awaitPipeReady
2026-06-16 16:39:46 +00:00