Commit Graph

11497 Commits

Author SHA1 Message Date
Derek McGowan
6e0231f992
Merge pull request #6150 from fuweid/support-4984
feature: support image pull progress timeout
2022-04-26 12:15:09 -07:00
Kazuyoshi Kato
5f43118cee Move Vagrant-based tests from GitHub Actions to Cirrus CI
Cirrus CI supports nested virtualization and free to use from open
source projects. runc has been using the service since
https://github.com/opencontainers/runc/pull/3088.

Signed-off-by: Kazuyoshi Kato <katokazu@amazon.com>
2022-04-26 17:18:19 +00:00
Wei Fu
00d102da9f feature: support image pull progress timeout
Kubelet sends the PullImage request without timeout, because the image size
is unknown and timeout is hard to defined. The pulling request might run
into 0B/s speed, if containerd can't receive any packet in that connection.
For this case, the containerd should cancel the PullImage request.

Although containerd provides ingester manager to track the progress of pulling
request, for example `ctr image pull` shows the console progress bar, it needs
more CPU resources to open/read the ingested files to get status.

In order to support progress timeout feature with lower overhead, this
patch uses http.RoundTripper wrapper to track active progress. That
wrapper will increase active-request number and return the
countingReadCloser wrapper for http.Response.Body. Each bytes-read
can be count and the active-request number will be descreased when the
countingReadCloser wrapper has been closed. For the progress tracker,
it can check the active-request number and bytes-read at intervals. If
there is no any progress, the progress tracker should cancel the
request.

NOTE: For each blob data, the containerd will make sure that the content
writer is opened before sending http request to the registry. Therefore, the
progress reporter can rely on the active-request number.

fixed: #4984

Signed-off-by: Wei Fu <fuweid89@gmail.com>
2022-04-27 00:02:27 +08:00
Fu Wei
0d696d2f4b
Merge pull request #6749 from dmcgowan/unpacker-interface 2022-04-26 20:54:51 +08:00
Kang.Zhang
fceab7f4c4 remove duplicate
Signed-off-by: Kang.Zhang <Kang.zhang@intel.com>
2022-04-26 10:44:45 +08:00
Kazuyoshi Kato
d91c4f214e
Merge pull request #6855 from dmcgowan/fix-undefined-error
Fix undefined error in use of errors package
2022-04-25 16:12:37 -07:00
Derek McGowan
0e6c7bf931
Fix undefined error in use of errors package
Signed-off-by: Derek McGowan <derek@mcg.dev>
2022-04-25 15:21:21 -07:00
Derek McGowan
3dbd6a2498
Merge pull request #6841 from kzys/proto-upgrade-6
Migrate off from github.com/gogo/protobuf
2022-04-25 15:12:51 -07:00
Kazuyoshi Kato
b5aab78dd1
Merge pull request #6851 from whoreyou/images-typo-20220425
images/image.go: typo
2022-04-25 11:44:49 -07:00
Kazuyoshi Kato
f140400c0e
Merge pull request #5686 from dtnyn/issue-5679
Add flag to allow oci.WithAllDevicesAllowed on PrivilegedWithoutHostDevices
2022-04-25 11:44:01 -07:00
Kazuyoshi Kato
2ca54ee8ae
Merge pull request #6180 from claudiubelu/integration/windows-ip-leak
integration: Adds Windows equivalent for TestSandboxRemoveWithoutIPLeakage
2022-04-25 11:27:31 -07:00
Phil Estes
4ef928a222
Merge pull request #6845 from my-git9/test1
fix incorrect syntax in comments
2022-04-25 14:50:18 +01:00
Kang.Zhang
a9f5190fb1 images/image.go: typo
Signed-off-by: Kang.Zhang <Kang.zhang@intel.com>
2022-04-25 16:16:52 +08:00
xin.li
da3e2f985a fix incorrect syntax in comments
Signed-off-by: xin.li <xin.li@daocloud.io>

Signed-off-by: xin.li <xin.li@daocloud.io>

Signed-off-by: xin.li <xin.li@daocloud.io>
2022-04-25 15:29:37 +08:00
Kazuyoshi Kato
7a4f81d8ba Fix tests
Signed-off-by: Kazuyoshi Kato <katokazu@amazon.com>
2022-04-22 15:41:05 +00:00
Kazuyoshi Kato
aefd1849b6 go mod tidy and go mod vendor
Signed-off-by: Kazuyoshi Kato <katokazu@amazon.com>
2022-04-22 15:41:05 +00:00
Kazuyoshi Kato
f616dd471e Upgrade containerd/typeurl
https://github.com/containerd/typeurl/pull/35 is needed to handle
types generated by protoc-gen-go.

Signed-off-by: Kazuyoshi Kato <katokazu@amazon.com>
2022-04-22 15:40:56 +00:00
Kazuyoshi Kato
9dbe000a38 make protos
Signed-off-by: Kazuyoshi Kato <katokazu@amazon.com>
2022-04-22 15:31:53 +00:00
Kazuyoshi Kato
1a095e18ba Rename Size_ to Size
Previouslty "Size" was reserved by protoc-gen-gogoctrd and user-generated
"Size" was automatically renamed to "Size_" to avoid conflicts.

Signed-off-by: Kazuyoshi Kato <katokazu@amazon.com>
2022-04-22 15:31:53 +00:00
Kazuyoshi Kato
e3db7de8f5 Remove gogo/protobuf and adjust types
This commit migrates containerd/protobuf from github.com/gogo/protobuf
to google.golang.org/protobuf and adjust types. Proto-generated structs
cannot be passed as values.

Fixes #6564.

Signed-off-by: Kazuyoshi Kato <katokazu@amazon.com>
2022-04-22 15:31:53 +00:00
Kazuyoshi Kato
fd37cc75be Use protoc-gen-go instead of protoc-gen-gogoctrd
Signed-off-by: Kazuyoshi Kato <katokazu@amazon.com>
2022-04-22 15:31:53 +00:00
Kazuyoshi Kato
e044759ebd Upgrade containerd/ttrpc
protoc-gen-go-ttrpc's generated Go code doesn't work with ttrpc v1.1.0.

Signed-off-by: Kazuyoshi Kato <katokazu@amazon.com>
2022-04-22 15:31:52 +00:00
Phil Estes
6111b5ea8e
Merge pull request #6842 from henry118/fifo
cri: close fifos when container is deleted
2022-04-22 16:28:32 +01:00
Henry Wang
8710d4d014 cri: close fifos when container is deleted
Signed-off-by: Henry Wang <henwang@amazon.com>
2022-04-21 21:46:50 +00:00
Derek McGowan
7f8506a4f9
Merge pull request #6832 from kzys/imgcrypt-typeurl
diff: hide types.Any from clients
2022-04-21 12:11:45 -07:00
Phil Estes
0c2b6a102a
Merge pull request #6838 from bsdnet/cos
Add Container-Optimized OS into Adopters
2022-04-21 16:24:09 +01:00
Roy Yang
7331b2af4c Add Container-Optimized OS into Adopters
Signed-off-by: Roy Yang <cdyhaj799@gmail.com>
2022-04-21 07:26:52 -07:00
Kazuyoshi Kato
dfa6e8763e diff: hide types.Any from clients
This commit hides types.Any from the diff package's interface. Clients
(incl. imgcrypt) shouldn't aware about gogo/protobuf.

Signed-off-by: Kazuyoshi Kato <katokazu@amazon.com>
2022-04-21 13:43:20 +00:00
Phil Estes
320ef912bc
Merge pull request #6835 from kzys/proto-upgrade-5
Prepare for google.golang.org/protobuf
2022-04-21 14:24:04 +01:00
Kazuyoshi Kato
01dfb110c4 Add go_package on all proto files
Seems it is no longer optional after migratring off from
gogo/protobuf (see #6564).

Signed-off-by: Kazuyoshi Kato <katokazu@amazon.com>
2022-04-20 17:29:15 +00:00
Kazuyoshi Kato
aa1526defc Use proto.Marshal instead of calling Marshal() on objects
With google.golang.org/protobuf, proto-generated objects only have
ProtoReflect(). They don't have Marshal() anymore (see #6564).

Signed-off-by: Kazuyoshi Kato <katokazu@amazon.com>
2022-04-20 17:14:24 +00:00
Kazuyoshi Kato
95dde4959d Embed "Unimplemented" structs as proto recommended
Embedding these structs will be mandatory after migratring off from
gogo/protobuf (see #6564).

Signed-off-by: Kazuyoshi Kato <katokazu@amazon.com>
2022-04-20 17:14:23 +00:00
Phil Estes
1a236784dc
Merge pull request #6833 from Junnplus/monitor-restart
fix the restart desired to running when task not found
2022-04-20 18:09:22 +01:00
Phil Estes
eb66262121
Merge pull request #6829 from kzys/always-ptr
Remove all gogoproto extensions
2022-04-20 14:45:46 +01:00
Ye Sijun
35994a475c
fix monitor restart
Signed-off-by: Ye Sijun <junnplus@gmail.com>
2022-04-20 21:44:29 +08:00
Fu Wei
d85ac56050
Merge pull request #6830 from Junnplus/fix-monitor 2022-04-20 15:56:04 +08:00
Kazuyoshi Kato
237ef0de9b Remove all gogoproto extensions
This commit removes the following gogoproto extensions;

- gogoproto.nullable
- gogoproto.customename
- gogoproto.unmarshaller_all
- gogoproto.stringer_all
- gogoproto.sizer_all
- gogoproto.marshaler_all
- gogoproto.goproto_unregonized_all
- gogoproto.goproto_stringer_all
- gogoproto.goproto_getters_all

None of them are supported by Google's toolchain (see #6564).

Signed-off-by: Kazuyoshi Kato <katokazu@amazon.com>
2022-04-20 07:23:28 +00:00
Ye Sijun
22cd13b370
fix nil pointer panic for monitor
Signed-off-by: Ye Sijun <junnplus@gmail.com>
2022-04-20 15:04:36 +08:00
Fu Wei
9b33526ef6
Merge pull request #5681 from kzys/info-url
remotes/docker: log registry URLs as info instead of debug
2022-04-20 14:21:15 +08:00
Fu Wei
fe7f0aeef4
Merge pull request #6827 from mxpv/renames 2022-04-20 14:06:29 +08:00
Derek McGowan
809549e566
Merge pull request #6828 from kzys/fix-fieldpath
Fix protoc-gen-go-fieldpath
2022-04-19 21:48:09 -07:00
Maksym Pavlenko
bd90ce043b Keep shim API backward compatible
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2022-04-19 18:46:02 -07:00
Derek McGowan
39692e7672
unpack: return error when no platforms defined
Require platforms to be non-empty to avoid no-op unpack

Signed-off-by: Derek McGowan <derek@mcg.dev>
2022-04-19 18:21:57 -07:00
Derek McGowan
8017daa12d
Add unpack interface to be used by client
Move client unpacker to pkg/unpack

Signed-off-by: Derek McGowan <derek@mcg.dev>
2022-04-19 18:21:57 -07:00
Maksym Pavlenko
e2fd25f3d8 Move runtime v2 proto
Move runtime v2 protos to api/runtime package.

Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2022-04-19 17:59:33 -07:00
Kazuyoshi Kato
3742c756e8 Don't generate a Go file, if that would be empty
Signed-off-by: Kazuyoshi Kato <katokazu@amazon.com>
2022-04-19 22:15:45 +00:00
Kazuyoshi Kato
5f3b724323 Fix protoc-gen-go-fieldpath
The generator has to handle nested fields such as
902212651b/api/events/container.proto (L31-L35).

Signed-off-by: Kazuyoshi Kato <katokazu@amazon.com>
2022-04-19 22:11:03 +00:00
Derek McGowan
3b82f9e33c
metadata: use resource max and end on registration
Ensure the registered resource type does not conflict
with existing resource types or over the max.

Signed-off-by: Derek McGowan <derek@mcg.dev>
2022-04-19 14:25:31 -07:00
Derek McGowan
902212651b
Merge pull request #6826 from kzys/ptypes
Consolidate gogo/protobuf dependencies under our own protobuf package
2022-04-19 10:13:56 -07:00
Fu Wei
9503d7219e
Merge pull request #6744 from Junnplus/restart-policy
Add restart policy for enhanced restart manager
2022-04-20 00:12:31 +08:00