Commit Graph

43989 Commits

Author SHA1 Message Date
Sebastiaan van Stijn
d294078dd0 update golang to 1.18.2
go1.18.2 (released 2022-05-10) includes security fixes to the syscall package,
as well as bug fixes to the compiler, runtime, the go command, and the crypto/x509,
go/types, net/http/httptest, reflect, and sync/atomic packages. See the Go 1.18.2
milestone on the issue tracker for details:

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

Full diff: http://github.com/golang/go/compare/go1.18.1...go1.18.2

Includes fixes for:

- CVE-2022-29526 (http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29526);
  (description at https://go.dev/issue/52313).

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-05-11 13:08:25 +02:00
Sebastiaan van Stijn
b1e30e8328 Merge pull request #43579 from thaJeztah/remove_dead_code
Remove dead code
2022-05-11 02:01:57 +02:00
Sebastiaan van Stijn
1f21c4dd05 testutil/registry: remove unused WithStdout(), WithStErr() opts
These were added as part of d7ba1f85ef,
but weren't used at the time, and still aren't used, so let's remove
them.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-05-10 23:46:23 +02:00
Sebastiaan van Stijn
78095e4d12 Remove unused image/v1 code
This image format is only used for docker save / docker load.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-05-10 23:45:03 +02:00
Sebastiaan van Stijn
14fdd97b69 Remove unused distribution/metadata/V1IDService
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-05-10 23:39:22 +02:00
Sebastiaan van Stijn
219374e2cd Merge pull request #43275 from kponichtera/43274-delve-debugger
Added Delve debugger to the development container
2022-05-10 18:34:45 +02:00
Sebastiaan van Stijn
3228dbaaa9 Merge pull request #43555 from thaJeztah/separate_engine_id
daemon: separate daemon ID from trust-key, and disable generating
2022-05-10 14:27:42 +02:00
Konrad Ponichtera
4573cd9c30 Improved readability of the run hack script
Signed-off-by: Konrad Ponichtera <konpon96@gmail.com>
2022-05-10 11:57:39 +02:00
Tianon Gravi
8149fa55ff Merge pull request #43572 from Juneezee/refactor/strings-replaceall
all: replace strings.Replace with strings.ReplaceAll
2022-05-09 11:53:38 -07:00
Eng Zer Jun
7873c27cfb all: replace strings.Replace with strings.ReplaceAll
strings.ReplaceAll(s, old, new) is a wrapper function for
strings.Replace(s, old, new, -1). But strings.ReplaceAll is more
readable and removes the hardcoded -1.

Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>
2022-05-09 19:45:40 +08:00
Sebastiaan van Stijn
bb88ff4ab4 Merge pull request #43566 from thaJeztah/fix_import
api/server: fix stray import in container_routes.go
2022-05-06 19:55:34 +02:00
Sebastiaan van Stijn
f0d1911ddf api/server: fix stray import in container_routes.go
This import was left behind due to some PR's being merged, both
affecting the imports that were used.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-05-06 19:09:13 +02:00
Sebastiaan van Stijn
6b4696e18d Merge pull request #43544 from thaJeztah/daemon_fix_hosts_validation_step1h
daemon/config: remove uses of pointers for ints
2022-05-06 17:52:52 +02:00
Sebastiaan van Stijn
7b08faa089 Merge pull request #43552 from thaJeztah/remove_redundant_validation
api:  postContainersStop, postContainersRestart  remove redundant validation
2022-05-06 17:47:33 +02:00
Sebastiaan van Stijn
b3675e1839 Merge pull request #43563 from thaJeztah/less_signal_conversions
pass syscall.Signal for stop-signals to reduce type conversions
2022-05-06 16:35:07 +02:00
Sebastiaan van Stijn
d6115b8f40 daemon: fix some minor nits
- remove isErrNoSuchProcess() in favor of a plain errors.As()
- errNoSuchProcess.Error(): remove punctuation

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-05-05 11:27:59 +02:00
Sebastiaan van Stijn
d733481399 daemon: daemon.ContainerKill() accept stop-signal as string
This allows the postContainersKill() handler to pass values as-is. As part of
the rewrite, I also moved the daemon.GetContainer(name) call later in the
function, so that we can fail early if an invalid signal is passed, before
doing the (heavier) fetching of the container.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-05-05 11:27:47 +02:00
Sebastiaan van Stijn
521807837b plugin: Executor.Signal() accept syscall.Signal
This helps reducing some type-juggling / conversions further up
the stack.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-05-05 00:53:55 +02:00
Sebastiaan van Stijn
21df9a04e0 container: StopSignal(): return syscall.Signal
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-05-05 00:53:53 +02:00
Sebastiaan van Stijn
ea1eb449b7 daemon: killWithSignal, killPossiblyDeadProcess: accept syscall.Signal
This helps reducing some type-juggling / conversions further up
the stack.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-05-05 00:53:52 +02:00
Sebastiaan van Stijn
2ec2b65e45 libcontainerd: SignalProcess(): accept syscall.Signal
This helps reducing some type-juggling / conversions further up
the stack.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-05-05 00:53:49 +02:00
Sebastiaan van Stijn
c9b37e5cb4 Merge pull request #43560 from thaJeztah/bump_containerd_binary_1.6.4
update containerd binary to v1.6.4
2022-05-04 20:24:53 +02:00
Sebastiaan van Stijn
070da63310 daemon: only create trust-key if DOCKER_ALLOW_SCHEMA1_PUSH_DONOTUSE is set
The libtrust trust-key is only used for pushing legacy image manifests;
pushing these images has been deprecated, and we only need to be able
to push them in our CI.

This patch disables generating the trust-key (and related paths) unless
the DOCKER_ALLOW_SCHEMA1_PUSH_DONOTUSE env-var is set (which we do in
our CI).

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-05-04 20:18:08 +02:00
Sebastiaan van Stijn
bb1208639b daemon: separate daemon ID from trust-key
This change is in preparation of deprecating support for old manifests.
Currently the daemon's ID is based on the trust-key ID, which will be
removed once we fully deprecate support for old manifests (the trust
key is currently only used in tests).

This patch:

- looks if a trust-key is present; if so, it migrates the trust-key
  ID to the new "engine-id" file within the daemon's root.
- if no trust-key is present (so in case it's a "fresh" install), we
  generate a UUID instead and use that as ID.

The migration is to prevent engines from getting a new ID on upgrades;
while we don't provide any guarantees on the engine's ID, users may
expect the ID to be "stable" (not change) between upgrades.

A test has been added, which can be ran with;

    make DOCKER_GRAPHDRIVER=vfs TEST_FILTER='TestConfigDaemonID' test-integration

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-05-04 20:17:18 +02:00
Sebastiaan van Stijn
846d37cad3 Merge pull request #43559 from thaJeztah/bump_containerd_1.6.4
vendor: github.com/containerd/containerd v1.6.4
2022-05-04 18:49:10 +02:00
Sebastiaan van Stijn
6e376e32d8 update containerd binary to v1.6.4
Notable Updates

- Update go-cni to fix teardown regression
- Fix broken SELinux relabeling for Kubernetes volume mounts

full diff: https://github.com/containerd/containerd/compare/v1.6.3...v1.6.4

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-05-04 10:58:08 +02:00
Sebastiaan van Stijn
a35040222c vendor: github.com/containerd/containerd v1.6.4
No changes in vendored code

full diff: https://github.com/containerd/containerd/compare/v1.6.3...v1.6.4

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-05-04 10:54:25 +02:00
Sebastiaan van Stijn
613b798312 Merge pull request #43545 from thaJeztah/update_selinux
vendor: github.com/opencontainers/selinux v1.10.1
2022-05-02 19:07:40 +02:00
Sebastiaan van Stijn
9880e6a1ef vendor: github.com/opencontainers/selinux v1.10.1
- relabel links instead of their targets

full diff: https://github.com/opencontainers/selinux/compare/v1.10.0...v1.10.1

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-05-02 14:40:47 +02:00
Sebastiaan van Stijn
789223f2dc api: postContainersStop, postContainersRestart remove redundant validation
Both of these pass the signal to daemon.containerStop(), which already validates
the signal; 2ed904cad7/daemon/stop.go (L48-L52)

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-05-02 14:12:14 +02:00
Sebastiaan van Stijn
2ed904cad7 Merge pull request #43547 from thaJeztah/bump_buildkit
vendor: github.com/moby/buildkit v0.10.2
2022-04-29 20:18:37 +02:00
Sebastiaan van Stijn
82088364e1 vendor: github.com/moby/buildkit v0.10.2
note that the previous version we used was from the master branch, so some
changes, for example, replacing the deprecated `io/ioutil` package are reverted
in this update.

raw diff: https://github.com/moby/buildkit/compare/d7744bcb3532..v0.10.2

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-04-29 16:54:18 +02:00
Sebastiaan van Stijn
fca0c20cd4 vendor: github.com/containerd/continuity v0.3.0
full diff: https://github.com/containerd/continuity/compare/v0.2.2...v0.3.0

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-04-29 16:20:03 +02:00
Sebastiaan van Stijn
16cd359664 vendor: golang.org/x/sys v0.0.0-20220405210540-1e041c57c461
full diff: a9b59b0215...1e041c57c4

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-04-29 16:18:00 +02:00
Sebastiaan van Stijn
63b13a70ee vendor: github.com/Microsoft/go-winio v0.5.2
full diff: https://github.com/Microsoft/go-winio/compare/v0.5.1...v0.5.2

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-04-29 16:12:56 +02:00
Sebastiaan van Stijn
545cf195e2 Merge pull request #43480 from corhere/mitigate-slow-health-check-start
Mitigate the impact of slow exec starts on health checks
2022-04-29 15:07:31 +02:00
Sebastiaan van Stijn
b963ba4a1e Merge pull request #43452 from kponichtera/43451-contribution-guide-set-up-ide
Extended contribution guide with how to make IDEs recognize Moby’s repository as a Go project
2022-04-29 15:03:24 +02:00
Sebastiaan van Stijn
5486146943 Merge pull request #43525 from thaJeztah/daemon_fix_hosts_validation_step1e
daemon: daemon.initNetworkController(): dont return the controller
2022-04-29 14:12:56 +02:00
Sebastiaan van Stijn
bf04690bbc Merge pull request #43530 from thaJeztah/api_cleanup_definitions
api/types: cleanup to use more idiomatic names
2022-04-29 11:35:43 +02:00
Sebastiaan van Stijn
6028568508 Merge pull request #43534 from thaJeztah/bump_containerd_1.6.3
vendor: github.com/containerd/containerd v1.6.3
2022-04-29 09:59:28 +02:00
Sebastiaan van Stijn
e62382d014 daemon/config: remove uses of pointers for ints
Use the default (0) value to indicate "not set", which simplifies
working with these configuration options, preventing the need to
use intermediate variables etc.

While changing this code, also making some small cleanups, such
as replacing "fmt.Sprintf()" for "strconv" variants.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-04-29 09:39:34 +02:00
Sebastiaan van Stijn
4d22584432 Merge pull request #43536 from thaJeztah/daemon_fix_hosts_validation_step1g
daemon: improvements to config (re)loading
2022-04-29 09:39:11 +02:00
Sebastiaan van Stijn
2fa315c656 Merge pull request #43535 from thaJeztah/daemon_fix_hosts_validation_step1f
cmd/dockerd: unify flags, and remove opt.IPOpt()
2022-04-29 09:20:42 +02:00
Sebastiaan van Stijn
dbd575ef91 daemon: daemon.initNetworkController(): dont return the controller
This method returned the network controller, only to set it on the daemon.

While making this change, also;

- update some error messages to be in the correct format
- use errors.Wrap() where possible
- extract configuring networks into a separate function to make the flow
  slightly easier to follow.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-04-29 09:08:49 +02:00
Cory Snider
bdc6473d2d health: Start probe timeout after exec starts
Starting an exec can take a significant amount of time while under heavy
container operation load. In extreme cases the time to start the process
can take upwards of a second, which is a significant fraction of the
default health probe timeout (30s). With a shorter timeout, the exec
start delay could make the difference between a successful probe and a
probe timeout! Mitigate the impact of excessive exec start latencies by
only starting the probe timeout timer after the exec'ed process has
started.

Add a metric to sample the latency of starting health-check exec probes.

Signed-off-by: Cory Snider <csnider@mirantis.com>
2022-04-28 17:21:03 -04:00
Sebastiaan van Stijn
41b96bff55 update uses of container.ContainerCreateCreatedBody to CreateResponse
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-04-28 22:39:20 +02:00
Sebastiaan van Stijn
3bb2d0026b api: rename container.ContainerCreateCreatedBody to container.CreateResponse
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-04-28 22:39:18 +02:00
Sebastiaan van Stijn
ff197417fa api: swagger: move ContainerCreateResponse to definitions
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-04-28 22:39:16 +02:00
Sebastiaan van Stijn
64e96932bd api: rename volume.VolumeCreateBody to volume.CreateOptions
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-04-28 22:39:14 +02:00
Sebastiaan van Stijn
18281c92fa api: rename volume.VolumeListOKBody to volume.ListResponse
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-04-28 22:39:12 +02:00