Commit Graph

5749 Commits

Author SHA1 Message Date
Brian Goff
1a10211e3f WithLease: always return context and done fn
We should never return a nil context because of the way this function is
typically used... e.g.

```
  ctx, done, err := containerd.WithLease(ctx)
```

If there is an error `ctx` will be nil and any error handling may cause
an NPE if it tries to use `ctx`.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2020-04-25 21:16:43 -07:00
Brian Goff
98b30f4690 Add commands to mount/unmount image from ref
Example:

```terminal
$ mkdir /opt/busybox
$ ctr image mount docker.io/library/busybox:latest /opt/busybox
/opt/busybox
$ ls -lh /opt/busybox
total 40K
drwxr-xr-x 2 root   root     12K Apr 14 01:10 bin
drwxr-xr-x 2 root   root    4.0K Apr 14 01:10 dev
drwxr-xr-x 3 root   root    4.0K Apr 14 01:10 etc
drwxr-xr-x 2 nobody nogroup 4.0K Apr 14 01:10 home
drwx------ 2 root   root    4.0K Apr 14 01:10 root
drwxrwxrwt 2 root   root    4.0K Apr 14 01:10 tmp
drwxr-xr-x 3 root   root    4.0K Apr 14 01:10 usr
drwxr-xr-x 4 root   root    4.0K Apr 14 01:10 var
$ ctr image unmount /opt/busybox
$ ls -lh /opt/busybox
total 0
```

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2020-04-25 21:00:21 -07:00
Phil Estes
36952e989a
Merge pull request #4208 from estesp/moar-startup-time
Allow more time for containerd to start for integration
2020-04-23 14:35:25 -04:00
Phil Estes
5d4a9bae9f
Merge pull request #4199 from fuweid/update-go-version-zuul
.zuul: update go version to 1.13.10
2020-04-23 14:35:10 -04:00
Phil Estes
cd0e62f5c9
Allow more time for containerd to start for integration
Currently hardcoded to 2 seconds; in GitHub actions we see random
cancellation of our integration suite right at 2 seconds even
though containerd is within milliseconds of being ready.

Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com>
2020-04-23 11:23:38 -04:00
Wei Fu
9687ba6315 test: TestRuntimeWithEmptyMaxEnvProcs should cleanup
TestRuntimeWithEmptyMaxEnvProcs should restore the GoMaxProcs after
test so that the temporary change of GoMaxProcs will not impact other
case, like TestRuntimeWithNonEmptyMaxEnvProcs.

Signed-off-by: Wei Fu <fuweid89@gmail.com>
2020-04-23 22:09:10 +08:00
Wei Fu
b566859acc .zuul: update go version to 1.13.10
Signed-off-by: Wei Fu <fuweid89@gmail.com>
2020-04-23 22:09:10 +08:00
Maksym Pavlenko
e094d363ac
Merge pull request #4206 from estesp/fix-golang-lint
Fix retrieval of golangci-lint specific version
2020-04-22 12:24:49 -07:00
Phil Estes
32649fe305
Fix retrieval of golangci-lint specific version
Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com>
2020-04-22 14:45:31 -04:00
Phil Estes
1d083fec49
Merge pull request #4198 from fuweid/ignore-ttrpc-closed
runtime: ignore ttrpc closed error
2020-04-20 12:32:26 -04:00
Wei Fu
126e497e63 vendor: update ttrpc with 6e416eafd26e6e738df716b21d421d5b59702bb4
Signed-off-by: Wei Fu <fuweid89@gmail.com>
2020-04-20 23:35:18 +08:00
Wei Fu
0116352e1b runtime: ignore ttrpc.ErrClosed when delete task
For some reason, shimv2 process doesn't exist. The ttrpc doesn't detect
the connection closed by server until delete task. For this case, we
should ignore the ttrpc.ErrClosed and let task manager handle the
cleanup.

Signed-off-by: Wei Fu <fuweid89@gmail.com>
2020-04-20 23:34:49 +08:00
Wei Fu
5bfab78acd
Merge pull request #4195 from mxpv/binary-io
Binary IO fixes and tests
2020-04-19 10:26:44 +08:00
Derek McGowan
4f6c594de3
Merge pull request #4194 from cpuguy83/remove_subreaper_config
This config no longer exists, so remove from docs.
2020-04-18 11:13:58 -07:00
Maksym Pavlenko
917e7646ae Add binary IO tests
Signed-off-by: Maksym Pavlenko <makpav@amazon.com>
2020-04-17 16:50:43 -07:00
Maksym Pavlenko
9175401b28 Cleanup binary IO resources on error
Signed-off-by: Maksym Pavlenko <makpav@amazon.com>
2020-04-17 15:56:21 -07:00
Maksym Pavlenko
0dc7c85956 Don't use timeout package when stopping shim logger
containerd loads timeout values from config.toml and populated those
values to `timeout` package at launch. So when using `timeout` package
from shim, there are default values and config file is ignored.
So use a hardcoded value for binary IO.

Signed-off-by: Maksym Pavlenko <makpav@amazon.com>
2020-04-17 15:06:18 -07:00
Brian Goff
8574083153 This config no longer exists, so remove from docs.
This was changed to `no_subreaper` in
6e9f24b711 and, as far as I can tell,
`no_subreaper` doesn't exist as a config anymore.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2020-04-17 14:14:35 -07:00
Akihiro Suda
d8506bfd7b
Merge pull request #4193 from ktock/bump_cri
vendor: update containerd/cri 61b7af7564
2020-04-17 16:36:18 +09:00
ktock
e79d666cdd vendor: update containerd/cri 61b7af7564
full diff: 92cb4ed978..61b7af7564

This adds new dependency github.com/fsnotify/fsnotify since 4ce334aa49

Signed-off-by: Kohei Tokunaga <ktokunaga.mail@gmail.com>
2020-04-17 12:31:30 +09:00
Derek McGowan
aa6a66b65e
Merge pull request #4192 from estesp/disable-travis-on-master
Disable Travis CI on master
2020-04-16 09:04:57 -07:00
Phil Estes
61597b4317
Disable Travis CI on master
This allows Travis to continue running on PRs for release/1.x branches
where we have not enabled GH Actions.

Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com>
2020-04-16 11:10:08 -04:00
Michael Crosby
327c92f7d7
Merge pull request #4189 from estesp/actions-fixes
Small fixes to our Actions CI workflow
2020-04-15 15:42:25 -04:00
Phil Estes
74ceb35f50
Small fixes to our Actions CI workflow
Integration tests were running with latest Go release rather than the
version used everywhere else. Also, we don't need to install protoc from
tarball and also apt-get the package for Ubuntu when used as a
dependency for criu build.

Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com>
2020-04-15 15:19:01 -04:00
Michael Crosby
9441507fd2
Merge pull request #4183 from dims/build-runc-with-selinux-support
Build runc with selinux support
2020-04-14 20:40:25 -04:00
Davanum Srinivas
7a252f3ca1
Build runc with selinux support
docker-ce seems to be building runc with selinux support, let us follow
the same pattern here please:
https://github.com/docker/docker-ce/search?p=1&q=RUNC_BUILDTAGS&unscoped_q=RUNC_BUILDTAGS

Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2020-04-14 15:24:31 -04:00
Phil Estes
ccaf35b01c
Merge pull request #4188 from estesp/fix-proto-gen
Fix protobuild and CI check protos
2020-04-14 15:06:50 -04:00
Phil Estes
041545cd6a
Fix protobuild and CI check protos
Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com>
2020-04-14 14:31:43 -04:00
Phil Estes
9bd3bf9bec
Merge pull request #4185 from estesp/badges
Use GH Actions CI status for badge
2020-04-13 13:25:19 -04:00
Phil Estes
e3bc5c487a
Use GH Actions CI status for badge
Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com>
2020-04-13 12:43:46 -04:00
Michael Crosby
2ed8d12bb0
Merge pull request #3845 from fahedouch/v2_shim_test
v2 runtime shim test
2020-04-13 12:26:05 -04:00
Michael Crosby
842b1e3b0b
Merge pull request #4184 from dims/cri-plugin-needs-selinux-tag
CRI plugin needs selinux tag as well
2020-04-13 10:58:15 -04:00
Davanum Srinivas
49200a1dd4
CRI plugin needs selinux tag as well
A simple `grep selinux_stub bin/containerd` shows that we are not using
selinux tag when building containerd. The CRI plugin pulls in a bunch of
selinux related code, so we need to enable this tag as well.

Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2020-04-13 09:29:07 -04:00
Akihiro Suda
3282a1c14c
Merge pull request #4175 from thaJeztah/more_go_bumps
CI: Some Go 1.13.10 updates that were missed
2020-04-11 08:50:31 +09:00
Maksym Pavlenko
b116bcd9b3
Merge pull request #4176 from stevvooe/valdiate-digest-before-disk
content/local: validate digest before calculating path
2020-04-10 14:26:52 -07:00
Derek McGowan
2201007dc2
Merge pull request #4179 from fuweid/update-release12-status
RELEASES.md: update release1.2 status
2020-04-10 10:37:05 -07:00
Wei Fu
d97cca47ee RELEASES.md: update release1.2 status
Signed-off-by: Wei Fu <fuweid89@gmail.com>
2020-04-11 00:27:32 +08:00
Stephen Day
4615111ba2
content/local: validate digest before calculating path
Signed-off-by: Stephen Day <stephen.day@getcruise.com>
2020-04-09 17:37:47 -07:00
Sebastiaan van Stijn
a6828e8c39
CI: Some Go 1.13.10 updates that were missed
This file was still on Go 1.13.8, which caused it to be
missed when updating Go 1.13.9 to 1.13.10

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-04-09 23:33:50 +02:00
Phil Estes
a31f5e46e0
Merge pull request #4169 from thaJeztah/bump_golang_1.13.10
Bump Golang 1.13.10
2020-04-09 17:14:34 -04:00
Sebastiaan van Stijn
7da1e13b5d
Bump Golang 1.13.10
go1.13.10 (released 2020/04/08) includes fixes to the go command, the runtime,
os/exec, and time packages. See the Go 1.13.10 milestone on the issue tracker
for details:

https://github.com/golang/go/issues?q=milestone%3AGo1.13.10+label%3ACherryPickApproved

full diff: https://github.com/golang/go/compare/go1.13.9...go1.13.10

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-04-09 22:03:48 +02:00
Phil Estes
069ce2389a
Merge pull request #4160 from atlassian-forks/forkmount-use-pipe-instead-wait4
sys/mount_linux: use pipe for communicating mount result
2020-04-09 11:54:53 -04:00
Haitao Li
35c14c6b56 sys/mount_linux: use pipe for communicating mount result
forkAndMountat forks a process to chdir then mount layers. Signals are
blocked (using runtime_beforeFork) during fork.

There is a race condition that the child process finishes before the
parent process is scheduled and can unblock signal handling. The SIGCHLD
signal sent from the finished process may have been delivered to the
shim process's reaper thread and caused the parent process fail with
ECHLD error.

This patch sets up a pipe for communication between child and parent
instead of waiting for child exit status.

Fixes #4009.

Signed-off-by: Haitao Li <hli@atlassian.com>
2020-04-09 09:50:41 +10:00
Phil Estes
5957849544
Merge pull request #4162 from mxpv/log-fix
Rework shim logger shutdown process
2020-04-08 13:14:16 -04:00
Phil Estes
660bc71393
Merge pull request #4165 from dims/update-to-selinux-1.5.1
Update to selinux 1.5.1
2020-04-08 11:43:13 -04:00
Michael Crosby
50faf254d3
Merge pull request #4164 from estesp/turn-down-travis
Start removal of Travis CI components
2020-04-08 10:52:11 -04:00
Davanum Srinivas
f328f61b81
Update to selinux 1.5.1
Changes are listed here:
https://github.com/opencontainers/selinux/compare/v1.3.3...v1.5.1

Not urgent as such, just keep up with eco-system.

Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2020-04-08 06:29:50 -04:00
Phil Estes
f7c2bf544e
Migrate functions to actions
Reduce duplication while we test GH actions

Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com>
2020-04-07 17:32:05 -04:00
Phil Estes
dc29ce296b
Merge pull request #4163 from estesp/longer-integ-timeout
Update integration test timeout
2020-04-07 17:27:36 -04:00
Phil Estes
d7c2513ff3
Update integration test timeout
Also few changes to names of workflow jobs. Integration tests can get
canceled without full completing at 10 minutes. Make sure we only use
checkout v2 action.

Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com>
2020-04-07 16:34:54 -04:00