Commit graph

38581 commits

Author SHA1 Message Date
Brian Goff
4b03f520d3
Merge pull request #40856 from cpuguy83/reduce_allocs_on_env_repalce
Use strings.Index instead of strings.Split
2020-05-12 15:19:10 -07:00
Brian Goff
a93e9eb0e9
Merge pull request #40945 from thaJeztah/fix_selinux_enotsup
SELinux: fix ENOTSUP errors not being detected when relabeling
2020-05-11 08:24:16 -07:00
Sebastiaan van Stijn
6a441845cc
Merge pull request #40948 from AkihiroSuda/rootlesskit-095
bump up rootlesskit to v0.9.5
2020-05-11 16:27:12 +02:00
Akihiro Suda
17bb5f4b15 bump up rootlesskit to v0.9.5
Supports numeric ID in /etc/subuid and /etc/subgid .
Fix #40926

Full changes: https://github.com/rootless-containers/rootlesskit/compare/v0.9.4...v0.9.5

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2020-05-11 10:25:00 +09:00
Sebastiaan van Stijn
49f8a4224c
SELinux: fix ENOTSUP errors not being detected when relabeling
Commit 12c7541f1f updated the
opencontainers/selinux dependency to v1.3.1, which had a breaking
change in the errors that were returned.

Before v1.3.1, the "raw" `syscall.ENOTSUP` was returned if the
underlying filesystem did not support xattrs, but later versions
wrapped the error, which caused our detection to fail.

This patch uses `errors.Is()` to check for the underlying error.
This requires github.com/pkg/errors v0.9.1 or above (older versions
could use `errors.Cause()`, but are not compatible with "native"
wrapping of errors in Go 1.13 and up, and could potentially cause
these errors to not being detected again.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-05-10 17:06:44 +02:00
Tibor Vass
298ba5b131
Merge pull request #40427 from thaJeztah/prometheus_remove_experimental
Do not require "experimental" for metrics API
2020-05-08 11:10:53 -07:00
Brian Goff
4a1a65a148
Merge pull request #40928 from thaJeztah/bump_term
vendor: moby/term 73f35e472e8f0a3f91347164138ce6bd73b756a9 (and dependencies)
2020-05-08 10:31:34 -07:00
Tibor Vass
751d5f879a
Merge pull request #40646 from thaJeztah/builder_use_pkg_sys_windows
pkg/system: deprecate SetNamedSecurityInfo, GetSecurityDescriptorDacl
2020-05-08 08:21:17 -07:00
Sebastiaan van Stijn
0fc914de5c
Merge pull request #40595 from sfzhu93/GL_2_25
[integration] add buffer to prevent goroutine leak
2020-05-08 16:00:52 +02:00
Sebastiaan van Stijn
e184eac73a
Merge pull request #40380 from thaJeztah/dockerfile_improvements
Dockerfile: improve binary build stages
2020-05-08 15:00:35 +02:00
Akihiro Suda
cdf49f37ee
Merge pull request #40672 from tiborvass/19.03.8-forwardport-to-master
vendor: add local copy of archive/tar
2020-05-08 08:11:03 +09:00
Brian Goff
75d655320e
Merge pull request #40920 from cpuguy83/log_rotate_error_handling
logfile: Check if log is closed on close error during rotate
2020-05-07 14:45:42 -07:00
Sebastiaan van Stijn
11a5b1887e
vendor: moby/term 73f35e472e8f0a3f91347164138ce6bd73b756a9
full diff: 063f2cd0b4...73f35e472e

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-05-07 22:37:41 +02:00
Sebastiaan van Stijn
4ac17adcd3
vendor: golang.org/x/sys 85ca7c5b95cdf1e557abb38a283d1e61a5959c31
full diff: 5c8b2ff675...85ca7c5b95

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-05-07 22:37:39 +02:00
Sebastiaan van Stijn
de7f0120fd
Dockerfile: mount install scripts instead of copying
These scripts are only used to build the binaries, and
the scripts themselves don't have to be persisted in an
image, so we can mount them instead of copying to the stage

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-05-07 21:36:37 +02:00
Sebastiaan van Stijn
d1a3a17c67
Dockerfile: remove "INSTALL_BINARY_NAME" envs
Using a variable here doesn't seem to add much, so inlining
the value instead.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-05-07 21:35:54 +02:00
Tibor Vass
daa826f9f3
Merge pull request #40891 from thaJeztah/reformat_swagger
swagger: reformat, and wrap to ~80-chars
2020-05-07 12:27:09 -07:00
Tibor Vass
452080d40b
Merge pull request #40915 from thaJeztah/update_vendor_comments
vendor.conf: add version comments
2020-05-07 12:25:41 -07:00
Sebastiaan van Stijn
b453b64d04
Merge pull request #40845 from AkihiroSuda/allow-privileged-cgroupns-private-on-cgroup-v1
support `--privileged --cgroupns=private` on cgroup v1
2020-05-07 21:11:42 +02:00
Brian Goff
47d9489e7c
Merge pull request #40907 from thaJeztah/bump_selinux
vendor: opencontainers/selinux v1.5.1
2020-05-07 11:51:08 -07:00
Brian Goff
9488aa5c1b
Merge pull request #40909 from thaJeztah/bump_hcsshim
vendor: Microsoft/hcsshim v0.8.9
2020-05-07 11:49:37 -07:00
Brian Goff
99b5935fd8
Merge pull request #40917 from thaJeztah/bump_golang_sys
vendor: golang.org/x/sys 5c8b2ff67527cb88b770f693cebf3799036d8bc0
2020-05-07 11:47:26 -07:00
Brian Goff
3989f91075 logfile: Check if log is closed on close error during rotate
This prevents getting into a situation where a container log cannot make
progress because we tried to rotate a file, got an error, and now the
file is closed. The next time we try to write a log entry it will try
and rotate again but error that the file is already closed.

I wonder if there is more we can do to beef up this rotation logic.
Found this issue while investigating missing logs with errors in the
docker daemon logs like:

```
Failed to log message for json-file: error closing file: close <file>:
file already closed
```

I'm not sure why the original rotation failed since the data was no
longer available.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2020-05-07 11:37:06 -07:00
Brian Goff
232ebf7fa4
Merge pull request #40868 from thaJeztah/what_is_the_cause
Replace errors.Cause() with errors.Is() / errors.As()
2020-05-07 11:33:26 -07:00
Sebastiaan van Stijn
60a4f9afd4
Merge pull request #40893 from thaJeztah/bump_buildx_go_1.13
Dockerfile.buildx: bump to Go 1.13.10
2020-05-06 21:48:39 +02:00
Sebastiaan van Stijn
25fd814652
vendor: golang.org/x/sys 5c8b2ff67527cb88b770f693cebf3799036d8bc0
full diff: d5e6a3e2c0...5c8b2ff675

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-05-06 14:15:56 +02:00
Sebastiaan van Stijn
d84ed625a7
vendor: add version comment for containerd/typeurl, ttrpc
These dependencies have tagged releases, but we're currently
vendoring from master. Add a comment to give some "clue" what
version we're vendoring.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-05-06 14:09:15 +02:00
Sebastiaan van Stijn
fa8199b453
vendor: add comment that containerd/console is v1.0.0
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-05-06 14:09:10 +02:00
Sebastiaan van Stijn
08d3774304
vendor: Microsoft/hcsshim v0.8.9
full diff: https://github.com/Microsoft/hcsshim/compare/v0.8.7...v0.8.9

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-05-05 20:42:02 +02:00
Sebastiaan van Stijn
a8216806ce
vendor: opencontainers/selinux v1.5.1
full diff: https://github.com/opencontainers/selinux/compare/v1.3.3...v1.5.1

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-05-05 20:33:06 +02:00
Tibor Vass
1655290016
Merge pull request #40882 from thaJeztah/containerd_all_binaries
Make binary: install all containerd shims to bundles
2020-05-05 10:43:21 -07:00
Akihiro Suda
0a5cec2833
Merge pull request #40873 from thaJeztah/bump_logrus
vendor: sirupsen/logrus v1.6.0
2020-05-04 23:01:07 +09:00
Sebastiaan van Stijn
e1e544c8c6
vendor: sirupsen/logrus v1.6.0
full diff: https://github.com/sirupsen/logrus/compare/v1.4.2...v1.6.0

- Ability to DisableHTMLEscape when using the JSON formatter
- Support/fixes for go 1.14
- Many many bugfixes
- Add flag to disable quotes in TextFormatter

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-05-03 01:55:52 +02:00
Sebastiaan van Stijn
6168b875a4
Dockerfile.buildx: bump to Go 1.13.10
Looks like this Dockerfile was not yet updated; possibly because
`go mod` issues when building buildx 0.3.1.

Given that the upstream repository uses vendoring, I:

- removed the `go mod download` step
- added `-mod=vendor` to use vendoring mode

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-05-02 19:03:17 +02:00
Sebastiaan van Stijn
3b261d7709
swagger: reformat, and wrap to ~80-chars
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-05-02 18:10:28 +02:00
Sebastiaan van Stijn
f85bea4ee7
Make binary: install all containerd shims to bundles
The containerd.installer was updated to also copy `containerd-shim-runc-v2`,
but `hack/make/binary-daemon` did not copy it to the bundles directory.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-05-02 17:29:22 +02:00
Brian Goff
fd784ce7c1
Merge pull request #40872 from thaJeztah/update_terminal_sequences
vendor konsorten/go-windows-terminal-sequences v1.0.3
2020-04-30 10:51:25 -07:00
Sebastiaan van Stijn
7e9b4c746d
Merge pull request #40875 from thaJeztah/sort_deps
vendor: sort imports to prevent vendoring race condition
2020-04-30 11:37:13 +02:00
Brian Goff
f6163d3f7a
Merge pull request #40673 from kolyshkin/scan
Simplify daemon.overlaySupportsSelinux(), fix use of bufio.Scanner.Err()
2020-04-29 17:18:37 -07:00
Sebastiaan van Stijn
996be00fb9
vendor: sort imports to prevent vendoring race condition
If both a "versioned" and "non-versioned" version of a dependency
exists in vendor.conf, the "longest" path should be cloned last,
otherwise the versioned dependency may be deleted when cloning its
non-versioned variant.

For example, with the following vendor.conf:

github.com/coreos/go-systemd/v22 v22.0.0
github.com/coreos/go-systemd v17

Running vndr would;

1. recursively delete "vendor/src/github.com/coreos/go-systemd/v22:
2. start cloning "github.com/coreos/go-systemd/v22"
3. recursively delete "vendor/src/github.com/coreos/go-systemd"
4. start cloning "github.com/coreos/go-systemd"

This would lead to a conflicting situation; step 3. will remove
the dependency that was previously cloned (or in the process
of being cloned).

This patch sorts the dependencies by import-path, cloning the
shortest import paths first, which should prevent the race condition.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-04-29 23:40:30 +02:00
Sebastiaan van Stijn
c3b3aedfa4
Merge pull request #40662 from AkihiroSuda/cgroup2-dockerinfo
cgroup2: implement `docker info`
2020-04-29 22:57:00 +02:00
Akihiro Suda
c4c10d5b81
Merge pull request #40874 from thaJeztah/update_experimental_syntax
Dockerfile: update syntax to 1.1.7-experimental
2020-04-30 01:03:14 +09:00
Brian Goff
65bfb29603
Merge pull request #40869 from AkihiroSuda/remove-outdated-annotation
cmd/dockerd: remove outdated "experimental" annotation
2020-04-29 08:02:23 -07:00
Sebastiaan van Stijn
84d7b57eb7
Dockerfile: update syntax to 1.1.7-experimental
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-04-29 14:30:23 +02:00
Sebastiaan van Stijn
8006a9d08c
vendor konsorten/go-windows-terminal-sequences v1.0.3
full diff: https://github.com/konsorten/go-windows-terminal-sequences/compare/v1.0.2...v1.0.3

Fixes a panic when using logrus on Go 1.14

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-04-29 11:27:11 +02:00
Akihiro Suda
90f19fc375 cmd/dockerd: remove outdated "experimental" annotation
Follow up to #40759

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2020-04-29 11:06:11 +09:00
Sebastiaan van Stijn
07d60bc257
Replace errors.Cause() with errors.Is() / errors.As()
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-04-29 00:28:41 +02:00
Brian Goff
cc0dfb6e7b
Merge pull request #40866 from thaJeztah/bump_ipvs
vendor: update moby/ipvs v1.0.1
2020-04-28 14:44:31 -07:00
Sebastiaan van Stijn
b2af9e631c
vendor: update moby/ipvs v1.0.1
full diff: https://github.com/moby/ipvs/compare/v1.0.0...v1.0.1

- Fix compatibility issue on older kernels (< 3.18) where the address
  family attribute for destination servers do not exist
- Fix the stats attribute check when parsing destination addresses
- NetlinkSocketsTimeout should be a constant

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-04-28 16:59:06 +02:00
Tianon Gravi
45369c61a4
Merge pull request #40860 from AkihiroSuda/rootlesskit-094
bump up rootlesskit to v0.9.4
2020-04-27 15:49:14 -07:00