Commit Graph

14070 Commits

Author SHA1 Message Date
kiashok
5aa05481dd Add OSVersion to platform protobuf
It also extends the functions in api/types/platform_helpers.go

Signed-off-by: kiashok <kiashok@microsoft.com>
2024-02-07 11:33:51 -08:00
kiashok
d9cae66d8d Extend string match in make protos
Signed-off-by: kiashok <kiashok@microsoft.com>
2024-02-07 11:30:32 -08:00
Derek McGowan
c58b1fb407
Update github.com/containerd/console to v1.0.4
Signed-off-by: Derek McGowan <derek@mcg.dev>
2024-02-07 10:15:53 -08:00
Davanum Srinivas
69dff411ad
Merge pull request #9732 from henry118/big9726
bug fix: make sure cri image is pinned when it is pulled outside cri
2024-02-07 17:58:21 +00:00
Rodrigo Campos
06ed897b22 cri/server: Add userns tests in PodSandboxStatus
Signed-off-by: Rodrigo Campos <rodrigoca@microsoft.com>
2024-02-07 17:06:01 +01:00
Rodrigo Campos
6c356a5c75 cri: Expose userns in PodSandboxStatus rpc
We added support for userns but we weren't showing it in the
podSandboxStatus.

Let's just show the whole nsOpts, so we don't forget in the future
either if something else inside there changes.

Please note that this will expose the content of nsOpts.TargetId that we
weren't exposing before. But that seemed like a bug to me.

Signed-off-by: Rodrigo Campos <rodrigoca@microsoft.com>

Maybe this is better?
2024-02-07 17:06:01 +01:00
Henry Wang
1eaf0c1f04 bug fix: make sure cri image is pinned when it is pulled outside cri
Signed-off-by: Henry Wang <henwang@amazon.com>
2024-02-07 16:03:40 +00:00
Fu Wei
ff464f3687
Merge pull request #9779 from dmcgowan/move-image-event-publishing
Move image event publishing to metadata store
2024-02-07 14:10:42 +00:00
Fu Wei
805ed8e871
Merge pull request #9743 from klihub/fixes/nri-fd-double-close
go.{mod,sum}: update NRI dependency, fixing a potential fd double close error.
2024-02-07 08:15:40 +00:00
Samuel Karp
886795dd32
Merge pull request #9777 from mxpv/ci
[CI] Move inline PS scripts into files
2024-02-07 08:13:05 +00:00
Fu Wei
de14037133
Merge pull request #9744 from klihub/devel/enable-nri-by-default
Flip NRI on by default.
2024-02-07 07:55:29 +00:00
Derek McGowan
79a3b20a63
Merge pull request #9764 from Fish-pro/patch-1
Clean up repeated package import
2024-02-07 05:53:38 +00:00
Derek McGowan
9eb9038a9e
Avoid publishing data events during transaction
Signed-off-by: Derek McGowan <derek@mcg.dev>
2024-02-06 21:38:32 -08:00
Derek McGowan
86530c0afb
Move image event publishing to metadata store
The metadata store is in the best place to handle events directly after
the database has been updated. This prevents every user of the image
store interface from having to know whether or not they are responsible
for publishing events and avoid double events if the grpc local service
is used.

Signed-off-by: Derek McGowan <derek@mcg.dev>
2024-02-06 21:24:55 -08:00
Maksym Pavlenko
32bd8eff9e Move inline PS scripts into files
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2024-02-06 18:27:21 -08:00
Krisztian Litkey
4e8e21a7d6
go.{mod,sum}: update NRI dependency, re-vendor.
Pull in latest NRI fixing a potential fd double close error.

Signed-off-by: Krisztian Litkey <krisztian.litkey@intel.com>
2024-02-06 14:03:07 +02:00
Fu Wei
2f807b606a
Merge pull request #9750 from jiusanzhou/bugfix/integration-fix-strace-inject
Support inject delay running with the old version (4.x) of strace for test case
2024-02-06 05:30:42 +00:00
Maksym Pavlenko
d297fbee39
Merge pull request #9753 from kiashok/updateHcsshimMain
Update hcsshim to v0.12.0-rc.3
2024-02-06 03:45:22 +00:00
Fu Wei
e5a8e6ebcd
Merge pull request #9763 from mxpv/stale
Treat PRs that require rebase > 90 days as stale
2024-02-06 03:36:54 +00:00
Zechun Chen
5cbe92e88e Clean up repeated package import
Signed-off-by: Zechun Chen <zechun.chen@daocloud.io>
2024-02-06 11:06:33 +08:00
Maksym Pavlenko
72950c00b8 Treat PRs that require rebase > 90 days as stale
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2024-02-05 18:23:20 -08:00
Maksym Pavlenko
c78d526825
Merge pull request #9757 from containerd/dependabot/go_modules/github.com/klauspost/compress-1.17.6
build(deps): bump github.com/klauspost/compress from 1.17.5 to 1.17.6
2024-02-06 02:13:35 +00:00
Maksym Pavlenko
56e026bf70
Merge pull request #9760 from containerd/dependabot/go_modules/github.com/opencontainers/image-spec-1.1.0-rc6
build(deps): bump github.com/opencontainers/image-spec from 1.1.0-rc5 to 1.1.0-rc6
2024-02-06 02:12:55 +00:00
Maksym Pavlenko
a4ff0b3139
Merge pull request #9754 from mxpv/ttrpc_update
Update TTRPC
2024-02-06 02:02:16 +00:00
dependabot[bot]
db437580bc
build(deps): bump github.com/opencontainers/image-spec
Bumps [github.com/opencontainers/image-spec](https://github.com/opencontainers/image-spec) from 1.1.0-rc5 to 1.1.0-rc6.
- [Release notes](https://github.com/opencontainers/image-spec/releases)
- [Changelog](https://github.com/opencontainers/image-spec/blob/main/RELEASES.md)
- [Commits](https://github.com/opencontainers/image-spec/compare/v1.1.0-rc5...v1.1.0-rc6)

---
updated-dependencies:
- dependency-name: github.com/opencontainers/image-spec
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-05 23:31:58 +00:00
dependabot[bot]
2c7d69530d
build(deps): bump github.com/klauspost/compress from 1.17.5 to 1.17.6
Bumps [github.com/klauspost/compress](https://github.com/klauspost/compress) from 1.17.5 to 1.17.6.
- [Release notes](https://github.com/klauspost/compress/releases)
- [Changelog](https://github.com/klauspost/compress/blob/master/.goreleaser.yml)
- [Commits](https://github.com/klauspost/compress/compare/v1.17.5...v1.17.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-05 23:30:39 +00:00
Maksym Pavlenko
da1673f55d Update vendor
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2024-02-05 11:48:16 -08:00
Maksym Pavlenko
047d42e901 Update ttrpc to v1.2.3
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2024-02-05 11:48:04 -08:00
Kirtana Ashok
64e96c7d47 Update hcsshim to v0.12.0-rc.3
Signed-off-by: Kirtana Ashok <kiashok@microsoft.com>
2024-02-05 10:42:36 -08:00
Zoe
a9060cda4a Support inject delay running with the old version (4.x) of strace for test case.
Only the newer version of strace can support `--detach-on` options
and set time duration with human readable string.

In the 4.x version of strace, using `-b` to replace `--detach-on`,
and injecting a delay with int usecs.

Signed-off-by: Zoe <hi@zoe.im>
2024-02-05 21:27:41 +08:00
Anthony Nandaa
9ef94fe528 fix(docs): fix cp and add step to include binaries in the $env:Path
This commit adds an extra (optional) step for the Windows
installation/set-up to include the containerd binaries in
the $env:Path so that later executions especially
for `ctr.exe` if needed, do not require to specify the full path.

It also further fixes the previous steps to be absolute and
also work with re-installations and upgrades.

Signed-off-by: Anthony Nandaa <profnandaa@gmail.com>
2024-02-05 11:41:45 +03:00
Fu Wei
f5e7fe0cb6
Merge pull request #9644 from abel-von/fix-sandbox-status
sandbox: fix podsandbox recover status issue
2024-02-05 07:50:34 +00:00
Samuel Karp
0125a42fb5
Merge pull request #9729 from mxpv/duration
Remove duplicated TOML duration parsers
2024-02-05 07:43:51 +00:00
Krisztian Litkey
fe24b918f6
pkg/nri, docs: enable NRI by default.
Signed-off-by: Krisztian Litkey <krisztian.litkey@intel.com>
2024-02-04 11:41:56 +02:00
Abel Feng
e230ed939c sandbox: add sandbox recover ut and e2e test
Signed-off-by: Abel Feng <fshb1988@gmail.com>
2024-02-04 11:55:46 +08:00
Abel Feng
3124964743 sandbox: fix recover status set issue
We can't set the status to Ready before task.Wait succeed.

Signed-off-by: Abel Feng <fshb1988@gmail.com>
2024-02-04 11:52:37 +08:00
Angelos Kolaitis
256637249b
Fix config import relative path glob
Previously, resolveImports would apply a glob filter if
the path contained any '*', or otherwise convert relative
paths to absolute. This meant that it was impossible to
specify globs with paths relative to the main config file.

This commit first resolves relative to absolute paths, then
applies the glob filter (if any). A test case is added to ensure
that this now works as expected.

Signed-off-by: Angelos Kolaitis <neoaggelos@gmail.com>
2024-02-03 21:03:11 +02:00
Akihiro Suda
6670695836
Revert "cri: make read-only mounts recursively read-only"
Revert PR 9713, as it appeared to break the compatibility too much
https://github.com/kubernetes/enhancements/pull/3858#issuecomment-1925441072

This reverts commit b2f254fff0.

> Conflicts:
>	internal/cri/opts/spec_linux_opts.go

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2024-02-04 01:17:14 +09:00
Justin Chadwell
a9152ebf89 copy: prevent potential deadlock if close before fully written
We also need an additional check to avoid setting both the error and
response which can create a race where they can arrive in the receiving
thread in either order.

If we hit an error, we don't need to send the response.

> There is a condition where the registry (unexpectedly, not to spec)
> returns 201 or 204 on the put before the body is fully written. I would
> expect that the http library would issue close and could fall into a
> deadlock here. We could just read respC and call setResponse. In that
> case ErrClosedPipe would get returned and Commit shouldn't be called
> anyway.

Signed-off-by: Justin Chadwell <me@jedevc.com>
2024-02-03 10:20:11 +01:00
Justin Chadwell
b48e1141eb copy: setError should imply Close
If sending two messages from goroutine X:

	a <- 1
	b <- 2

And receiving them in goroutine Y:

	select {
	case <- a:
	case <- b:
	}

Either branch of the select can trigger first - so when we call
.setError and .Close next to each other, we don't know whether the done
channel will close first or the error channel will receive first - so
sometimes, we get an incorrect error message.

We resolve this by not sending both signals - instead, we can have
.setError *imply* .Close, by having the pushWriter call .Close on
itself, after receiving an error.

Signed-off-by: Justin Chadwell <me@jedevc.com>
2024-02-03 10:20:11 +01:00
Justin Chadwell
e4f91c2df0 copy: remove max number of ErrResets
If a writer continually asks to be reset then it should always succeed -
it should be the responsibility of the underlying content.Writer to
stop producing ErrReset after some amount of time and to instead return
the underlying issue - which pushWriter already does today, using the
doWithRetries function.

doWithRetries already has a separate cap for retries of 6 requests (5
retries after the original failure), and it seems like this would be
previously overridden by content.Copy's max number of 5 attempts, hiding
the original error.

Signed-off-by: Justin Chadwell <me@jedevc.com>
2024-02-03 10:20:10 +01:00
Justin Chadwell
651cfa2a2c pushWriter: refactor reset pipe logic into separate function
Signed-off-by: Justin Chadwell <me@jedevc.com>
2024-02-03 10:18:05 +01:00
Justin Chadwell
9d7641ff3e copy: improve error detection from closed pipes
If we get io.ErrClosedPipe in pushWriter.Write, there are three possible
scenarios:

- The request has failed, we need to attempt a reset, so we can expect a
  new pipe incoming on pipeC.
- The request has failed, we don't need to attempt a reset, so we can
  expect an incoming error on errC.
- Something else externally has called Close, so we can expect the done
  channel to be closed.

This patch ensures that we block for as long as possible (while still
handling each of the above cases, so we avoid hanging), to make sure
that we properly return an appropriate error message each time.

Signed-off-by: Justin Chadwell <me@jedevc.com>
2024-02-03 10:18:05 +01:00
Justin Chadwell
91a50f70b7 copy: check if writer was closed before setting a pipe
If Close is called externally before a request is attempted, then we
will accidentally attempt to send to a closed channel, causing a panic.

To avoid this, we can check to see if Close has been called, using a
done channel. If this channel is ever done, we drop any incoming errors,
requests or pipes - we don't need them, since we're done.

Signed-off-by: Justin Chadwell <me@jedevc.com>
2024-02-03 10:18:05 +01:00
Justin Chadwell
4660f63033 copy: remove wrapping io.NopCloser from push writer pipe
io.Pipe produces a PipeReader and a PipeWriter - a close on the write
side, causes an error on both the read and write sides, while a close on
the read side causes an error on only the read side. Previously, we
explicitly prohibited closing from the read side.

However, http.Request.Body requires that "calling Close should unblock a
Read waiting for input". Our reader will not do this - calling close
becomes a no-op. This can cause a deadlock because client.Do may never
terminate in some circumstances.

We need the Reader side to close its side of the pipe as well, which it
already does using the go standard library - otherwise, we can hang
forever, writing to a pipe that will never be closed.

Allowing the requester to close the body should be safe - we never reuse
the same reader between requests, as the result of body() will never be
reused by the guarantees of the standard library.

Signed-off-by: Justin Chadwell <me@jedevc.com>
2024-02-03 10:18:05 +01:00
Samuel Karp
96bf529cbf
Merge pull request #9742 from mxpv/envelope
Move Message proto to types
2024-02-03 06:32:01 +00:00
Derek McGowan
a896610da1
Merge pull request #9718 from jsturtevant/transfer-service-windows
Add a default differ for Windows that matches the snapshotter when using transfer service
2024-02-02 20:38:26 +00:00
Samuel Karp
1a39b91819
Merge pull request #9741 from mxpv/internal_cri
Move CRI from pkg/ to internal/
2024-02-02 19:38:44 +00:00
Maksym Pavlenko
0facc85925 Fix proto formatting
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2024-02-02 10:35:23 -08:00
Maksym Pavlenko
7f2d2c4f44 Move Message proto to types
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2024-02-02 10:35:23 -08:00