Commit Graph

4032 Commits

Author SHA1 Message Date
Derek McGowan
70d629fc1d
Add missing return statement on pull unpack
Signed-off-by: Derek McGowan <derek@mcgstyle.net>
2018-05-07 14:18:22 -07:00
Derek McGowan
6eee2a0785
Merge pull request #2324 from kolyshkin/mountinfo
mount/mountinfo_linux: parser speed up
2018-05-07 13:46:39 -07:00
Kir Kolyshkin
8eec9259e6 mount/mountinfo_linux: parser speed up
The mountinfo parser implemented via `fmt.Sscanf()` is slower than the one
using `strings.Split()` and `strconv.Atoi()`. This rewrite helps to speed it
up to a factor of 8x, here is a result from `go bench`:

> BenchmarkParsingScanf-4            300          22294112 ns/op
> BenchmarkParsingSplit-4           3000           2780703 ns/op

I tried other approaches, such as using `fmt.Sscanf()` for the first
three (integer) fields and `strings.Split()` for the rest, but it slows
things down considerably:

> BenchmarkParsingMixed-4           1000           8827058 ns/op

Note the old code uses `fmt.Sscanf` first, then a linear search for the
'-' field, then a split for the last 3 fields. The new code relies
on a single split.

One other thing is, the new code is more future proof as it skips
extra optional fields before the separator (currently there are none).

I have also added more comments to aid in future development.

Finally, the test data is fixed to not have white space before
the first field.

Based on a similar change in Moby,
 https://github.com/moby/moby/pull/36091

[v2: remove no-op break statement to silence staticcheck]
Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2018-05-07 11:38:37 -07:00
Derek McGowan
f701b3b960
Fix race in ctr pull
Signed-off-by: Derek McGowan <derek@mcgstyle.net>
2018-05-07 10:29:24 -07:00
Derek McGowan
e017143dde
Merge pull request #2328 from crosbymichael/client-clean
Move import/export code to separate client file
2018-05-04 13:31:47 -07:00
Michael Crosby
8ee52bfca9 Move import/export code to separate client file
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2018-05-04 15:48:41 -04:00
Michael Crosby
e22c827cf5
Merge pull request #2323 from stevvooe/ping-snapshots-from-cli
cmd/snapshots: add gc.root to created snapshots
2018-05-04 13:27:44 -04:00
Derek McGowan
fc1d936f2c
Merge pull request #2326 from cloudfoundry-incubator/pr-oom-score
Don't fail on setting -ve oom score when rootless
2018-05-04 10:23:59 -07:00
Claudia Beresford
544b985ff2 Don't fail on setting -ve oom score when rootless
This allows non-privileged users to use containerd.
If a non root user tried to set a negative oom score adjustment,
it will fail. Containerd should not fail if running rootless.

This is part of a larger track of work integrating containerd
into Cloudfoundry's garden with support for rootless.

[#156343443]

Signed-off-by: Danail Branekov <danailster@gmail.com>
2018-05-04 17:06:01 +01:00
Michael Crosby
08b43d9200
Merge pull request #2325 from cloudfoundry-incubator/pr-tempdir
Use user-specific temp directory if set
2018-05-04 10:25:00 -04:00
Tom Godkin
fc8bce59b9 Use user-specific temp directory if set
This allows non-privileged users to use containerd. This is part of a
larger track of work integrating containerd into Cloudfoundry's garden
with support for rootless.

[#156343575]

Signed-off-by: Claudia Beresford <cberesford@pivotal.io>
2018-05-04 10:27:58 +01:00
Michael Crosby
40c3acd36c
Merge pull request #2322 from darrenstahlmsft/revendorHcsshim
Update hcsshim to v0.6.10
2018-05-03 13:10:39 -04:00
Stephen J Day
ed72059fac
cmd/snapshots: add gc.root to created snapshots
This adds gc.root label to snapshots created with prepare and commit via
the CLI. WIthout this, created snapshots get immediately garbage
collected. There may be a better solution but this seems to be a solid
stop gap.

We may also need to add more functionality around snapshot labeling for
the CLI but current use cases are unclear.

Signed-off-by: Stephen J Day <stevvooe@gmail.com>
2018-05-03 07:09:38 +02:00
Darren Stahl
07d8716004 Update hcsshim to v0.6.10
Signed-off-by: Darren Stahl <darst@microsoft.com>
2018-05-02 16:19:15 -07:00
Michael Crosby
cfba048bec
Merge pull request #2319 from ijc/update-go-digest
Bump to latest go-digest.
2018-05-01 10:57:13 -04:00
Ian Campbell
623407a399 Re-vndr with newest vndr
This seems to pickup a bunch of *.c files and some other changes which follow
from having included some new packages because of that.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2018-05-01 00:18:17 +01:00
Ian Campbell
388c73052a Bump to latest go-digest.
This renames the license file (so automated tooling can find it, which I care
about) and also pulls in some documentation and comment changes, plus some
functional changes:

PR#33 -- future-proof the algorithm field.
PR#34 -- disallow upper case in hex portion.

No changes appear to be required to containerd code.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2018-04-30 23:38:02 +01:00
Michael Crosby
4219f7ba3a
Merge pull request #2307 from avagin/tty
Allow to checkpoint and restore a container with console
2018-04-30 10:41:40 -04:00
Andrei Vagin
29c76b13d6 travis: update criu to 3.7
Signed-off-by: Andrei Vagin <avagin@virtuozzo.com>
2018-04-28 01:37:30 +03:00
Andrei Vagin
566389ade4 test: Check C/R for containers with TTYs
Signed-off-by: Andrei Vagin <avagin@virtuozzo.com>
2018-04-28 01:06:42 +03:00
Andrei Vagin
60daa414db Allow to checkpoint and restore a container with console
runc already supports this case, so we just need to run it with proper
options.

Signed-off-by: Andrei Vagin <avagin@virtuozzo.com>
2018-04-28 01:06:42 +03:00
Andrei Vagin
0846d6f8e9 vendor: update go-runc
Signed-off-by: Andrei Vagin <avagin@virtuozzo.com>
2018-04-27 23:45:54 +03:00
Derek McGowan
cddd791c1c
Merge pull request #2315 from crosbymichael/logio
Add LogFile as a cio IO option
2018-04-27 11:05:57 -07:00
Michael Crosby
1c263a7d5e Add LogFile as a cio IO option
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2018-04-26 17:04:01 -04:00
Stephen Day
c73794f8dc
Merge pull request #2314 from ehazlett/runc-shim-debug
Enable runc debug in shim
2018-04-26 12:09:16 -07:00
Evan Hazlett
530849fed4 enable runc debug in shim
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2018-04-26 11:11:46 -04:00
Michael Crosby
a70e26c64f
Merge pull request #2310 from ehazlett/directio-with-terminal
Add NewDirectIOWithTerminal
2018-04-25 17:01:35 -04:00
Evan Hazlett
6b4355d242 add NewDirectIOWithTerminal; add test for pty
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2018-04-25 16:17:10 -04:00
Derek McGowan
1a5e0df98f
Merge pull request #2305 from kolyshkin/context
Switch from x/net/context -> context
2018-04-25 10:44:22 -07:00
Michael Crosby
e073a48c7b
Merge pull request #2309 from crosbymichael/events-closed
Correctly handle reading from events channel
2018-04-25 13:42:14 -04:00
Michael Crosby
090687916d Correctly handle reading from events channel
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2018-04-25 11:21:22 -04:00
Kir Kolyshkin
bbe14f0a2e Switch from x/net/context to context
Since Go 1.7, context is a standard package, superceding the
"x/net/context". Since Go 1.9, the latter only provides a few type
aliases from the former. Therefore, it makes sense to switch to the
standard package.

This commit was generated by the following script (with a couple of
minor fixups to remove extra changes done by goimports):

	#!/bin/bash

	if [ $# -ge 1 ]; then
		FILES=$*
	else
		FILES=$(git ls-files \*.go | grep -vF ".pb.go" | grep -v
	^vendor/)
	fi

	for f in $FILES; do
		printf .
		sed -i -e 's|"golang.org/x/net/context"$|"context"|' $f
		goimports -w $f
		awk '	/^$/ {e=1; next;}
			/[[:space:]]"context"$/ {e=0;}
			{if (e) {print ""; e=0}; print;}' < $f > $f.new && \
				mv $f.new $f
		goimports -w $f
	done
	echo

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2018-04-24 14:33:34 -07:00
Kir Kolyshkin
9d0d4b806c context pkg: untangle
Since Go 1.7, "context" is a standard package, superceding the
"x/net/context". Since Go 1.9, the latter only provides type aliases
from the former. Therefore, it makes sense to switch to the standard
package, and the change is not disruptive in any sense.

This commit deals with a few cases where both packages happened to be
imported by the same source file. A choice between "context" and
"gocontext" was made for each file in order to minimize the patch.

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2018-04-24 14:33:34 -07:00
Kir Kolyshkin
f337075620 Bump golang.org/x/net
This version includes "x/net/context" which is fully compatible with
the standard Go "context" package, so the two can be mixed together.

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2018-04-24 14:33:20 -07:00
Derek McGowan
209a7fc3e4
Merge pull request #2302 from dmcgowan/prepare-1.1
Prepare 1.1.0 release
2018-04-23 20:20:58 -07:00
Derek McGowan
1155371c7a
Prepare 1.1.0 release
Signed-off-by: Derek McGowan <derek@mcgstyle.net>
2018-04-23 18:29:33 -07:00
Derek McGowan
d8aef117f9
Merge pull request #2304 from Random-Liu/update-cri
Update cri plugin to v1.0.0.
2018-04-23 18:24:37 -07:00
Lantao Liu
9c9abec21c Update cri plugin to v1.0.0.
Signed-off-by: Lantao Liu <lantaol@google.com>
2018-04-23 16:34:17 -07:00
Michael Crosby
321c52a0bc
Merge pull request #2303 from juliengk/ctr_tasks_list
Update ctr tasks list usage for quiet flag
2018-04-23 15:39:26 -04:00
Julien Kassar
9d247718d7 Update ctr tasks list usage for quiet flag
Signed-off-by: Julien Kassar <github@kassisol.com>
2018-04-23 14:53:35 -04:00
Phil Estes
1381f8fddc
Merge pull request #2301 from HusterWan/zr/fix-misspell
fix words misspell
2018-04-23 08:32:00 -04:00
Michael Wan
7fd6d5e2be fix words misspell
Signed-off-by: Michael Wan <zirenwan@gmail.com>
2018-04-23 00:09:42 -04:00
Phil Estes
2ac13a8757
Merge pull request #2300 from dmcgowan/remove-content-helper-defers
content: remove unnecessary defer in helpers
2018-04-20 16:39:32 -04:00
Derek McGowan
3a6825e1a0
content: remove unnecessary defer in helpers
Deferring the put back of the buffer is not necessary since
it can be done immediately after use, before checking error.
This decreases the amount of the time the buffer is out
of the pool and not in use.

Signed-off-by: Derek McGowan <derek@mcgstyle.net>
2018-04-20 11:55:59 -07:00
Derek McGowan
0a978d0b82
Merge pull request #2296 from tophj-ibm/cleanup-loopback-devices
testing: cleanup loopback devices on test skip
2018-04-18 10:44:19 -07:00
Christopher Jones
f1639bca4b
testing: cleanup loopback devices on test skip
Fixes a case where loopback devices wouldn't get cleaned up
when a test was being skipped

Signed-off-by: Christopher Jones <tophj@linux.vnet.ibm.com>
2018-04-18 12:39:21 -04:00
Phil Estes
e9114e3257
Merge pull request #2294 from fermayo/fix-cli-help
ctr: fix --mount help message
2018-04-18 08:29:06 -04:00
Fernando Mayo
0a26b0fe43 ctr: fix --mount help message
Signed-off-by: Fernando Mayo <fermayo@gmail.com>
2018-04-17 18:29:33 -07:00
Derek McGowan
f630d5f0a6
Merge pull request #2292 from dmcgowan/prepare-1.1.0-rc.2
Prepare 1.1.0-rc.2
2018-04-13 16:04:05 -07:00
Derek McGowan
dc47f11963
Prepare 1.1.0-rc.2
Signed-off-by: Derek McGowan <derek@mcgstyle.net>
2018-04-13 15:36:05 -07:00