Commit Graph

10081 Commits

Author SHA1 Message Date
Phil Estes
6389fc79f0
Merge pull request #5770 from wzshiming/fix/push-docker-remote-close
remotes/docker/pusher.go: Fix missing Close() on push to docker remote
2021-07-21 10:06:41 -04:00
Phil Estes
5a874e0812
Merge pull request #5769 from wzshiming/fix/fetch-docker-remote-close
remotes/docker/fetcher.go: Fix missing Close() on fetch from docker remote
2021-07-21 10:05:27 -04:00
Phil Estes
e325184c8c
Merge pull request #5771 from thaJeztah/update_md2man
Update cpuguy83/go-md2man binary to v2.0.1
2021-07-21 10:03:59 -04:00
Sebastiaan van Stijn
d2b6d192db
Update cpuguy83/go-md2man binary to v2.0.1
full diff: https://github.com/cpuguy83/go-md2man/compare/v2.0.0...v2.0.1

- Fix handling multiple definition descriptions
- Fix inline markup causing table cells to split
- Remove escaping tilde character (prevents tildes (`~`) from disappearing).
- Do not escape dash, underscore, and ampersand (prevents ampersands (`&`) from disappearing).
- Ignore unknown HTML tags to prevent noisy warnings

Note that this only updates the binaries we install. The vendor code also
includes go-md2man (as indirect dependency of urfave/cli). I don't think we use that
feature, so I did not add it to our go.mod

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-07-21 12:21:03 +02:00
Shiming Zhang
53ec1abec2 remotes/docker/pusher.go: Fix missing Close()
Signed-off-by: Shiming Zhang <wzshiming@foxmail.com>
2021-07-21 11:37:08 +08:00
Shiming Zhang
67d07fe5cf remotes/docker/fetcher.go: Fix missing Close()
Signed-off-by: Shiming Zhang <wzshiming@foxmail.com>
2021-07-21 11:36:23 +08:00
AdamKorcz
0789a0c02b Add docker fetch fuzzer
Signed-off-by: AdamKorcz <adam@adalogics.com>
2021-07-20 16:33:03 +01:00
Phil Estes
b809212b18
Merge pull request #5750 from thaJeztah/cleanup_test_dockerfile
Refactor / optimize contrib/Dockerfile.test
2021-07-20 10:33:55 -04:00
ktock
b483177ee2 Support custom compressor for walking differ
Signed-off-by: Kohei Tokunaga <ktokunaga.mail@gmail.com>
2021-07-20 11:00:01 +09:00
Phil Estes
1292c50fe9
Merge pull request #5754 from thaJeztah/update_gotestsum
update gotestsum to current master
2021-07-19 14:01:16 -04:00
Derek McGowan
51a8f969bd
Merge pull request from GHSA-c72p-9xmj-rx3w
[test] Use chmod path for checking symlink
2021-07-19 10:30:51 -07:00
Phil Estes
b88bf1eca7
Merge pull request #5755 from adisky/gce-configure-use-systemd
Use systemd cgroup driver for Kubernetes e2e tests with cgroupsv2
2021-07-19 10:09:38 -04:00
Phil Estes
29b86c5479
Merge pull request #5751 from AkihiroSuda/runc-v1.0.1
update runc  to v1.0.1
2021-07-19 10:07:36 -04:00
Aditi Sharma
150e07b648 Use systemd cgroup driver for cgroupv2 tests
Set systemdCgroup for cgroupv2 Kuberentes e2e tests

Signed-off-by: Aditi Sharma <adi.sky17@gmail.com>
2021-07-19 10:01:29 +00:00
Sebastiaan van Stijn
603962bc81
update gotestsum to current master
removes golang.org/x/cryto dependency:
full diff: 012a85e34a...1a94380793

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-07-19 10:00:02 +02:00
Akihiro Suda
a12c7bd1cf
go.mod: runc v1.0.1
Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2021-07-18 20:39:34 +09:00
Akihiro Suda
43e0594ae9
update runc binary to v1.0.1
Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2021-07-18 20:18:14 +09:00
Sebastiaan van Stijn
9537bc2654
Dockerfile.test: build containerd in separate stage
Looking at how this image is used, I think we don't even need the
source in the final image, so we can build containerd in a separate
stage, and copy the binaries.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-07-17 17:27:07 +02:00
Sebastiaan van Stijn
36be5ef3a2
Dockerfile.test: add GOLANG_IMAGE build arg to allow overriding
This allows the base image itself to be overridden with an alternative image.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-07-17 17:19:44 +02:00
Sebastiaan van Stijn
8faacfca16
Dockerfile.test: clean up apt indexes after installing
Not critical for intermediate stages, but a minor optimization to
reduce the image cache. Ideally, this would use cache-mounts for this,
but those may not be supported by podman, so taking the traditional
approach.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-07-17 17:19:43 +02:00
Sebastiaan van Stijn
9f7e6335c4
Dockerfile.test: build critools in a separate stage
Building critools only requires the install script and the critools-version
file (to determin the version to build). Moving it to a separate stage
prevents rebuilding it if unrelated changes are made in the code.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-07-17 17:19:40 +02:00
Sebastiaan van Stijn
7ec8e2d369
Dockerfile.test: build cni in a separate stage
Building cni only requires the install script, and the go.mod (to determin
the version to install). Moving it to a separate stage prevents it from
being rebuilt if unrelated changes were made in the codebase.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-07-17 17:19:34 +02:00
Sebastiaan van Stijn
f9f423c078
Dockerfile.test: standard directory to collect build aftifacts
This allows for easier copying artifacts from stages, by just copying
the directory content to the stage where it's used. These stages are
not used to be run individually so do not have to be "runnable".
Each stage is "responsible" for colllecting all aftifacts in the directory,
so that "consumer" stages do not have to be aware of what needs to be copied.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-07-17 17:08:47 +02:00
Sebastiaan van Stijn
e9f26eb877
Dockerfile.test: split dev stage, and optimize order
This makes the following changes:

- The containerd/config.toml, and docker-entrypoint.sh only occasionally change,
  so copy them before copying the source code to allow them to be cached.
- The cri-in-userns stage does not need files from proto3, so do not copy them
- The dev environment does need the file from the proto3 stage, so copy them there.
- Change the order of stages. Our CI uses `podman build` which (I think) does not
  skips stages that are not used for the specified target (like BuildKit does).
  So I moved stages that are not used for the `cri-in-userns` after that stage.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-07-17 17:08:04 +02:00
Sebastiaan van Stijn
25fada0cc7
Dockerfile.test: skip curl, gcc, git and make install
These are already installed by default in the golang image.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-07-17 14:06:11 +02:00
Sebastiaan van Stijn
546538971c
install-critools: make sure DESTDIR exists
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-07-17 14:00:58 +02:00
Fu Wei
e830c5364c
Merge pull request #5737 from thaJeztah/remove_redundant_check
runtime: runc v2: remove redundant validation
2021-07-15 23:06:45 +08:00
Sebastiaan van Stijn
dbef1d56d7
runtime: runc v2: remove redundant validation
cgroupsv2.LoadManager() already performs VerifyGroupPath(), and returns
an error if the path is invalid, so this check is redundant.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-07-14 23:24:31 +02:00
Phil Estes
34fb8d8967
Merge pull request #5727 from dmcgowan/test-monitor-restart-grace
Add timestamp to flaky restart monitor test
2021-07-13 16:18:57 -04:00
Derek McGowan
18321f539c
Move loop check to before sleep
Signed-off-by: Derek McGowan <derek@mcg.dev>
2021-07-13 12:07:21 -07:00
Derek McGowan
2e8a572dfd
Add timestamp to flaky restart monitor test
Signed-off-by: Derek McGowan <derek@mcg.dev>
2021-07-13 12:07:21 -07:00
Derek McGowan
d527926cd5
Merge pull request #5722 from AkihiroSuda/go1.16.6
Update Go to 1.16.6
2021-07-13 11:48:20 -07:00
Akihiro Suda
55fd2ab5d6
integration/client: go mod tidy
Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2021-07-13 14:36:02 +09:00
Akihiro Suda
e72046f86b
Update Go to 1.16.6
Release notes: https://golang.org/doc/devel/release#go1.16

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2021-07-13 14:05:37 +09:00
Phil Estes
cbdebd18eb
Merge pull request #4447 from kzys/grpc-error
client: surface a connection error more clearly
2021-07-12 15:12:06 -04:00
Phil Estes
b6aa5a48bd
Merge pull request #5712 from coryb/docker-push-close-body
Fix missing Body.Close() calls on push to docker remote
2021-07-12 14:23:14 -04:00
Derek McGowan
bc4e416c88
Add test for archive breakout test for lchmod
Signed-off-by: Derek McGowan <derek@mcg.dev>
2021-07-12 11:10:45 -07:00
Akihiro Suda
a8ef1fc488
Merge pull request #5710 from fuweid/cri-cleanup
remove pkg/cri/platforms package
2021-07-12 13:23:25 +09:00
coryb
894b6ae39b Fix missing Body.Close() calls on push to docker remote
Discovered this while using HTTP tracing via OpenTelemetry inside of
buildkitd, where the trace spans were not being reported for the
registry PUT http requests.  The spans are only reported on the Close
for the Body, after adding these Close calls, the spans are reported as
expected.

Signed-off-by: coryb <cbennett@netflix.com>
2021-07-11 08:14:57 -07:00
Wei Fu
ac75071b49 remove pkg/cri/platforms package
The package is a duplicate of platforms. No need to maintain
pkg/cri/platforms.

Signed-off-by: Wei Fu <fuweid89@gmail.com>
2021-07-10 10:14:27 +08:00
Fu Wei
51f2ce92fc
Merge pull request #5709 from cpuguy83/custom_client
Allow WithServices to use custom implementations
2021-07-10 09:23:07 +08:00
Brian Goff
0a8802df67 Allow WithServices to use custom implementations
Before this change, for several of the services that `WithServices`
handles, only the grpc client is supported.
Now, for instance, one can use an `images.Store` directly instead of
only an `imagesapi.StoreSlient`.

Some of the methods have been renamed to satisfy the difference between
using a grpc `<Foo>Client` vs the main interface.

I did not see a good candidate for TaskService so have left that mostly
unchanged.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2021-07-09 23:30:40 +00:00
Maksym Pavlenko
0dcffc3ee1
Merge pull request #5673 from dcantah/hcsshim-0.8.18
[Vendor] Update hcsshim to 0.8.18
2021-07-09 12:11:03 -07:00
Maksym Pavlenko
d38c186d9d
Merge pull request #5578 from claudiubelu/integration/failed-container
test integration: Adds a test that restarts a failed container
2021-07-09 12:08:20 -07:00
Phil Estes
cf600abecc
Merge pull request #5619 from mikebrow/cri-add-v1-proxy-alpha
[CRI] move up to CRI v1 and support v1alpha in parallel
2021-07-09 14:07:24 -04:00
Derek McGowan
9fa7d15077
Merge pull request #5682 from kzys/gha-fork
gha: make release workflow work in forks
2021-07-09 11:04:00 -07:00
Derek McGowan
31d78444e0
Merge pull request #5666 from wllenyj/plugin_test
Add unit test for plugin
2021-07-09 10:44:32 -07:00
Phil Estes
aefbe7c1cb
Merge pull request #5700 from AkihiroSuda/test-cri-in-userns
Dockerfile.test: add "cri-in-userns" (aka rootless) test stage
2021-07-09 09:25:28 -04:00
Fu Wei
71c1dc6615
Merge pull request #5676 from dmcgowan/update-for-distribution-spec-1.0 2021-07-09 16:14:45 +08:00
Akihiro Suda
aefabe5462
Dockerfile.test: add "cri-in-userns" (aka rootless) test stage
The `cri-in-userns` stage is for testing "CRI-in-UserNS", which should be used in conjunction with "Kubelet-in-UserNS":
https://github.com/kubernetes/enhancements/tree/master/keps/sig-node/2033-kubelet-in-userns-aka-rootless

This feature is mostly expected to be used for `kind` and `minikube`.

Requires Rootless Docker/Podman/nerdctl with cgroup v2 delegation: https://rootlesscontaine.rs/getting-started/common/cgroup2/
(Rootless Docker/Podman/nerdctl prepares the UserNS, so we do not need to create UserNS by ourselves)

Usage:
```
podman build --target cri-in-userns -t cri-in-userns -f contrib/Dockerfile.test .
podman run -it --rm --privileged cri-in-userns
```

The stage is tested on CI with Rootless Podman on Fedora 34 on Vagrant.

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2021-07-09 14:50:04 +09:00