Commit Graph

543 Commits

Author SHA1 Message Date
9a299b360f Make experimental a runtime flag
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
Upstream-commit: 7781a1bf0fef748877326632b88e92fbf3c90daa
Component: engine
2016-10-24 15:20:01 -07:00
9a717de600 Exclude generated types from linting.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: 4bfa2e634cec20685760abbeb605bcf1426f41d0
Component: engine
2016-10-20 13:24:23 -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
391b6f94da Merge pull request #26509 from LK4D4/commits_from_vendor
project: move go binaries installation to separate script
Upstream-commit: 0b86ca9ad0916b62b7429f5d15821962bc4f7db0
Component: engine
2016-10-05 13:15:30 -07:00
6885c18aa4 Remove amd64 assumption in release.sh, cross and tgz scripts
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
Upstream-commit: 61335bcb03ac60385bc19b6e1346b34cd168f7de
Component: engine
2016-10-03 15:46:42 -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
38db9ff302 Merge pull request #26770 from YuPengZTE/devEG
'eg.' should be 'e.g.'
Upstream-commit: a7b0b6e2a9360115e9bca719f6bdb6e9d8fc3415
Component: engine
2016-09-21 10:03:23 -04:00
de0192fa30 'eg.' should be 'e.g.'
Signed-off-by: YuPengZTE <yu.peng36@zte.com.cn>
Upstream-commit: 0b86bca0b5c627ebb9524ecf5295c2c91e4bd8f5
Component: engine
2016-09-21 13:48:06 +08:00
8ee0f56810 Add init process for zombie fighting
This adds a small C binary for fighting zombies.  It is mounted under
`/dev/init` and is prepended to the args specified by the user.  You
enable it via a daemon flag, `dockerd --init`, as it is disable by
default for backwards compat.

You can also override the daemon option or specify this on a per
container basis with `docker run --init=true|false`.

You can test this by running a process like this as the pid 1 in a
container and see the extra zombie that appears in the container as it
is running.

```c

int main(int argc, char ** argv) {
	pid_t pid = fork();
	if (pid == 0) {
		pid = fork();
		if (pid == 0) {
			exit(0);
		}
		sleep(3);
		exit(0);
	}
	printf("got pid %d and exited\n", pid);
	sleep(20);
}
```

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
Upstream-commit: ee3ac3aa66bfb27b7c21dfb253fdaa113baedd4e
Component: engine
2016-09-19 17:33:50 -07:00
e2b900a8b1 Merge pull request #26375 from cpuguy83/fix_apt_mirror_propagation
Propagate BUILD_APT_MIRROR and consume in buil-deb
Upstream-commit: da7a7f9b769f6c1ccc88526390a3ff6528e31eb9
Component: engine
2016-09-09 00:02:42 +01:00
cecd3ec1b9 Move some test fixtures to go
moves ensure-frozen-images to go
moves ensure-syscall-test to go
moves ensure-nnp-test to go
moves ensure-httpserver to go

Also makes some of the fixtures load only for the required tests.
This makes sure that fixtures that won't be needed for a test run such as
`make TESTFLAGS='-check.f Swarm' test-integration-cli` (for example)
aren't loaded... like the syscall tests.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Upstream-commit: ff91276d1f5beab5582d9ca582ee01af13198333
Component: engine
2016-09-07 17:30:35 -04:00
2a13e97eec Propagate BUILD_APT_MIRROR and consume in buil-deb
Passses down BUILD_APT_MIRROR to the docker env.
Ensures BUILD_APT_MIRROR is used when building debs, but only when the
consuming `Dockerfile` actually uses it, otherwise it will cause the
build to fail (e.g. on Ubuntu builds we aren't using APT_MIRROR).

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Upstream-commit: f672a963c9f1225daec9d2d12577f95936dee51e
Component: engine
2016-09-07 10:57:00 -04:00
b03700a5d5 Verify integration tests before building bundles
Adds a new bundle `verify-integration-tests` which pre-compiles a test
binary for the integration tests.

This makes sure that the integration tests will actually compile before
doing other tasks which take much longer, such as building dockerd and
loading test fixtures.
When it comes time to actually run the tests, the pre-compiled binary
will be used so it doesn't have to compile the tests a 2nd time.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Upstream-commit: 4d0275c8192ca39d88f7dbe1e59ec03b544b6696
Component: engine
2016-09-06 20:27:28 -04:00
abf975f617 Output docker-py test results in xunit format
This adds a `results.xml` to the test-docker-py output folder.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
Upstream-commit: a9e513867cd9eb327ae56877886ed18a5ad5b691
Component: engine
2016-08-31 09:35:49 -07:00
49618f0083 All supported Go versions have -cover now
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
Upstream-commit: f243bfbc9d3879be33946d92801cc0f3e7290b17
Component: engine
2016-08-25 18:24:35 +01:00
4d71bb6be2 Remove gccgo support
Since Go 1.7, s390x uses upstream Go, so we have no reason to
support gccgo any more.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
Upstream-commit: eda90f63446253f97d2011926555306f2417d208
Component: engine
2016-08-24 11:09:35 +01:00
75edb24b6f Disable coverage on test-integration-cli
Temporarly remove cover bundle from defaults.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
Upstream-commit: 5ec6e11e157b94d56bc2d7aa8e94cf7e72f51871
Component: engine
2016-08-18 22:12:24 +02:00
a8ef6a6a87 release-rpm: fix bad destination paths for rpms
Signed-off-by: Tibor Vass <tibor@docker.com>
Upstream-commit: e1c7ad871f6fd41a7682cf7effb02838ab679ae3
Component: engine
2016-08-12 16:51:12 -07:00
6221e2aa8d Make release scripts architecture-agnostic and add ARM support
This patch allows to only release the packages that were built and are
present under the bundles/ directory instead of assuming packages exist
for all distros enumerated in the contrib/builder/ directory.

It also now adds support for armhf architecture for apt repositories.

Signed-off-by: Tibor Vass <tibor@docker.com>
Upstream-commit: 2ff2e9a73076b737948c68c26f26b7bda5ac7db8
Component: engine
2016-08-11 11:18:52 -07:00
874b6f9cd1 Merge pull request #25334 from crosbymichael/selinux-fedora
Add selinux policy per distro/version
Upstream-commit: fc40ed24d810ea481dd358990926bc57d40c308d
Component: engine
2016-08-10 11:40:33 -07:00
293fa410c5 Merge pull request #24948 from dnephin/support-iterative-integration-testing
Support running integration tests without restarting a daemon
Upstream-commit: 8a81986a583a9e1a146931373608fbff378d09a2
Component: engine
2016-08-05 14:23:24 -04:00
8e64c9c8ad Merge pull request #24434 from AkihiroSuda/fixMakeInstall
make install: install runc and containerd
Upstream-commit: 430a234a5b0b664f3f047f83ef0b843ee7ebb3cf
Component: engine
2016-08-05 09:34:21 -07:00
aa2e0abc3e Support interactive integration testing.
Interactive integration testing is useful when you're developing new tests, or
making changes to cli code.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: 1d945a9743748373cd5c5bfface3209d241007d7
Component: engine
2016-08-05 12:07:28 -04:00
fa68c3585a Add selinux policy per distro
This adds the ability to have different profiles for individual distros
and versions of the distro because they all ship with and depend on
different versions of policy packages.

The `selinux` dir contains the unmodified policy that is being used
today.  The `selinux-fedora` dir contains the new policy for fedora 24
with the changes for it to compile and work on the system.

The fedora policy is from commit
4a6ce94da5

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
Upstream-commit: 32b1f26c5111b22fe4277879c4f5e4687a6a72fc
Component: engine
2016-08-04 14:29:22 -07:00
765a0eacba deb: skip hidden files when generating indexes
We don't need hidden files to be listed
in the indexes, so skip them if hidden
files exist.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: 153c946b7923fda4d60ad735f2f9e02ffb150704
Component: engine
2016-08-03 12:58:14 +02:00
fd99a88e88 Merge pull request #24835 from justincormack/armextlink
Do not default to external linking on arm, i386
Upstream-commit: a846fa7ac9ab85f8a2798ef299f88324047ec8c9
Component: engine
2016-07-29 00:57:56 +01:00
980ac6c629 Add a test that the default seccomp profile allows execution of 32 bit binaries
While testing #24510 I noticed that 32 bit syscalls were incorrectly being
blocked and we did not have a test for this, so adding one.

This is only tested on amd64 as it is the only architecture that
reliably supports 32 bit code execution, others only do sometimes.

There is no 32 bit libc in the buildpack-deps so we cannot build
32 bit C code easily so use the simplest assembly program which
just calls the exit syscall.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
Upstream-commit: 93bbc76ee53240e0862c6f1ff409e7a4ee0883dc
Component: engine
2016-07-27 18:42:34 +01:00
d66614a605 Require manpages for packages.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: 1ea9c19ffe53811931ecd3102703c3eacb22d14c
Component: engine
2016-07-22 16:34:46 -04:00
01be8b95e0 Make manpages in a conatiner.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: 7004f219f5d0fe99de0dadf319381d224866eb7c
Component: engine
2016-07-22 16:32:51 -04:00
9c2157ebfc Do not default to external linking on arm, i386
Reverts https://github.com/docker/docker/pull/18197

This was a workaround before Go 1.6, not required any more.

cc @nalind @Govinda-Fichtner

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
Upstream-commit: 4d7038208f612dc0dfb0ac816adafd21043acd2f
Component: engine
2016-07-20 11:21:26 +01:00
4fa1dcc683 Merge pull request #23825 from dnephin/auto-gen-man-page
Generate man pages from the Command description
Upstream-commit: ac26ee15df4d0e8f406b69f9179b489aa5126ebb
Component: engine
2016-07-19 18:22:01 +00:00
02e14246d7 Remove docker.socket from rpm based systems
Fixes #23981

The selinux issue we are seeing in the report is related to the socket
file for docker and nothing else. By removing the socket docker starts
up correctly.

However, there is another motivation for removing socket activation from
docker's systemd files and that is because when you have daemons running
with --restart always whenever you have a host reboot those daemons
will not be started again because the docker daemon is not started by
systemd until a request comes into the docker API.

Leave it for deb based systems because everything is working correctly
for both socket activation and starting normally at boot.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
Upstream-commit: 04104c3a1e6cad30cb41b762e8832215466c0e95
Component: engine
2016-07-19 09:31:43 -07:00
a764e64f97 Dont run man generation as part of test-unit.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: 47cca88c8c151ebf3dd25adcf28ac1b2f75c76fb
Component: engine
2016-07-19 12:00:35 -04:00
9ed298d21b Add a script to generate man pages from cobra commands.
Use the generate.sh script instead of md2man directly.
Update Dockerfile for generating man pages.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: 00a8a40398263429f99b1a5f0be59048e1c6f38d
Component: engine
2016-07-19 12:00:21 -04:00
f883bd35d2 docker-proxy: Force external linking to add BuildID information to please rpm
Signed-off-by: Tibor Vass <tibor@docker.com>
Upstream-commit: 9a690d3544563bf3b88708dabd5bc853e0e749d2
Component: engine
2016-07-12 19:59:48 -07:00
bc85e9b069 Uncomment the TasksMax val later in the deb build
The original sed placement was creating packages with an
"unsupported" tag in the package name.

Fixes #24197

Signed-off-by: Christy Perez <christy@linux.vnet.ibm.com>
Upstream-commit: dab287819a21ef8755d2f1b578ebeea33eb4e784
Component: engine
2016-07-12 16:30:31 -05:00
e6a800a619 Merge pull request #24425 from cpuguy83/add_make_run
Add target for `make run`
Upstream-commit: 3ab080a4bd105d630bc1d67808bdc04bc4b4698e
Component: engine
2016-07-08 21:10:19 -04:00
e28870f6c9 Add target for make run
`make run` allows you to fire up a daemon (in a container) just using
the existing built binaries. This allows for more rapid iteration
instead of dealing with firing up a shell just to start the daemon.

By default the daemon will listen on port 2375 on the default network
interface.

If a port forward is required to access the daemon, the user can set
`make DOCKER_PORT=2375 run` to get a port forward on a random port with
the daemon listening on port 2375, or `make DOCKER_PORT=2375:2375 run`
to get a daemon running with port 2375 forwarded to the daemon running
on 2375.

Note that the daemon is automatically configured to listen on whatever
port is set for the container side of the `DOCKER_PORT` port spec.

When running on docker4mac, the user must do the following:
```
$ make BINDDIR=. DOCKER_PORT=2375 run
```

This makes sure the binaries are loaded in the container and a port is
forwarded, since it is currently impossible to route traffic from the
mac directly to a container IP.

To get a fresh binary:
```
$ make BINDDIR=. DOCKER_PORT=2375 binary run
```

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Upstream-commit: cae890bc79f7cf2a9d482453f0589d35d3f0a41c
Component: engine
2016-07-08 16:25:21 -04:00
7ad6d3bf27 Add missing docker-proxy into managed files in rpm spec
This was missed in #23312 even though the other parts of
this were fixed.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
Upstream-commit: 47ace5cd989103f7d646282fce66434b5a3c13f6
Component: engine
2016-07-08 14:15:57 +01:00
5a7e5a1d3c make install: install docker-{runc,containerd,containerd-ctr,containerd-shim}
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
Upstream-commit: e36a7fdefc3e4682da07c71ca81092d58bf9bd44
Component: engine
2016-07-08 01:58:38 +00:00
e758a53186 Make the docker proxy a standalone binary not a re-exec
This reduces memory usage with a lot of docker proxy processes.
On Docker for Mac we are currently carrying a patch to replace
the binary as we modify it to forward ports to the Mac rather
than the Linux VM, this allows us to simply replace this binary
in our packaging with one that has a compatible interface. This
patch does not provide an easy way to substitute a binary as
the interface is complex and there are few use cases, but where
needed this can be done.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
Upstream-commit: 0682468431867e3382a759402eb92df5877e310b
Component: engine
2016-07-07 12:53:39 +01:00
0bdbf282f3 Fix spelling in comments, strings and documentation
Signed-off-by: Otto Kekäläinen <otto@seravo.fi>
Upstream-commit: 644a7426cc31c338fedb6574d2b88d1cc2f43a08
Component: engine
2016-07-03 20:58:11 +03:00
59659fc7a0 fix F24 rpm build
error: line 89: Invalid version (epoch must be unsigned integer):
%{epoch}:1.12.0-0.3.rc3.fc24: Requires(pre): docker-engine-selinux >=
%%{epoch}:1.12.0-0.3.rc3.fc24

Signed-off-by: Antonio Murdaca <runcom@redhat.com>
Upstream-commit: 0c07e55e4c867ee034c72c7ff8a9b8d63a8ec17d
Component: engine
2016-07-01 23:29:48 +02:00
8b734d8800 Merge pull request #24100 from hypriot/revert-tasksmax-workaround-21628
Revert tasksmax workaround to avoid unsupported bins
Upstream-commit: 295a6a37dcb5b2671a7df6bd3182c14d79f79ae0
Component: engine
2016-06-30 13:20:33 -07:00
c6d459baa5 Revert tasksmax workaround to avoid unsupported bins
Signed-off-by: Stefan Scherer <scherer_stefan@icloud.com>
Upstream-commit: 6509cc4e63f50661f6563f45153b23599cc6665c
Component: engine
2016-06-29 08:10:10 +02:00
c9e0f2fc4f Prevent CI from getting stuck if shims are left alive
This will kill any left over containerd-shims to avoid the integration
script to stay stuck while it waits on them.

It will then causes CI to fail (even if all the tests succeeded).

Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
Upstream-commit: fd1129d31a4e1981da2b25e165a46bcc7a042725
Component: engine
2016-06-28 10:05:05 -07:00
bd0a2c513f Merge pull request #23919 from Microsoft/jjh/prefix
Windows: Ensure frozen cope with prefix
Upstream-commit: bf08aae8522001f3358afe82aec52fea0d5d0458
Component: engine
2016-06-23 19:46:55 -07:00
f15a4c4a3e Windows: Ensure frozen cope with prefix
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: b820ead42674eca25c9718fb4de924405ec0c555
Component: engine
2016-06-23 16:39:16 -07:00
957f0da9b9 Fix the value of the Components value in apt {In,}Release files
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
Upstream-commit: 63b07130140242dffef01ce22d8c85cd7d93ab1a
Component: engine
2016-06-21 12:01:41 -07:00
3e617d9868 Dont leak DOCKER_INCREMENTAL_BINARY flag into go test.
Signed-off-by: Anusha Ragunathan <anusha@docker.com>
Upstream-commit: 379ec38222541015acabf4001b57475e45f75918
Component: engine
2016-06-14 13:02:54 -07:00