Commit graph

84 commits

Author SHA1 Message Date
Alexander Morozov
7d8831c091 project: update Go to 1.7.3
List of milestone issues https://github.com/golang/go/issues?q=milestone%3AGo1.7.3

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-10-19 13:55:01 -07:00
cyli
5f4dcd8252 Bump vendored and dockerfile notary version to v0.4.2
Signed-off-by: cyli <cyli@twistedmatrix.com>
2016-10-14 17:52:56 -07:00
Kenfe-Mickael Laventure
7e12c3bb99 Update containerd and runc
containerd: 837e8c5e1cad013ed57f5c2090c8591c10cbbdae
runc: 02f8fa7863dd3f82909a73e2061897828460d52f

Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-10-05 14:47:15 -07:00
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
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
Lei Jitang
a94067c07f Merge pull request #26803 from YuPengZTE/devFirstLetter
Capitalizes the first letter in notes of dockerfile
2016-09-23 04:27:52 -05:00
YuPengZTE
bd31b24336 Capitalizes the first letter in notes of dockerfile
Signed-off-by: YuPengZTE <yu.peng36@zte.com.cn>
2016-09-23 09:20:27 +08:00
Vincent Demeester
758a809f54 Merge pull request #26538 from LK4D4/update_grpc
Update grpc to v1.0.1-GA
2016-09-20 23:19:26 +02:00
Alexander Morozov
eeceb0ccc8 vendor: update containerd and swarmkit
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-09-20 09:24:36 -07: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
Alexander Morozov
e4ddcb37c1 libcontainerd: use healthcheck to track containerd conn
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-09-12 14:22:38 -07:00
Phil Estes
cf58eb437c Merge pull request #22049 from boucher/docker-checkpoint-restore
Implement containerd API for checkpoints
2016-09-09 13:36:55 -04:00
boucher
6bc9a2d563 Update containerd to fix unkillable restored containers.
Signed-off-by: boucher <rboucher@gmail.com>
2016-09-08 21:31:56 -04:00
Michael Holzheu
47f13d3b84 Dockerfile.s390x: Use binary go package
We finally have a s390x binary tarball for go on "storage.googleapis.com".
So use this instead of bootstrapping with gccgo.

Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com>
2016-09-08 19:52:43 +02:00
unclejack
1668894d04 Dockerfile*: bump Go to 1.7.1
Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com>
2016-09-08 00:42:35 +03:00
Daniel Nephin
d0fa13a502 Remove download of man page generator dependencies, which are now in man/Dockerfile.\*
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-09-07 11:02:51 -04:00
boucher
e0123adafd Upgrade containerd to latest version.
Necessary for merging in #22049.

Signed-off-by: Ross Boucher <rboucher@gmail.com>
2016-08-26 14:17:35 -04:00
Alexander Morozov
08c16f8abf Dockerfile: do not install vet and cover
They're included in go since 1.5.
Also I've removed comment about ancient gofmt version.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-08-23 11:08:31 -07:00
Michael Holzheu
ee59f25c2d Dockerfile.s390x: Switch to golang 1.7
With golang version 1.7 the s390x architecture is officially supported.
To be in sync with the other architectures now switch also for s390x
from gccgo 6.1 to golang:

 - golang: build and install to /usr/src/go
   * Download golang-1.7 sources
   * Bootstrap with gccgo 6.1
 - go lint: Sync GO_LINT_COMMIT with other Dockerfiles
 - notary: Remove GO15VENDOREXPERIMENT and softlink hack

With this patch the current CI on s390x completes with:

 - OK: 1375 passed, 43 skipped

Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com>
2016-08-23 08:20:20 -04:00
Brian Goff
37302bbb3f Merge pull request #25721 from cpuguy83/revendor_engine-api
revendor engine-api
2016-08-16 17:18:43 -04:00
Brian Goff
9ff0ab71a0 Bump docker-py
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-08-16 14:48:48 -04:00
Michael Crosby
2faeebc750 Merge pull request #24311 from ShevYan/incorrect-comments-in-dockerfile
Dockerfile's comments for "Run the test suite" are out of date becaus…
2016-08-12 15:53:06 -07:00
Sebastiaan van Stijn
2b3148c720 Merge pull request #24904 from mlaventure/update-dockerfile-containerd-commit
Harmonize containerd commit used by all Dockerfile
2016-07-21 23:18:41 +02:00
Kenfe-Mickael Laventure
d5cbc57eff Harmonize containerd commit used by all Dockerfile
When #24648 was merged, only the main Dockerfile was updated with the
new containerd commit, this commit brings the other Dockerfile up to
speed.

Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-07-21 10:34:30 -07:00
Michael Holzheu
81dc979022 Dockerfile.s390x: Update glibc to proposed-updates 2.19-18+deb8u5
The glibc of Debian Jessie contains the following two bugs:

 https://sourceware.org/git/?p=glibc.git;a=commit;h=890b7a4b33d482b5c768ab47d70758b80227e9bc
 https://sourceware.org/git/?p=glibc.git;a=commit;h=2e807f29595eb5b1e5d0decc6e356a3562ecc58e

The CI tests hang because the bugs affect the gccgo runtime of the
s390x/gcc images.

Now the fixes have been integrated to glibc 2.19-18+deb8u5 in
"proposed-updates" for Debian Jessie:

 https://anonscm.debian.org/cgit/pkg-glibc/glibc.git/log/?h=jessie
 https://release.debian.org/proposed-updates/stable.html

It is expected that the package should be part of the next stable point
release (8.6) in about one to two months from now.

In order to enable CI for s390x earlier, we now explicitely update
the glibc in Dockerfile.s390x to the proposed-updates version.

After Debian 8.6 is released we can remove this change again.

Closes #24748

Suggested-by: Tianon Gravi <admwiggin@gmail.com>
Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com>
2016-07-21 08:48:43 -04:00
Kenfe-Mickael Laventure
29b2714580 Vendor in new containerd
This version introduces the following:
 - uses nanosecond timestamps for event
 - ensure events are sent once their effect is "live"

Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-07-18 11:44:24 -07:00
Shev Yan
11280665b4 Dockerfile's comments for "Run the test suite" are out of date because there is no 'test' in hack/make directory.
Signed-off-by: Shev Yan <yandong_8212@163.com>
2016-07-04 22:43:53 +08:00
Kenfe-Mickael Laventure
2685c82c2e Vendor containerd 1b3a81545ca79456086dc2aa424357be98b962ee
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-07-01 11:46:48 -07:00
Michael Crosby
7db7e04631 Update containerd to b93a33be39bc4ef0fb00bfcb79147
This updates containerd to b93a33be39bc4ef0fb00bfcb79147a28c33d9d43
fixing the start sync issues.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-06-27 11:45:05 -07:00
Akihiro Suda
cfe16e0d5b update go-md2man to v1.0.5
Due to the issue of go-md2man, a numbered list in `man docker login` was not rendered correctly.
a8f937e113

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2016-06-23 01:58:37 +00:00
Justin Cormack
f8d970169a Add the seccomp build tag for s390x now runc updated
This was waiting for runc bump see https://github.com/docker/docker/issues/23171
runc was bumped in https://github.com/docker/docker/pull/23603

Fixes #23171

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-06-16 23:21:08 +01:00
Kenfe-Mickael Laventure
b675124cf5 Vendor in runc cc29e3dded8e27ba8f65738f40d251c885030a28
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-06-15 15:11:50 -07:00
Kenfe-Mickael Laventure
1aec3bacfd Vendor in new runc binary with userns fix
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-06-14 07:47:31 -07:00
Kenfe-Mickael Laventure
2e9ea5c194 Update containerd and runc vendoring
containerd: 860f3a94940894ac0a106eff4bd1616a67407ee2
runc: 85873d917e86676e44ccb80719fcb47a794676a1
runtime-specs: v1.0.0-rc1

Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-06-14 07:47:31 -07:00
Michael Holzheu
e6e51d37f7 Dockerfile.s390x: Remove 'seccomp' again from DOCKER_BUILDTAGS
We have to wait until runc version (RUNC_COMMIT) is bumped.
Otherwise we get the following error:

 oci runtime error: string SCMP_ARCH_S390 is not a valid
 arch for seccomp

Fixes: bf2a577c13 ("Enable seccomp for s390x")
Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com>
2016-06-10 15:18:58 -04:00
Michael Crosby
d17b9f3da0 Update containerd to cf554d59dd96e459544748290eb91
This bumps containerd to cf554d59dd96e459544748290eb9167f4bcde509 and
includes various fixes and updates the grpc package and types generated
for use.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-06-07 15:27:23 -07:00
Michael Holzheu
bf2a577c13 Enable seccomp for s390x
To implement seccomp for s390x the following changes are required:

1) seccomp_default: Add s390 compat mode

   On s390x (64 bit) we can run s390 (32 bit) programs in 32 bit
   compat mode. Therefore add this information to arches().

2) seccomp_default: Use correct flags parameter for sys_clone on s390x

   On s390x the second parameter for the clone system call is the flags
   parameter. On all other architectures it is the first one.

   See kernel code kernel/fork.c:

   #elif defined(CONFIG_CLONE_BACKWARDS2)
   SYSCALL_DEFINE5(clone, unsigned long, newsp, unsigned long, clone_flags,
                   int __user *, parent_tidptr,

   So fix the docker default seccomp rule and check for the second
   parameter on s390/s390x.

3) seccomp_default: Add s390 specific syscalls

  For s390 we currently have three additional system calls that should
  be added to the seccomp whitelist:

  - Other architectures can read/write unprivileged from/to PCI MMIO memory.
    On s390 the instructions are privileged and therefore we need system
    calls for that purpose:

    * s390_pci_mmio_write()
    * s390_pci_mmio_read()

  - Runtime instrumentation:

    * s390_runtime_instr()

4) test_integration: Do not run seccomp default profile test on s390x

   The generated profile that we check in is for amd64 and i386
   architectures and does not work correctly on s390x.

   See also: 75385dc216 ("Do not run the seccomp tests that use
   default.json on non x86 architectures")

5) Dockerfile.s390x: Add "seccomp" to DOCKER_BUILDTAGS

Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com>
2016-06-06 08:13:22 -04:00
Michael Holzheu
b5490d4897 Dockerfile.s390x: Move to gcc 6.1 (go 1.6.1)
Pull request #22840 and commit 40b21745cc ("Upgrade to golang 1.6.2")
introduces gcc 6.1 for Dockerfile.gccgo and Dockerfile.ppc64le.
So do this also for s390x and use "s390x/gcc:6.1" as base image.

In addition to this use "GO15VENDOREXPERIMENT=0" for notary build
as a workaround for:

 * golang/go#15814
 * golang/go#15628

Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com>
2016-05-31 04:39:20 -04:00
Christy Perez
d864a14620 Bump the seccomp versions to pull in fixes and new commits
enabling s390 and ppc64le function

Signed-off-by: Christy Perez <christy@linux.vnet.ibm.com>
2016-05-27 11:12:47 -04:00
cyli
6094be63ac Bump notary version up to 0.3.0 and re-vendor.
Signed-off-by: cyli <cyli@twistedmatrix.com>
2016-05-11 22:57:51 -07:00
Michael Crosby
cfb9764386 Update runc and containerd deps
containerd:     57b7c3da915ebe943bd304c00890959b191e5264
runc:           d49ece5a83da3dcb820121d6850e2b61bd0a5fbe

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-05-09 15:05:44 -07:00
cyli
4710ed6304 Remove the pkcs11 build tag from the s390x Dockerfile, since it is using GCCGo 5.3, which
is still on the Go 1.4 library, whereas the Notary Yubikey library needs interfaces from
Go 1.5

Signed-off-by: cyli <cyli@twistedmatrix.com>
2016-05-06 10:59:28 -07:00
cyli
88c6675ed2 Bump notary version to v0.3.0-RC1
Signed-off-by: cyli <cyli@twistedmatrix.com>
2016-05-06 10:59:26 -07:00
Shijiang Wei
e6590b5fa2 vendor docker-py 7befe694bd21e3c54bb1d7825270ea4bd6864c13
Signed-off-by: Shijiang Wei <mountkin@gmail.com>
2016-05-02 23:04:04 +08:00
Michael Holzheu
6e4c87c06e Dockerfile.s390x: Build correct registries and notary client
Sync with other Dockerfiles:

 1) Adjust REGISTRY_COMMIT
 2) Add old shema1 registry
 3) Install notary client

This fixes the following testcases:

 DockerSchema1RegistrySuite:
  - SetUpTest
 DockerTrustSuite:
  - TestTrustedBuildTagFromReleasesRole
  - TestTrustedBuildTagIgnoresOtherDelegationRoles
  - TestTrustedPullReadsFromReleasesRole
  - TestTrustedPullIgnoresOtherDelegationRoles
  - TestTrustedPushWithReleasesDelegationOnly
  - TestTrustedPushSignsAllFirstLevelRolesWeHaveKeysFor
  - TestTrustedPushSignsForRolesWithKeysAndValidPaths
  - TestTrustedPushDoesntSignTargetsIfDelegationsExist
 DockerRegistrySuite:
  - TestPullManifestList
  - TestCrossRepositoryLayerPush
 DockerHubPullSuite:
  - TestPullAllTagsFromCentralRegistry

v2: Sync comments on all architectures

Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com>
2016-04-29 19:24:49 +02:00
Michael Holzheu
97f45bd629 Dockerfile.s390x: Add upstream libseccomp to compile runc
The runc compile currently fails on s390x:

 Step 35 : RUN set -x    && export GOPATH="$(mktemp -d)" && git clone
 https://github.com/opencontainers/runc.git
 "$GOPATH/src/github.com/opencontainers/runc"       && cd
 "$GOPATH/src/github.com/opencontainers/runc"      && git checkout -q
 "$RUNC_COMMIT"  && make static BUILDTAGS="seccomp apparmor selinux"     &&
 cp runc /usr/local/bin/docker-runc

 [snip]

 # github.com/seccomp/libseccomp-golang
 Godeps/_workspace/src/github.com/seccomp/libseccomp-golang/seccomp.go:25:22:
 fatal error: seccomp.h: No such file or directory
  // #include <seccomp.h>

The problem is that the installed libseccomp version in trusty is too old.

Fix this and install version 2.3.0 of libseccomp like it is done in the
x86 Dockerfile.

Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com>
2016-04-27 18:57:15 +02:00
John Howard
78895c92c2 Merge pull request #22275 from Microsoft/jstarks/no_rsrc
Windows: Add file version information
2016-04-25 20:53:19 -07:00
Mrunal Patel
e0f98c698b Update runc and spec dependencies for mount label
Signed-off-by: Mrunal Patel <mrunalp@gmail.com>

Set up the mount label in the spec for a container

Signed-off-by: Mrunal Patel <mrunalp@gmail.com>
2016-04-25 14:26:49 -07:00
Doug Davis
d03ba27b76 Merge pull request #22118 from michael-holzheu/22007-s390x-fix-notary-build-for-gcc-v2
Create "src" symlink for building notary with gcc 5
2016-04-25 11:50:00 -04:00
John Starks
4677f8036e Windows: Add file version information
This change adds file version information to docker.exe and dockerd.exe by
adding a Windows version resource with the windres tool.

This change adds a dependency to binutils-mingw-w64 on Linux, but removes
a dependency on rsrc. Most Windows build environments should already have
windres if they have gcc (which is necessary to build dockerd).

Signed-off-by: John Starks <jostarks@microsoft.com>
2016-04-24 10:55:51 -07:00