Commit Graph

860 Commits

Author SHA1 Message Date
David Scott
d6c01556f1 tap-vsockd: add buffering
This patch adds a simple ring buffer implementation and uses it to buffer
the reads and writes to/from the AF_HYPERV socket and tap file descriptor.

This removes the need to perform small reads and writes for the per-packet
headers and allows a read on the Hyper-V socket to block at the same time
as a write to the tap device (and vice-versa)

The configuration in the init.d script is:

- a max message size (individual read or write) of 8192. Experimentally
  this seems to be the largest completely reliable size across the Windows
  versions we can support. Messages of length 16384 sometimes fail.
- a buffer size of 256KiB in each direction.

Single stream TCP throughput as measured by iperf increases modestly, by
another 100Mbit/sec.

Signed-off-by: David Scott <dave.scott@docker.com>
2017-01-23 12:17:52 +00:00
Justin Cormack
d308fdac11 Fix up direct database accesses after move to /Database
In #1057 removed the 9p paths from the database mount
but that broke some users accessing them directly. Fix these.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-21 14:32:34 +00:00
Riyaz Faizullabhoy
ce0603f124 Merge pull request #1070 from justincormack/aufs-not-if-unsupported
Do not try to use aufs if kernel has no support
2017-01-20 16:34:40 +00:00
Justin Cormack
3e807fc7a0 Do not try to use aufs if kernel has no support
This happens with the Moby mainline kernel and in future when we drop aufs.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-20 15:36:51 +00:00
Justin Cormack
f5b8d9a83e Always mount swap not just when created
Swap was not being mounted always.

See https://github.com/docker/for-win/issues/403

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-20 15:01:40 +00:00
Justin Cormack
103531e2dc Merge pull request #1059 from justincormack/sysctl-remove
Remove sysctl and sysfs database overrides
2017-01-19 15:57:28 +00:00
Justin Cormack
0ed4af0950 Remove sysctl and sysfs database overrides
These never got an interface on any platform, and I don't think they
ever will, we can increase global limits or you can set something
with a privileged container. Can add back later if required.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-19 15:18:30 +00:00
Riyaz Faizullabhoy
dac622a89e Merge pull request #1058 from justincormack/windowsnet
Split out windowsnet into its own package directory
2017-01-19 15:18:10 +00:00
Justin Cormack
9ba1b27664 Split out windowsnet into its own package directory
This makes it easier to containerise and split per editions configs

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-19 15:02:26 +00:00
Justin Cormack
114a6971e0 Always have database at /Database
Use a bind mount for OSX and Windows for 9p filesystem.

This makes it easier to use a different database source,
and to share database into system containers.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-19 14:34:29 +00:00
Justin Cormack
66348fda2a Update Docker to 1.13.0
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-18 16:14:17 +00:00
Justin Cormack
7cf47d42f4 Use buildmode pie for Go code
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-17 16:03:50 +00:00
Riyaz Faizullabhoy
f8c8c13655 Merge pull request #1021 from justincormack/c-compile
Use docker run to compile C code not docker build
2017-01-16 17:44:47 +00:00
Justin Cormack
ab494d21e0 Clean up go-compile
- remove unused `--docker` option
- neater output for stages of check, build

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-15 19:43:03 +00:00
Justin Cormack
d3abdc6252 Use docker run to compile C code not docker build
C version of #1006

Note that I switched all the C builds to use -O2 and that meant
that the compiler found some more warnings so I also fixed these
up. The possibly undefined ones were harmless, the aliasing one
is now more correct.

As these are small programs, the caching from `docker build` makes
no real difference, and worst case compile time is much better.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-15 15:55:14 +00:00
Justin Cormack
7fde35d381 Merge pull request #1019 from justincormack/alpine-go
Update to golang:1.7-alpine3.5 images
2017-01-15 11:32:00 +00:00
Justin Cormack
50215b9c6c Update to golang:1.7-alpine3.5 images
Now there is an Alpine 3.5 variant of the Go 1.7 images, use this.

fix #972

Note updated the containers/binfmt image as this will be converted
to go-compile shortly, at which point alpine-build-go can be removed.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-14 09:41:12 +00:00
Justin Cormack
3dffd8861d Remove unnecessary file from proxy
Was missed in cleanup in #1006

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-14 09:27:40 +00:00
Justin Cormack
8c1581bc39 Update Docker to 1.13.0-rc7
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-13 21:48:21 +00:00
Justin Cormack
4720fc2af7 Merge pull request #1006 from justincormack/go-compile
Compile Go code with docker run not docker build
2017-01-13 19:15:22 +00:00
Justin Cormack
0915940369 Build OCaml iptables package once and push to hub
As the build requires networking, is non repeatable as dependencies
may change, makes sense to make it a static package for now.

Plan is to rewrite in Go anyway at some point see #467

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-13 16:36:03 +00:00
Justin Cormack
5143cef148 Compile Go code with docker run not docker build
Go code is really fast to compile so we do not really need to use the
cache features of `docker build`. So make a compile container instead.
This can also output a build context and Dockerfile if you want to do
a build.

For reference, an uncached `docker build` of our Go code takes about
7s, a cached one 1.2s, and this takes 1.7s, so the best case is a little
worse, but we save a lot of images, and the worst case is better.

This is mainly designed to make the nested builds for containerd
containers simpler too. Will add a variant for the C code as well.

Also add `-static` to the flags so we always make static executables,
which was omitted previously.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-13 15:49:51 +00:00
Justin Cormack
f419265794 Update Docker engine to 1.13.0-rc6
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-11 22:26:22 +00:00
Nathan LeClaire
412d7693a3 Add label to Azure agent container
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2017-01-10 15:08:52 -08:00
Justin Cormack
0b31c9dc42 Merge pull request #978 from nathanleclaire/collect_system_logs
Collect system container logs for diagnostics
2017-01-10 22:23:50 +00:00
Nathan LeClaire
9c6367de50 Change system container label
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2017-01-10 13:29:47 -08:00
David Gageot
214bce6c1d [GCP] Configure diagnostics server
Signed-off-by: David Gageot <david@gageot.net>
2017-01-10 19:58:34 +01:00
David Gageot
da6c2d945d [GCP] Remove useless stop()
Signed-off-by: David Gageot <david@gageot.net>
2017-01-10 19:58:33 +01:00
David Gageot
a3b842d443 [GCP] Configure ntp server
Signed-off-by: David Gageot <david@gageot.net>
2017-01-10 19:58:31 +01:00
Nathan LeClaire
b88b78e982 Fix streaming API request error
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2017-01-10 10:48:02 -08:00
Nathan LeClaire
7b61a27c69 Begin adding system container log support to diagnostics
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2017-01-10 08:37:37 -08:00
Justin Cormack
f0ad69e24a Merge pull request #975 from nathanleclaire/fix_daemon_avail_check
Fix daemon availability check
2017-01-10 11:42:30 +00:00
Nathan LeClaire
6c0a8ff42c Move daemon ping to use native Go code
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2017-01-09 16:25:15 -08:00
Justin Cormack
2d2b5ae86c Merge pull request #974 from nathanleclaire/check_req
Check request type
2017-01-09 19:42:14 +00:00
Nathan LeClaire
dc64dd5316 Create and chown persistent homedir
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2017-01-09 11:15:46 -08:00
Nathan LeClaire
50ea998400 Check request type in /diagnose
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2017-01-09 11:13:40 -08:00
Nathan LeClaire
1a5347804e Fix faulty daemon availability check
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2017-01-09 10:27:13 -08:00
Nathan LeClaire
2578bf5476 Bump version/digest for 1.13.0-rc5
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2017-01-09 10:17:12 -08:00
Nathan LeClaire
7cc888b810 Add provisions to enable proper restart in Azure
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2017-01-09 10:10:39 -08:00
Justin Cormack
235cb9312a Update opam to current alpine 3.5 base
Use internal solver as external one is broken at present.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-07 00:36:16 +00:00
Justin Cormack
5a06152f98 Update Go build packages to Alpine 3.5
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-05 15:58:16 +00:00
Justin Cormack
16b941fb68 Update docker to 1.13.0-rc5
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-05 09:28:02 +00:00
David Gageot
d36d9b5c1b Ignore non existant startup script (http/404)
Signed-off-by: David Gageot <david@gageot.net>
2017-01-04 17:59:08 +01:00
Justin Cormack
ffbc538f1d Merge pull request #943 from justincormack/bootable
Set bootable flag after partition resize
2017-01-04 16:45:37 +00:00
Justin Cormack
b5e8a5027a Set bootable flag after partition resize
Google Cloud requires this to be set to boot.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-04 15:07:23 +00:00
David Scott
3fad706162 diagnostics: capture the networks and volumes db
This should help diagnose failures like that described in

https://github.com/docker/docker/issues/29636

Signed-off-by: David Scott <dave.scott@docker.com>
2017-01-04 11:52:43 +00:00
Justin Cormack
9cab656fc8 Merge pull request #932 from justincormack/alpine-3.5
Update base images to Alpine 3.5
2016-12-28 19:58:59 +00:00
Justin Cormack
ffe02bef0c Merge pull request #930 from justincormack/docker-master
Add a build flag to build from master
2016-12-28 18:57:38 +00:00
Justin Cormack
76d376f7cc Add a build flag to build from master
This donwloads from master.dockerproject.org and fixes up the
different URL structure.

Use `make DOCKER_VERSION=master`

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-12-28 18:33:29 +00:00
Justin Cormack
00b3924067 Update base images to Alpine 3.5
excludes
- Go base images as not yet available
- perf which does not build with latest image

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-12-28 18:09:08 +00:00