Commit graph

540 commits

Author SHA1 Message Date
Michael Crosby
0b86ca9ad0 Merge pull request #26509 from LK4D4/commits_from_vendor
project: move go binaries installation to separate script
2016-10-05 13:15:30 -07:00
Kenfe-Mickael Laventure
61335bcb03 Remove amd64 assumption in release.sh, cross and tgz scripts
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-10-03 15:46:42 -07:00
Alexander Morozov
1b41125ad9 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>
2016-09-23 09:21:29 -07:00
Brian Goff
a7b0b6e2a9 Merge pull request #26770 from YuPengZTE/devEG
'eg.' should be 'e.g.'
2016-09-21 10:03:23 -04:00
YuPengZTE
0b86bca0b5 'eg.' should be 'e.g.'
Signed-off-by: YuPengZTE <yu.peng36@zte.com.cn>
2016-09-21 13:48:06 +08:00
Michael Crosby
ee3ac3aa66 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>
2016-09-19 17:33:50 -07:00
Justin Cormack
da7a7f9b76 Merge pull request #26375 from cpuguy83/fix_apt_mirror_propagation
Propagate BUILD_APT_MIRROR and consume in buil-deb
2016-09-09 00:02:42 +01:00
Brian Goff
ff91276d1f 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>
2016-09-07 17:30:35 -04:00
Brian Goff
f672a963c9 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>
2016-09-07 10:57:00 -04:00
Brian Goff
4d0275c819 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>
2016-09-06 20:27:28 -04:00
Michael Crosby
a9e513867c 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>
2016-08-31 09:35:49 -07:00
Justin Cormack
f243bfbc9d All supported Go versions have -cover now
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-08-25 18:24:35 +01:00
Justin Cormack
eda90f6344 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>
2016-08-24 11:09:35 +01:00
Vincent Demeester
5ec6e11e15
Disable coverage on test-integration-cli
Temporarly remove cover bundle from defaults.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-08-18 22:12:24 +02:00
Tibor Vass
e1c7ad871f release-rpm: fix bad destination paths for rpms
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-08-12 16:51:12 -07:00
Tibor Vass
2ff2e9a730 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>
2016-08-11 11:18:52 -07:00
Tibor Vass
fc40ed24d8 Merge pull request #25334 from crosbymichael/selinux-fedora
Add selinux policy per distro/version
2016-08-10 11:40:33 -07:00
Daniel Nephin
8a81986a58 Merge pull request #24948 from dnephin/support-iterative-integration-testing
Support running integration tests without restarting a daemon
2016-08-05 14:23:24 -04:00
Alexander Morozov
430a234a5b Merge pull request #24434 from AkihiroSuda/fixMakeInstall
make install: install runc and containerd
2016-08-05 09:34:21 -07:00
Daniel Nephin
1d945a9743 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>
2016-08-05 12:07:28 -04:00
Michael Crosby
32b1f26c51 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>
2016-08-04 14:29:22 -07:00
Sebastiaan van Stijn
153c946b79 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>
2016-08-03 12:58:14 +02:00
Justin Cormack
a846fa7ac9 Merge pull request #24835 from justincormack/armextlink
Do not default to external linking on arm, i386
2016-07-29 00:57:56 +01:00
Justin Cormack
93bbc76ee5 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>
2016-07-27 18:42:34 +01:00
Daniel Nephin
1ea9c19ffe Require manpages for packages.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-07-22 16:34:46 -04:00
Daniel Nephin
7004f219f5 Make manpages in a conatiner.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-07-22 16:32:51 -04:00
Justin Cormack
4d7038208f 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>
2016-07-20 11:21:26 +01:00
Arnaud Porterie
ac26ee15df Merge pull request #23825 from dnephin/auto-gen-man-page
Generate man pages from the Command description
2016-07-19 18:22:01 +00:00
Michael Crosby
04104c3a1e 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>
2016-07-19 09:31:43 -07:00
Daniel Nephin
47cca88c8c Dont run man generation as part of test-unit.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-07-19 12:00:35 -04:00
Daniel Nephin
00a8a40398 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>
2016-07-19 12:00:21 -04:00
Tibor Vass
9a690d3544 docker-proxy: Force external linking to add BuildID information to please rpm
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-12 19:59:48 -07:00
Christy Perez
dab287819a 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>
2016-07-12 16:30:31 -05:00
Brian Goff
3ab080a4bd Merge pull request #24425 from cpuguy83/add_make_run
Add target for `make run`
2016-07-08 21:10:19 -04:00
Brian Goff
cae890bc79 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>
2016-07-08 16:25:21 -04:00
Justin Cormack
47ace5cd98 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>
2016-07-08 14:15:57 +01:00
Akihiro Suda
e36a7fdefc make install: install docker-{runc,containerd,containerd-ctr,containerd-shim}
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2016-07-08 01:58:38 +00:00
Justin Cormack
0682468431 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>
2016-07-07 12:53:39 +01:00
Otto Kekäläinen
644a7426cc Fix spelling in comments, strings and documentation
Signed-off-by: Otto Kekäläinen <otto@seravo.fi>
2016-07-03 20:58:11 +03:00
Antonio Murdaca
0c07e55e4c 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>
2016-07-01 23:29:48 +02:00
Sebastiaan van Stijn
295a6a37dc Merge pull request #24100 from hypriot/revert-tasksmax-workaround-21628
Revert tasksmax workaround to avoid unsupported bins
2016-06-30 13:20:33 -07:00
Stefan Scherer
6509cc4e63
Revert tasksmax workaround to avoid unsupported bins
Signed-off-by: Stefan Scherer <scherer_stefan@icloud.com>
2016-06-29 08:10:10 +02:00
Kenfe-Mickael Laventure
fd1129d31a 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>
2016-06-28 10:05:05 -07:00
Tibor Vass
bf08aae852 Merge pull request #23919 from Microsoft/jjh/prefix
Windows: Ensure frozen cope with prefix
2016-06-23 19:46:55 -07:00
John Howard
b820ead426 Windows: Ensure frozen cope with prefix
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-06-23 16:39:16 -07:00
Kenfe-Mickael Laventure
63b0713014 Fix the value of the Components value in apt {In,}Release files
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-06-21 12:01:41 -07:00
Anusha Ragunathan
379ec38222 Dont leak DOCKER_INCREMENTAL_BINARY flag into go test.
Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-06-14 13:02:54 -07:00
Tibor Vass
4940985340 Merge pull request #23224 from mlaventure/dont-overwrite-existing-deb
Do not overwrite already published deb files when releasing
2016-06-13 22:16:53 -07:00
Sebastiaan van Stijn
94ac03cdf5
release-deb: create "dists" directory if missing
The script failed if an empty volume is used
to generate the repo. This adds the directory
if missing.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-06-09 15:22:49 +02:00
Sebastiaan van Stijn
70a03951a0
fix RPM spec for man8
installation for man-8 was added in 1514b499f0
(pull-request 23236), but had a typo in a path,
causing generation of the RPM's to fail.

This fixes the path

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-06-08 22:21:21 +02:00