Commit Graph

39 Commits

Author SHA1 Message Date
13e5898067 Merge pull request #34369 from cyphar/build-buildmode-pie
*: switch to -buildmode=pie
Upstream-commit: cd3c0057ac28b5601196424597d7fed226948386
Component: engine
2018-01-29 23:54:03 +09:00
6b042c3e6d install-containerd-static: use netgo buildtag
When compiling containerd binaries statically, linker rightfully
complains:

 + make BUILDTAGS=static_build 'EXTRA_FLAGS=-buildmode pie' 'EXTRA_LDFLAGS=-extldflags "-fno-PIC -static"'
 🇩 bin/ctr
 # github.com/containerd/containerd/cmd/ctr
 /tmp/go-link-343047789/000000.o: In function `_cgo_b0c710f30cfd_C2func_getaddrinfo':
 /tmp/go-build/net/_obj/cgo-gcc-prolog:46: warning: Using 'getaddrinfo'
 in statically linked applications requires at runtime the shared
 libraries from the glibc version used for linking

The same error appears for ctr, containerd, and containerd-stress
binaries.

The fix is to use Go's own DNS resolver functions, rather than
glibc's getaddrinfo() -- this option is turned on by `netgo` build tag.

See https://golang.org/pkg/net/ (look for "Name Resolution") for more
details.

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
Upstream-commit: 7368ef96c89fd4f6879addf5214c4a09889a05be
Component: engine
2017-12-19 18:25:02 -08:00
d9f34cfcb3 Update containerd to 59bd1967112885c4d49e510e55701
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
Upstream-commit: 5bd902b5cfbb360915b02fc2a787ae9e1c183405
Component: engine
2017-11-29 19:15:14 -05:00
8fc8b79463 *: switch to -buildmode=pie
Go has supported PIC builds for a while now, and given the security
benefits of using PIC binaries we should really enable them. There also
appears to be some indication that non-PIC builds have been interacting
oddly on ppc64le (the linker cannot load some shared libraries), and
using PIC builds appears to solve this problem.

Signed-off-by: Aleksa Sarai <asarai@suse.de>
Upstream-commit: 1f4e37cf4bd2f73dc5257d791cc4dba294ddd156
Component: engine
2017-11-11 21:59:49 +11:00
3c035adcf7 Add containerd static compile
Fixes #35349

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
Upstream-commit: 007db062f0c39bf31e1150aa26d045778ab7d24e
Component: engine
2017-10-31 11:50:29 -04:00
02485e8657 Vendor containerd 1.0
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
Upstream-commit: 7acea2a243d25c061d12a2a2f8bbd4e5955a85f4
Component: engine
2017-10-19 13:19:41 -07:00
98aa729835 Merge pull request #34554 from dnephin/use-release-version-of-docker-cli
Pin docker-cli version to the 17.06-ce release version
Upstream-commit: e23965d620e1655f44d47edd8b5e08c2c384fd03
Component: engine
2017-08-30 13:43:39 -04:00
2ca5291236 Merge pull request #34356 from mlaventure/update-containerd
Update containerd to 06b9cb35161009dcb7123345749fef02f7cea8e0
Upstream-commit: 285bc997311b75263bfac9e8ff7c4d60cdeca0bc
Component: engine
2017-08-24 14:25:44 -07:00
5d498bba11 Build the docker cli for unreleased platforms
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: 5ba5e6fff438029195c0df1303481c1e260bc6ec
Component: engine
2017-08-23 17:50:02 -04:00
5380c10ac4 Pin docker-cli version to the 17.06-ce release version
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: cef786f787dcfd87a50c7d0b7183724ab1242ed8
Component: engine
2017-08-22 14:29:16 -04:00
94c685a721 Add deadcode linter
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: 62c1f0ef41e6cd88a8846da1c11976a320ca8b41
Component: engine
2017-08-21 18:18:50 -04:00
6b3b192846 Add goimports to linters.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: 372670b5074b077927314cdf46af30f8752e7db0
Component: engine
2017-08-21 18:15:08 -04:00
5305a1cd9e Update containerd to 06b9cb35161009dcb7123345749fef02f7cea8e0
This also update:
 - runc to 3f2f8b84a77f73d38244dd690525642a72156c64
 - runtime-specs to v1.0.0

Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
Upstream-commit: 45d85c99139bbd16004bbedb7d5bac6a60264538
Component: engine
2017-08-21 12:04:07 -07:00
63a6b47bce Use gometalinter for linting
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: d7e2c4ce773b3a54f47e84a5a1ef22eb72c978b5
Component: engine
2017-08-18 14:23:43 -04:00
6dc61813df Remove bindata
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: 96e61f3173c21a94f06db2bf1f8a6041da3e4e21
Component: engine
2017-06-21 11:20:05 -04:00
f3ef17e47d Revert ONCLR and OPOST changes
This reverts to a version of runc without the ONCLR cleared to not cause
a regression with different clients using --tty.

This also reverts the OPOST changes to the term package to support the
initial change.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
Upstream-commit: a5e83836a49547b2add871bb52cbd8bfedb57114
Component: engine
2017-06-07 13:14:52 -07:00
53d1a4eb83 Merge pull request #33007 from crosbymichael/containerd-rc5
Update moby to containerd and runc 1.0 final rc
Upstream-commit: 7238cca42c3d024adfa030306ad3e3ec4232baed
Component: engine
2017-05-08 09:23:07 -07:00
ce61a3d4f2 Update moby to runc and oci 1.0 runtime final rc
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
Upstream-commit: 005506d36c1c9308a05592d7596f3d484359c426
Component: engine
2017-05-05 13:45:45 -07:00
0424213965 Enforce CGO_ENABLED=0 only for docker-proxy
Signed-off-by: Tibor Vass <tibor@docker.com>
Upstream-commit: e30c2e86e8ec2040fa2d1e1e20d8fcd6decd0ddb
Component: engine
2017-05-05 12:14:30 -07:00
a8b3ac7249 Remove cmd/docker and other directories in cli/ in accordance with the new Moby project scope
Starting with this commit, integration tests should no longer rely on
the docker cli, they should be API tests instead. For the existing tests
the scripts will use a frozen version of the docker cli with a
DOCKER_API_VERSION frozen to 1.30, which should ensure that the CI remains
green at all times.

To help contributors develop and test manually with a modified docker
cli, this commit also adds a DOCKER_CLI_PATH environment variable to the
Makefile. This allows to set the path of a custom cli that will be
available inside the development container and used to run the
integration tests.

Signed-off-by: Arnaud Porterie (icecrime) <arnaud.porterie@docker.com>
Signed-off-by: Tibor Vass <tibor@docker.com>
Upstream-commit: 32915b1d0a315598edb737785d0357b5a1b8aa11
Component: engine
2017-05-05 12:14:29 -07:00
ec6f3b3f5b Merge pull request #28454 from glensc/init-args
do not require custom build of tini
Upstream-commit: 50a72c7467ec92cb20b9ec72fd4de2d5e9761347
Component: engine
2017-01-20 10:03:58 -08:00
edfbbc6ec9 Replace vendor of aanand/compose-file with a local copy.
Add go-bindata for including the schema.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: f5af9b9738892b5988f987ce5fbce6e31a10e768
Component: engine
2016-12-27 16:17:24 -05:00
2dd9139a7d do not require custom build of tini
https://github.com/krallin/tini/issues/55#issuecomment-260507562
https://github.com/krallin/tini/issues/55#issuecomment-260538243
https://github.com/docker/docker/pull/28037

Signed-off-by: Elan Ruusamäe <glen@delfi.ee>
Upstream-commit: d7df7315971653e11bab124800a5938e7e5c6316
Component: engine
2016-11-16 00:08:55 +02:00
515ebb7b5c Add expected 3rd party binaries commit ids to info
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
Upstream-commit: 2790ac68b32b399c872de88388bdccc359ed7a88
Component: engine
2016-11-09 07:42:44 -08:00
64d7644ec8 Replace grimes with tini
There is no reason to duplicate efforts and tini is well built and
better than grimes.  It is a much stronger option for the default init
and @krallin has done a great job maintaining it and helping make
changes so that it will work with Docker.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
Upstream-commit: d58b47623b252803f5cd12f6d9ca584d1587ab22
Component: engine
2016-11-08 14:42:54 -08:00
20482eac18 Update containerd to 8517738ba4b82aff5662c97ca4627e7e4d03b531
This version:
 - properly follow context cancellation on Start and Exec
 - add support for Solaris
 - ensure exec exit events are always seen before init's

Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
Upstream-commit: 0aa17f0f6090ddeefaa6a0bc618aeb8baf3afa3f
Component: engine
2016-11-08 09:47:41 -08:00
b865964d4d Use runc version built without ambient capabilities
Until we can support existing behaviour with `sudo` disable
ambient capabilities in runc build.

Add tests that non root user cannot use default capabilities,
and that capabilities are working as expected.

Test for #27590

Update runc.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
Upstream-commit: c5251f7116e3d9095a7169fc31bd170dff997c2e
Component: engine
2016-11-04 17:25:28 +00:00
61646d77af project: use vndr for vendoring
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
Upstream-commit: f2614f2107c838d014d31b806e3b8a9f1395cb2b
Component: engine
2016-11-03 15:31:46 -07:00
c05bbc9c5f Update init to fe069a03affd2547fdb05e5b8b07202d2e4
diff:

```patch
diff --git a/Makefile b/Makefile
index 0b2b063..70df01b 100644
--- a/Makefile
+++ b/Makefile
@@ -1,3 +1,4 @@
+GIT_VERSION := $(shell git describe --abbrev=40 --long --dirty --always --tags)

 all:
-	gcc -O2 -o init -static grimes.c
+	gcc -O2 -DVERSION=\"$(GIT_VERSION)\" -o init -static grimes.c
diff --git a/grimes.c b/grimes.c
index d0f836b..ffeea98 100644
--- a/grimes.c
+++ b/grimes.c
@@ -29,7 +29,7 @@ typedef struct reaper_t {
 } reaper_t;

 // reaper_new initializes the reaper with the provided process.
-// it also sets up the signal handlers and child handlers for restore
+// it also sets up the signal handlers and child handlers for restore
 // when the child is execed
 int reaper_new(reaper_t * reaper, process_t * process)
 {
@@ -57,7 +57,7 @@ int reaper_new(reaper_t * reaper, process_t * process)
 	return 0;
 }

-// reaper_exit closes the reaper's signalfd and exits with the
+// reaper_exit closes the reaper's signalfd and exits with the
 // child's exit status
 void reaper_exit(reaper_t * reaper, int status)
 {
@@ -68,11 +68,11 @@ void reaper_exit(reaper_t * reaper, int status)
 	exit(WEXITSTATUS(status));
 }

-// reaper_reap reaps any dead processes.  If the process that is reaped
+// reaper_reap reaps any dead processes.  If the process that is reaped
 // is the child process that we spawned get its exit status and exit this program
 int reaper_reap(reaper_t * reaper)
 {
-	int status, child_exited, child_status = 0;
+	int status = 0, child_exited = 0, child_status = 0;
 	for (;;) {
 		pid_t pid = waitpid(-1, &status, WNOHANG);
 		switch (pid) {
@@ -140,6 +140,12 @@ int main(int argc, char **argv)
 {
 	process_t process;
 	reaper_t reaper;
+
+	if (argc == 2 && !strcmp(argv[1], "--version")) {
+		printf("grimes version %s\n", VERSION);
+		exit(0);
+	}
+
 	if (reaper_new(&reaper, &process) != 0) {
 		bail("initialize reaper %s", strerror(errno));
 	}

```

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
Upstream-commit: 131514dad67be6c8dce6098c219597839aa995d6
Component: engine
2016-11-02 09:27:54 -07:00
30520bd0c0 project: fix build rpm
* change workdir for accessing install-binaries.sh
* use other gopath for binaries to preserve sources
* add sources of proxy and grimes to rpc spec
* use dynamic proxy with -linkmode external in deb and rpm

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
Upstream-commit: bf0fe87fe6acb0ad55539fdfa565dcdca8e343a5
Component: engine
2016-10-28 14:34:17 -07:00
44e77a4b4f Build docker-proxy from git checkout like other external binaries
This means we can vendor libnetwork without special casing, and
it is built the same way as the other external binaries.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
Upstream-commit: 3996975b0840033bda3919440d122d734a4bc66b
Component: engine
2016-10-25 13:13:22 +01:00
2f7fc91dd4 Merge pull request #27470 from runcom/expose-exec-pid
record pid of exec'd process
Upstream-commit: 13fd75c3dd18e6d57b6b28097fd7e0d0989c1b9e
Component: engine
2016-10-20 21:36:21 +02:00
0a853bdac1 Merge pull request #27556 from LK4D4/unify_install
project: unify way of installing runc and containerd
Upstream-commit: ffa0446e8b8a190cb42f6ff6d54acb8d65995e49
Component: engine
2016-10-20 10:13:40 -07:00
e50d97d8c8 project: unify way of installing runc and containerd
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
Upstream-commit: 179479c6cdf44a2fd3d4ba2ce5dc176bc22ca9bf
Component: engine
2016-10-20 08:50:02 -07:00
dd35c23542 record pid of exec'd process
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
Upstream-commit: 18083481361a4053d1081a201120a916239fc0ed
Component: engine
2016-10-20 17:06:11 +02:00
9aa2d11ea2 Update docker-init to 74341e923bdf06cfb6b70cf54089
Fixes a bug with background processes after the child process exits.

diff:
74341e923b

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
Upstream-commit: 3c3ba4cb662b0a19d5821470dd534279f18699fa
Component: engine
2016-10-18 14:45:43 -07:00
ea330f084a Update grimes to 15ecf9414859b16a8a19ac6748a622a5498d57e3
This fixes an issue when wait4 returns a 0 return status causing the
reaping loop to continue to run.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
Upstream-commit: c27116575e0d9b0d1eb085cffef0693babb7bdbb
Component: engine
2016-10-07 12:06:42 -07:00
6e5d016ba6 Update containerd and runc
containerd: 837e8c5e1cad013ed57f5c2090c8591c10cbbdae
runc: 02f8fa7863dd3f82909a73e2061897828460d52f

Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
Upstream-commit: 7e12c3bb99381f117be73e05c187be6ce44280b9
Component: engine
2016-10-05 14:47:15 -07:00
75e7ddadb0 project: move go binaries installation to separate script
It should allow easier updates for containerd and runc

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
Upstream-commit: 1b41125ad9f1a3881b71bd044d76fd285170addb
Component: engine
2016-09-23 09:21:29 -07:00